Labor zur Analyse und Ausnutzung der Schwachstelle CVE-2025-5548 in FreeFloat FTP Server 1.0
Labor für Analyse und Exploit-Entwicklung · Exploit Development · Windows x86
Dieses Repository dokumentiert vollständig den Prozess der Analyse und Ausnutzung der Sicherheitslücke CVE-2025-5548, eines Stack-basierten Buffer Overflows in FreeFloat FTP Server 1.0 für Windows.
Das Ziel ist nicht nur, die Sicherheitslücke auszunutzen, sondern zu erklären, wie ein Analyse-Labor von Grund auf aufgebaut wird: welche Werkzeuge benötigt werden, warum sie benötigt werden und wie jedes einzelne im Laufe des Exploit-Prozesses verwendet wird. Die gesamte Umgebung wird manuell und Schritt für Schritt ohne automatisierte Skripte eingerichtet, was ein tiefes Verständnis jeder Phase des Prozesses ermöglicht.
CVE-2025-5548 ist ein Buffer Overflow in FreeFloat FTP Server.
| Feld | Detail |
|---|---|
| CVE | CVE-2025-5548 |
| Veröffentlicht | 03/06/2025 |
| Schweregrad | Kritisch |
| Typ | Stack-based Buffer Overflow |
| Betroffene Komponente | NOOP Command Handler |
| Betroffene Software | FreeFloat FTP Server 1.0 |
| Plattform | Windows x86 |
| Angriffsvektor | Netzwerk (Remote-Zugriff) |
| Offset bis EIP | 246 Bytes |
| Bad Characters | \x00 \x0a \x0d |
| JMP ESP-Adresse | 0x7C86467B (kernel32.dll) |
Die Sicherheitslücke tritt auf, wenn der FTP-Server eine speziell gestaltete Eingabe über den Befehl NOOP erhält. Da die Größe des empfangenen Puffers nicht validiert wird, kann der Stack überlaufen, das EIP-Register überschrieben und der Ausführungsfluss zu beliebigem, vom Angreifer kontrollierten Code umgeleitet werden.
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
Manuelle Installation und Konfiguration aller für das Labor benötigten Werkzeuge, mit Screenshots und Erklärung, warum jedes benötigt wird.
| Kategorie | Werkzeuge |
|---|---|
| Sprachen | Python, Java (JDK) |
| IDEs und Editoren | Visual Studio Code, Notepad++, PyCharm |
| Analyse und Debugging | IDA Free, Immunity Debugger, Ghidra |
| Exploitation | Mona (Plugin für Immunity) |
| Verwundbare Anwendungen | VulnServer, FreeFloat FTP Server |
| Netzwerk und Dienstprogramme | Nmap / Ncat, Git |
Vollständiger Exploit-Prozess, Phase für Phase dokumentiert, vom ersten Absturz bis zur vollständigen Kontrolle des Ausführungsflusses.
| Phase | Beschreibung |
|---|---|
| 1 | Vorbereitung der Exploit-Umgebung |
| 2 | Statische Analyse der Binärdatei mit IDA |
| 3 | Fuzzing des NOOP-Befehls |
| 4 | Berechnung des Offsets mit Mona (246 Bytes) |
| 5 | Identifizierung der Bad Characters (\x00, \x0a, \x0d) |
| 6 | Umleitung des Ausführungsflusses mittels JMP ESP |
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
Dieses Labor konzentriert sich nicht nur auf die Ausführung eines Exploits, sondern auf das Verständnis des gesamten Prozesses der Analyse und Ausnutzung von Sicherheitslücken.
Dieses Repository dient ausschließlich Bildungszwecken. Die gesamte Analyse und Ausnutzung erfolgt auf verwundbarer Software in einer kontrollierten und isolierten Umgebung. Verwenden Sie diese Techniken nicht gegen Systeme ohne ausdrückliche Genehmigung.