
CVE-2025-5548 のセキュリティ調査と再現: FreeFloat FTP Server 1.0 におけるスタックベースのバッファオーバーフロー。バイナリ解析、クラッシュ再現、脆弱性調査のための環境構築を含みます。
FreeFloat FTP Server 1.0 における古典的なスタックベースのバッファオーバーフローに対するプロフェッショナルな研究とエクスプロイト開発です。 このラボは、バイナリリバーシングから完全に機能する RCE への移行を示しています。
このリポジトリは、CVE-2025-5548 の分析と悪用を文書化しています。最新のシステムには高度な保護機構がありますが、FreeFloat FTP のようなレガシーソフトウェアの解析は、脆弱性研究者にとって今なお基礎となる柱です。
この研究は、講演 "The Path That Leads to Your First CVE" で議論された原則に従っており、古いデスクトップアプリケーションのリバースエンジニアリングが、この分野の初心者にとって最も現実的な入り口であることを強調しています。
[ファジング] ──► [EIP 制御] ──► [バッドキャラクタ分析] ──► [JMP ESP ガジェット] ──► [RCE]
NOOP コマンドのファジング。\x00\x0a\x0d)を特定し除外。JMP ESP ガジェットを使用して、カスタム Metasploit シェルコードに実行をリダイレクト。注記: すべてのテストは、隔離されたホストオンリーネットワークセグメントで実施しました。
| カテゴリ | ツール |
|---|
この脆弱性は、サーバーがコマンドを処理する際に、適切な長さ検証を行わずに安全でない C 関数(strcpy など)を使用しているために存在します。
// Simplified representation of the vulnerable handler
char buffer[256];
strcpy(buffer, user_input); // No bounds checking
NOOP コマンドを介して長い文字列が送信されると、ローカルのスタックバッファがオーバーフローし、最終的に保存された戻りアドレスが上書きされます。このアドレスを制御することで、CPU をリダイレクトして独自の命令を実行させることができます。
レガシー脆弱性に関する研究と、脆弱性研究に対する教育的なアプローチについて、TheMalwareGuardian に特別に感謝します。
| Component | OS / Version | Role |
|---|
| 対象サーバー | Windows 10/11 (VM) | FreeFloat FTP Server 1.0 |
| 攻撃マシン | Kali Linux / Windows | エクスプロイト配信(Python 3) |
| デバッガ | Immunity Debugger | 動的解析と Mona.py |
| 逆アセンブラ | IDA Pro 8.4 | 静的解析とリバーシング |
| リバーシング | IDA Pro, Immunity Debugger |
| エクスプロイト | Python 3 (Socket), Mona.py, Metasploit (msfvenom) |
| 手法 | スタックベースのバッファオーバーフロー |
| 参考 | TheMalwareGuardian - CVE-2025-5548 |
| ディレクトリ | 内容 | ステータス |
|---|
| 01-Environment | ラボとデバッガのセットアップ手順。 | ✅ Ready |
| 02-Exploitation | 中核となる方法論: ステップバイステップのエクスプロイト開発。 | ✅ Ready |
| Exploits | Python スクリプトの完全な一式(ファジングからシェルコードまで)。 | ✅ Ready |
| 03-Images | クラッシュ、オフセット、ガジェットのドキュメント。 | ✅ Ready |