
FreeFloat FTP Serverのバッファオーバーフローを悪用するためのステップバイステップガイド。Pythonによるファジング、mona.pyを備えたImmunity Debugger、そしてバイナリ解析とペイロード開発のためのIDA Freeを使用します。
対象プラットフォーム: Windows
このガイドでは、バイナリの脆弱性分析とファジングを実行するために必要なすべてのツールについて詳しく説明します。すべてが正しくセットアップされるよう、手順を順番に実行してください。
ダウンロード: python.org/downloads/windows
Python 3は、ファジングスクリプトを書くために使用する言語です。そのシンプルさと豊富なエコシステムにより、ターゲットバイナリへのペイロード送信の自動化、ネットワーク接続の処理、レスポンスの処理に最適です。
インストール: リンクから .exe インストーラをダウンロードして実行します。インストール中に、✅ "Python を PATH に追加" にチェックを入れてください。入れないと、ターミナルから python を呼び出せなくなります。
ダウンロード: github.com/kbandla/ImmunityDebugger
Immunity Debugger は、セキュリティ分析とエクスプロイト研究に特化したプロセスレベルデバッガです。プログラムの実行中にレジスタ、メモリ、スタック、ヒープをリアルタイムで検査できます。これは、バッファオーバーフローを特定して検証するためにまさに必要な機能です。
⚠️ 注意: Immunity Debugger は開発が終了しており、公式サイトは利用できなくなっています。しかしながら、mona.py プラグインとの統合、低リソース使用、32ビット Windows システムでのエクスプロイト解析のための直感的なインターフェースにより、セキュリティコミュニティや学術環境で今も広く使用されています。参照先の GitHub リポジトリには、元々配布されていたインストーラバイナリが含まれています。
インストール: リポジトリをクローンします。実行ファイルは ImmunityDebugger\1.85\ImmunityDebugger.exe にあり、インストールは不要です。
ダウンロード: python.org/download/releases/2.7
Immunity Debugger のスクリプトエンジンは Python 2.7 上に構築されているため、ツールを正しく機能させるには、特に mona プラグインを実行するには、このバージョンが必須です。
ℹ️ Python 2.7 と Python 3 は同じシステム上で問題なく共存できます。PATH では Python 3 がプライマリバージョンのままになるようにしてください。
インストール: インストーラをダウンロードして実行します。Python 3 がすでに設定されている場合、PATH に追加する必要はありません。
ダウンロード: github.com/corelan/mona
mona.py は、Corelan Team によって開発された Immunity Debugger の代表的なプラグインです。エクスプロイト開発で最も退屈な部分を自動化します。
pattern_create、pattern_offset)JMP ESP などの有用な命令の位置特定インストール:
mona.py ファイルを Immunity のコマンドディレクトリにコピーします:ImmunityDebugger\1.85\PyCommands\mona.py
コピー後、Immunity のコマンドバーから次のように呼び出せます:
!mona help
ダウンロード: code.visualstudio.com
🟡 任意 — ただし強く推奨されます。
VS Code は、Python ファジングスクリプトを作成するためのエディタです。シンタックスハイライト、インテリジェントな自動補完、統合ターミナル、拡張機能サポートを備え、ワークフローの効率を大幅に向上させます。
推奨拡張機能: Python — Microsoft
IntelliSense、リンティング、統合デバッグ、Python インタープリタの選択を VS Code 内で直接提供します。インストール後、エディタの下部バーから正しいインタープリタ(Python 3)を選択してください。
ダウンロード: hex-rays.com → ダウンロード セクション → IDA Free
IDA(Interactive DisAssembler)は、バイナリリバースエンジニアリングの業界標準です。無料版(IDA Free)はこの分析には十分すぎるほどです。ターゲット実行ファイルの逆アセンブル、関数の参照、strcpy や gets などの危険な呼び出しの特定、ソースコードにアクセスせずにプログラムの流れを理解することができます。
🔐 ライセンス: 個人向けの非商用バージョンは完全に無料です。有効なメールアドレスでの登録のみが必要です。インストーラとライセンスはHex-Rays Customer Portalからダウンロードします。
インストール:
Customer Portal から .exe インストーラをダウンロードし、ウィザードの手順に従って実行します。
インストール後、ウィザードはライセンスファイル(.hexlic)を次のパスに配置する必要があることを示します:
%APPDATA%\Hex-Rays\IDA Pro\
.hexlic ファイルをダウンロードし、その場所にコピーします。次回 IDA を起動すると、ライセンスが自動的にアクティベートされます。✅対象バイナリは FreeFloat FTP Server v1.0 です。これは Windows 向けの軽量 FTP サーバです。セキュリティコミュニティで既知かつ十分に文書化された脆弱性を持つソフトウェアであり、管理された環境でバッファオーバーフロー技術を練習するための定番ターゲットです。
📦 実行ファイルはこの同じリポジトリ内にあります: FreeFloatFtpServer1.0.zip
zip ファイルを解凍すると Win32/FTPServer.exe が得られます。これが分析全体で使用するバイナリです。
ハッピーハッキング! 🎯