Common Binary Exploitation Protections & Bypasses
Last updated
Last updated
AWSハッキングの学習と練習:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングの学習と練習: HackTricks Training GCP Red Team Expert (GRTE)
コアファイルは、プロセスがクラッシュしたときにオペレーティングシステムによって生成されるファイルの一種です。これらのファイルは、クラッシュしたプロセスのメモリイメージ、レジスタ、プログラムカウンタの状態など、終了時のプロセスの詳細をキャプチャします。このスナップショットは、デバッグやクラッシュの原因を理解するために非常に貴重です。
デフォルトでは、多くのシステムはコアファイルのサイズを0に制限しています(つまり、コアファイルを生成しません)が、ディスクスペースを節約するためです。コアファイルの生成を有効にするには、**ulimit
**コマンド(bashや類似のシェルで)を使用するか、システム全体の設定を構成できます。
ulimitを使用する: ulimit -c unlimited
コマンドは、現在のシェルセッションが無制限のサイズのコアファイルを作成できるようにします。これはデバッグセッションに便利ですが、再起動や新しいセッションで永続的ではありません。
永続的な構成:より永続的な解決策として、/etc/security/limits.conf
ファイルを編集して、* soft core unlimited
のような行を追加することができます。これにより、すべてのユーザーがセッションで ulimit を手動で設定する必要なく、無制限のサイズのコアファイルを生成できます。
コアファイルを解析するには、GDB(GNUデバッガー)のようなデバッグツールを使用できます。コアダンプを生成した実行可能ファイルがあり、コアファイルの名前がcore_file
であると仮定すると、次のように解析を開始できます:
このコマンドは、実行可能ファイルとコアファイルをGDBに読み込み、クラッシュ発生時のプログラムの状態を調査することができます。GDBコマンドを使用してスタックを調査し、変数を調べ、クラッシュの原因を理解することができます。