
FreeFloat FTP Server 1.0 における CVE-2025-5548 脆弱性の分析・悪用ラボ
脆弱性の分析・悪用ラボ · Exploit Development · Windows x86
このリポジトリでは、Windows 向け FreeFloat FTP Server 1.0 に存在する スタックベースのバッファオーバーフロー である脆弱性 CVE-2025-5548 の分析・悪用プロセスを完全に文書化しています。
目的は脆弱性を悪用することだけではなく、分析ラボをゼロから構築する方法を説明することにあります。どのツールが必要なのか、なぜ必要なのか、そして悪用プロセス全体でそれぞれをどう使うのかを示します。環境はすべて自動スクリプトを使わずに手動で段階的に構築するため、プロセスの各フェーズを深く理解できます。
CVE-2025-5548 は FreeFloat FTP Server におけるバッファオーバーフローです。
この脆弱性は、FTP サーバーが NOOP コマンドを通じて特別に細工された入力を受け取ったときに発生します。受信したバッファのサイズを検証しないため、スタックをオーバーフローさせ、EIP レジスタを上書きし、攻撃者が制御する任意のコードへ実行フローをリダイレクトすることが可能になります。
CVE-2025-5548-FreeFloat-FTP-Buffer-Overflow/
│
├── docs/
│ ├── 01_environment_setup.md ← Parte 1: Preparación del entorno
│ └── 02_exploitation.md ← Parte 2: Explotación de la vulnerabilidad
│
├── exploits/
│ ├── exploit01.py ← Verificación de conectividad
│ ├── exploit02.py ← Fuzzing del comando NOOP
│ ├── exploit03.py ← Envío del patrón cíclico
│ ├── exploit04.py ← Verificación del control del EIP
│ ├── exploit05.py ← Identificación de bad characters
│ └── exploit06.py ← Exploit final con JMP ESP
│
└── images/
└── *.png ← Capturas utilizadas en la documentación
ラボに必要なすべてのツールの手動インストールと設定。スクリーンショットと、各ツールが必要な理由の説明付き。
📄 ドキュメントを見る → docs/01_environment_setup.md
最初のクラッシュから実行フローの完全な制御まで、悪用プロセス全体を段階ごとに文書化しています。
📄 ドキュメントを見る → docs/02_exploitation.md
graph LR
A["Entrada controlada: NOP + buffer"] --> B["Buffer Overflow"]
B --> C["Sobrescritura de EIP"]
C --> D["EIP → dirección JMP ESP"]
D --> E["JMP ESP"]
E --> F["ESP → buffer controlado"]
F --> G["NOP sled"]
G --> H["Shellcode"]
Entrada controlada (NOOP + buffer)
↓
Buffer Overflow
↓
Sobrescritura de EIP
↓
EIP → dirección de JMP ESP
↓
JMP ESP
↓
ESP → buffer controlado
↓
NOP sled
↓
Shellcode
このラボはエクスプロイトを実行することに焦点を当てているのではなく、 脆弱性の分析と悪用のプロセス全体を理解することに焦点を当てています。
このリポジトリは教育目的専用です。すべての分析と悪用は、管理・隔離された環境内の脆弱なソフトウェアに対して行われます。明示的な許可なくこれらのテクニックをシステムに使用しないでください。
| フィールド | 詳細 |
|---|
| CVE | CVE-2025-5548 |
| 公開日 | 03/06/2025 |
| 深刻度 | 重大 |
| 種別 | Stack-based Buffer Overflow |
| 影響を受けるコンポーネント | NOOP Command Handler |
| 影響を受けるソフトウェア | FreeFloat FTP Server 1.0 |
| プラットフォーム | Windows x86 |
| 攻撃ベクトル | ネットワーク(リモートアクセス) |
| EIP までのオフセット | 246 bytes |
| Bad characters | \x00 \x0a \x0d |
| JMP ESP アドレス | 0x7C86467B (kernel32.dll) |
| カテゴリ | ツール |
|---|
| 言語 | Python, Java (JDK) |
| IDE・エディタ | Visual Studio Code, Notepad++, PyCharm |
| 解析・デバッグ | IDA Free, Immunity Debugger, Ghidra |
| エクスプロイト | Mona (Immunity 用プラグイン) |
| 脆弱なアプリケーション | VulnServer, FreeFloat FTP Server |
| ネットワーク・ユーティリティ | Nmap / Ncat, Git |
| フェーズ | 説明 |
|---|
| 1 | 悪用環境の準備 |
| 2 | IDA によるバイナリの静的解析 |
| 3 | NOOP コマンドのファジング |
| 4 | Mona によるオフセットの計算(246 bytes) |
| 5 | Bad characters の特定(\x00, \x0a, \x0d) |
| 6 | JMP ESP による実行フローのリダイレクト |