hacktricks/binary-exploitation/common-binary-protections-and-bypasses
2024-08-12 13:17:58 +00:00
..
aslr Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:48:22 +00:00
pie Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:48:22 +00:00
stack-canaries Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:48:22 +00:00
cet-and-shadow-stack.md Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:48:22 +00:00
libc-protections.md Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:48:22 +00:00
memory-tagging-extension-mte.md Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:48:22 +00:00
no-exec-nx.md Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:48:22 +00:00
README.md Translated ['README.md', 'backdoors/salseo.md', 'binary-exploitation/arb 2024-07-18 17:48:22 +00:00
relro.md Translated ['binary-exploitation/common-binary-protections-and-bypasses/ 2024-08-12 13:17:58 +00:00

一般的なバイナリエクスプロイテーション保護と回避方法

{% hint style="success" %} AWSハッキングの学習と練習:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングの学習と練習: HackTricks Training GCP Red Team Expert (GRTE)

HackTricksのサポート
{% endhint %}

コアファイルの有効化

コアファイルは、プロセスがクラッシュしたときにオペレーティングシステムによって生成されるファイルの一種です。これらのファイルは、クラッシュしたプロセスのメモリイメージ、レジスタ、プログラムカウンタの状態など、終了時のプロセスの詳細をキャプチャします。このスナップショットは、デバッグやクラッシュの原因を理解するために非常に貴重です。

コアダンプの生成を有効にする

デフォルトでは、多くのシステムはコアファイルのサイズを0に制限していますつまり、コアファイルを生成しませんが、ディスクスペースを節約するためです。コアファイルの生成を有効にするには、**ulimit**コマンドbashや類似のシェルでを使用するか、システム全体の設定を構成できます。

  • ulimitを使用する: ulimit -c unlimitedコマンドは、現在のシェルセッションが無制限のサイズのコアファイルを作成できるようにします。これはデバッグセッションに便利ですが、再起動や新しいセッションで永続的ではありません。
ulimit -c unlimited
  • 永続的な構成:より永続的な解決策として、/etc/security/limits.conf ファイルを編集して、* soft core unlimited のような行を追加することができます。これにより、すべてのユーザーがセッションで ulimit を手動で設定する必要なく、無制限のサイズのコアファイルを生成できます。
* soft core unlimited

GDBを使用したコアファイルの解析

コアファイルを解析するには、GDBGNUデバッガーのようなデバッグツールを使用できます。コアダンプを生成した実行可能ファイルがあり、コアファイルの名前がcore_fileであると仮定すると、次のように解析を開始できます:

gdb /path/to/executable /path/to/core_file

このコマンドは、実行可能ファイルとコアファイルをGDBに読み込み、クラッシュ発生時のプログラムの状態を調査することができます。GDBコマンドを使用してスタックを調査し、変数を調べ、クラッシュの原因を理解することができます。