
Strukturiertes Labor zur kontrollierten Ausnutzung von CVE-2025-5548 (FreeFloat FTP-Server). Enthält Umgebungseinrichtung, Fuzzing, EIP-Steuerung, Erkennung von Badchars, JMP-ESP-Umleitung und endgültige Shellcode-Übergabe über Python-Skripte.
Labor-Repository, das auf die kontrollierte Ausnutzung von CVE-2025-5548 in FreeFloat FTP Server in einer Windows-Umgebung und in einer isolierten VM ausgerichtet ist.
Das Projekt ist in zwei Blöcke unterteilt:
Environment/: Vorbereitung der Umgebung (Tools, IDEs, Debugger, Disassembler und anfällige Apps).Exploit/: Praktische Methodik und Skripte für eine vollständige Exploit-Kette des FTP-Vektors (MKD), der mit dem CVE-Szenario verbunden ist.Eine reproduzierbare Exploit-Kette aufbauen, validieren und dokumentieren, die Folgendes abdeckt:
JMP ESP.M6/
├── README.md
├── Environment/
│ ├── 01-requirements/
│ │ └── requirements.md
│ ├── 02-programming-environment/
│ │ ├── git.md
│ │ ├── java-jdk.md
│ │ ├── netcat.md
│ │ └── python3.md
│ ├── 03-ides/
│ │ ├── notepad++.md
│ │ ├── pycharm.md
│ │ └── vscode.md
│ ├── 04-debuggers/
│ │ └── immunity-debugger.md
│ ├── 05-disassemblers/
│ │ ├── ghidra.md
│ │ └── ida-free.md
│ ├── 06-exploit-development/
│ │ └── mona-immunity.md
│ ├── 07-vulnerable-applications/
│ │ ├── freefloatftpserver.md
│ │ └── vulnserver.md
│ └── images/
│ └── README.md
└── Exploit/
├── metodologia-analisis.md
├── Scripts/
│ ├── 01_check_connection.py
│ ├── 02_fuzz_trun.py
│ ├── 03_send_pattern.py
│ ├── 04_verify_eip_control.py
│ ├── 05_send_badchars.py
│ ├── 06_test_jmp_esp.py
│ └── 07_final_payload.py
└── images/
Vollständige Methodik: metodologia-analisis.md
Aktuelle Skripte:
01_check_connection.py: validiert Konnektivität und Service-Banner.02_fuzz_trun.py: inkrementelles Fuzzing des MKD-Befehls.03_send_pattern.py: Senden eines zyklischen Musters, das von Mona generiert wurde.04_verify_eip_control.py: Validierung der EIP-Kontrolle (BBBB).05_send_badchars.py: Senden von bytearray.bin zur Erkennung von Badchars.06_test_jmp_esp.py: Test des Rücksprungs mit JMP ESP-Adresse.07_final_payload.py: Senden der finalen Payload mit Shellcode.127.0.0.1:21.Dieses Labor ist für technisches Lernen, Validierung von Kontrollen und autorisierte Tests in der eigenen Umgebung konzipiert. Es darf nicht auf Systemen ohne ausdrückliche Genehmigung verwendet werden.
Vom Stammverzeichnis des Repos aus:
cd Exploit
python .\Scripts\01_check_connection.py
python .\Scripts\02_fuzz_trun.py
python .\Scripts\03_send_pattern.py
python .\Scripts\04_verify_eip_control.py
python .\Scripts\05_send_badchars.py
python .\Scripts\06_test_jmp_esp.py
python .\Scripts\07_final_payload.py
Hinweis: Für 03_send_pattern.py und 05_send_badchars.py musst du Mona konfiguriert haben und die Dateien in C:\mona\.
| Block | Ressource |
|---|
| Anforderungen | requirements.md |
| Programmierung | git.md, java-jdk.md, netcat.md, python3.md |
| IDEs | notepad++.md, pycharm.md, vscode.md |
| Debugger | immunity-debugger.md |
| Disassembler | ghidra.md, ida-free.md |
| Exploit-Tools | mona-immunity.md |
| Anfällige Apps | freefloatftpserver.md, vulnserver.md |