🧪 FreeFloat FTP サーバーバッファオーバーフローラボ (CVE-2025-5548)

📌 説明
このラボでは、CVE-2025-5548 として識別された FreeFloat FTP サーバー の スタックバッファオーバーフロー 脆弱性を悪用する方法を示します。
目的は、脆弱な Windows アプリケーションにおける完全なエクスプロイトプロセスを理解することです。これには以下が含まれます:
- サービスのファジング
- EIP のオフセット特定
- 実行フローの制御
- 不正文字 の特定
- JMP ESP 命令の特定
- シェルコード の生成
- 機能するエクスプロイト の開発
このラボは、メモリエクスプロイトの古典的なテクニックを学ぶための 教育目的 で設計されています。
🎯 ラボの目的
このラボでは以下のことを学びます:
- 脆弱なサービスの分析
- 制御されたクラッシュ の誘発
- EIP の正確なオフセット の発見
- 実行フローの制御
- 不正文字 の特定
- メモリ内のガジェットの発見
- msfvenom によるシェルコード の生成
- Python でのエクスプロイト の構築
🖥️ ラボ環境
ラボは以下のツールを使用して制御された環境で実施されます:
被害マシン
- Windows 7 / Windows XP
- FreeFloat FTP Server
- Immunity Debugger
- Mona.py
攻撃マシン
- Kali Linux
- Python 3
- Metasploit Framework
- Netcat
🧰 使用ツール
- Immunity Debugger
- Mona.py
- Metasploit Framework
- msfvenom
- Python sockets
- Netcat
📂 ラボの構造
FreeFloat-BOF-Lab/
│
├── exploit/
│ ├── fuzz.py
│ ├── offset.py
│ ├── badchars.py
│ └── exploit.py
│
├── methodology/
│ └── exploitation_methodology.md
│
├── screenshots/
│
└── README.md
🔬 方法論
エクスプロイトは以下の手順で進めます:
- ファジング
- EIP のオフセットを見つける
- EIP を制御する
- 不正文字を特定する
- JMP ESP を見つける
- シェルコードを生成する
- エクスプロイトを実行する
完全な説明はこちらで確認できます:
methodology/exploitation_methodology.md
🚀 エクスプロイトの実行
リバース接続を待機:
nc -lvnp 443
エクスプロイトを実行:
python exploit.py
📚 学んだ概念
- スタックバッファオーバーフロー
- EIP レジスタの制御
- シェルコード
- 不正文字
- JMP ESP
- Windows でのデバッグ
- エクスプロイトの開発