Sicherheitsforschung und Reproduktion von CVE-2025-5548: Ein stack-basierter Pufferüberlauf in FreeFloat FTP Server 1.0. Enthält Binäranalyse, Crash-Replikation und Umgebungseinrichtung für die Sicherheitslückenforschung.
Professionelle Forschung und Exploit-Entwicklung für einen klassischen Stack-basierten Pufferüberlauf im FreeFloat FTP Server 1.0. Dieses Labor zeigt den Übergang von binärem Reverse Engineering zu einer voll funktionsfähigen RCE.
Dieses Repository dokumentiert die Analyse und Ausnutzung von CVE-2025-5548. Während moderne Systeme erweiterte Schutzmaßnahmen besitzen, bleibt die Analyse von Legacy-Software wie FreeFloat FTP ein grundlegendes Element für Sicherheitsforscher.
Die Forschung folgt den Prinzipien des Vortrags "The Path That Leads to Your First CVE", der betont, dass das Reverse Engineering alter Desktop-Anwendungen der realistischste Einstieg für Anfänger auf diesem Gebiet ist.
[Fuzzing] ──► [EIP Control] ──► [Bad Char Analysis] ──► [JMP ESP Gadget] ──► [RCE]
NOOP-Befehls, um eine Speicherkorruption auszulösen.\x00\x0a\x0d), die den Payload zerstören.JMP ESP-Gadgets, um die Ausführung auf einen benutzerdefinierten Metasploit-Shellcode umzuleiten.| Komponente | Betriebssystem / Version | Rolle |
|---|---|---|
| Zielserver | Windows 10/11 (VM) | FreeFloat FTP Server 1.0 |
| Angreifermaschine | Kali Linux / Windows | Exploit-Auslieferung (Python 3) |
| Debugger | Immunity Debugger | Dynamische Analyse & Mona.py |
| Disassembler | IDA Pro 8.4 | Statische Analyse & Reverse Engineering |
Hinweis: Alle Tests wurden in einem isolierten Host-Only-Netzwerksegment durchgeführt.
| Kategorie | Werkzeuge |
|---|---|
| Reverse Engineering | IDA Pro, Immunity Debugger |
| Ausnutzung | Python 3 (Socket), Mona.py, Metasploit (msfvenom) |
| Methodik | Stack-basierter Pufferüberlauf |
| Referenz | TheMalwareGuardian - CVE-2025-5548 |
| Verzeichnis | Inhalt | Status |
|---|---|---|
| 01-Environment | Einrichtungsanleitungen für das Labor und den Debugger. | ✅ Bereit |
| 02-Exploitation | Kernmethodik: Schrittweise Exploit-Entwicklung. | ✅ Bereit |
| Exploits | Vollständige Sammlung von Python-Skripten (von Fuzzing bis Shellcode). | ✅ Bereit |
| 03-Images | Dokumentation von Abstürzen, Offsets und Gadgets. | ✅ Bereit |
Die Schwachstelle existiert, weil der Server Befehle mit unsicheren C-Funktionen (wie strcpy) ohne ordnungsgemäße Längenüberprüfung verarbeitet.
// Simplified representation of the vulnerable handler
char buffer[256];
strcpy(buffer, user_input); // No bounds checking
Wenn eine lange Zeichenkette über den NOOP-Befehl gesendet wird, läuft sie über den lokalen Stack-Puffer über und überschreibt schließlich die gespeicherte Rücksprungadresse. Durch Kontrolle dieser Adresse können wir die CPU umleiten, um unsere eigenen Anweisungen auszuführen.
Besonderer Dank gilt TheMalwareGuardian für seine Forschung zu Legacy-Schwachstellen und seinen pädagogischen Ansatz zur Sicherheitsforschung.