
CTFチャレンジ向けの自動ret2winエクスプロイトツール。スタックオフセットの検出、ペイロード生成、リモートエクスプロイト対応、x86バイナリ用GDBデバッグのアタッチをサポート。
____ ________ __________ __
/ __ \_ ______ / ____/ /_/ __/_ __/___ ____ / /
/ /_/ / | /| / / __ \/ / / __/ /_ / / / __ \/ __ \/ /
/ ____/| |/ |/ / / / / /___/ /_/ __/ / / /_/ / /_/ / /
/_/ |__/|__/_/ /_/\____/\__/_/ /_/ \____/\____/_/
By: DiegoAltF4 and Dbd4
ローカルとリモート(IPとポートを指定)の両方で使用できます。スタックに保存されたInstruction Pointerへのオフセットを自動的に見つけます。
さらに、シェルを返すように設定することもできます。デフォルトでは、接続によって受信したデータ(可能性のあるフラグ)を出力します。
また、スタック内の命令ポインタへのオフセットを表示でき、x86アーキテクチャ(32ビットおよび64ビット)をサポートし、GDBを使用してエクスプロイトをデバッグするためにも使用できます。
| パラメータ | 説明 |
|---|---|
| -f | 悪用するバイナリを指定します(必須パラメータ)。 |
| -t | ジャンプしたいターゲット関数を指定します(必須パラメータ)。 |
| -v | 詳細情報モードを指定します。 |
| -vv | 最大の詳細度、デバッグモードを指定します。 |
| -g | デバッグ目的でGDBをアタッチできるようにします。 |
| --offset | Instruction Pointerへのオフセットを表示します。 |
| --shell | 悪用後に対話型セッションを維持できるようにします。 |
| --remote | リモートサーバー上で悪用できるようにします。 |
| --before | ペイロードの前にファイルからコンテンツを追加できるようにします。 |
| --after | ペイロードの後にファイルからコンテンツを追加できるようにします。 |
./PwnCtfTool.py -f vuln.bin -t flag_func
このパートでは、例を交えてツールのさまざまな使用方法を説明します。脆弱なバイナリのリストをアップロードしており、ツールに新しいオプションを追加するたびにこのリストを更新します。 情報を見つけやすくするために、バイナリを悪用できる最終コマンドで使用したパラメータを示します。さらに、💣絵文字を使用してチャレンジの難易度を分類します。爆弾1つは非常に簡単、爆弾5つは難易度が非常に高いことを示します。 各チャレンジには、解決方法に至るまでの詳細を説明した小さなwriteupを含めています。
-f-t--shell--offsetパラメータを使用
詳細な説明はwriteupをご覧ください:
最終コマンド:
python3 ../../PwnCtfTool.py -f ./vuln1 -t win --shell --offset
-f-t--before--shellパラメータを使用
詳細な説明はwriteupをご覧ください:
最終コマンド:
python3 ../../PwnCtfTool.py --before before2.txt -f vuln2 -t rce --shell
git clone https://github.com/Diego-AltF4/PwnCtfTool.git
cd ./PwnCtfTool
pip3 install -r requirements.txt
chmod +x PwnCtfTool.py
./PwnCtfTool.py
作成者:DiegoAltF4 および Dbd4