hacktricks/binary-exploitation/common-binary-protections-and-bypasses
2024-04-07 22:24:46 +00:00
..
aslr Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-04-07 02:35:43 +00:00
pie Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-04-07 02:35:43 +00:00
stack-canaries Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-04-07 22:24:46 +00:00
cet-and-shadow-stack.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-04-07 02:35:43 +00:00
memory-tagging-extension-mte.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-04-07 02:35:43 +00:00
no-exec-nx.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-04-07 02:35:43 +00:00
README.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-04-07 02:35:43 +00:00
relro.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-04-07 02:35:43 +00:00

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

htARTEHackTricks AWS Red Team Expertを使用して、ゼロからヒーローまでAWSハッキングを学びましょう

HackTricksをサポートする他の方法

コアファイルの有効化

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

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

デフォルトでは、多くのシステムはコアファイルのサイズを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コマンドを使用してスタックを調査し、変数を調べ、クラッシュの原因を理解することができます。