
Schritt-für-Schritt-Anleitung zur Ausnutzung eines Pufferüberlaufs im FreeFloat FTP Server unter Verwendung von Python-Fuzzing, Immunity Debugger mit mona.py und IDA Free für Binäranalyse und Payload-Entwicklung.
Zielplattform: Windows
Diese Anleitung beschreibt alle erforderlichen Tools zur Durchführung von Schwachstellenanalyse und Fuzzing der Binärdatei. Befolgen Sie die Schritte in der angegebenen Reihenfolge, um sicherzustellen, dass alles korrekt eingerichtet ist.
Download: python.org/downloads/windows
Python 3 ist die Sprache, die wir zum Schreiben von Fuzzing-Skripten verwenden werden. Seine Einfachheit und sein reichhaltiges Ökosystem machen es ideal, um die Zustellung von Payloads an die Zielbinärdatei zu automatisieren, Netzwerkverbindungen zu verwalten und Antworten zu verarbeiten.
Installation: Laden Sie den .exe-Installer vom Link herunter und führen Sie ihn aus. Stellen Sie während der Installation sicher, dass ✅ "Add Python to PATH" aktiviert ist – andernfalls können Sie python nicht vom Terminal aus aufrufen.
Download: github.com/kbandla/ImmunityDebugger
Immunity Debugger ist ein Debugger auf Prozessebene, der speziell für Sicherheitsanalysen und Exploit-Forschung entwickelt wurde. Es ermöglicht die Echtzeit-Inspektion von Registern, Speicher, Stack und Heap während der Programmausführung – genau das, was wir benötigen, um einen Pufferüberlauf zu identifizieren und zu verifizieren.
⚠️ Hinweis: Immunity Debugger wurde eingestellt und seine offizielle Website ist nicht mehr verfügbar. Es wird jedoch aufgrund seiner Integration mit dem mona.py-Plugin, des geringen Ressourcenverbrauchs und der intuitiven Oberfläche für Exploit-Analysen auf 32-Bit-Windows-Systemen weiterhin häufig in der Sicherheits-Community und in akademischen Umgebungen verwendet. Das referenzierte GitHub-Repository enthält das Installationsprogramm in der ursprünglichen Verteilung.
Installation: Klonen Sie das Repository. Die ausführbare Datei befindet sich unter ImmunityDebugger\1.85\ImmunityDebugger.exe und erfordert keine Installation.
Download: python.org/download/releases/2.7
Die Skript-Engine von Immunity Debugger basiert auf Python 2.7, was diese Version zu einer strengen Voraussetzung für die ordnungsgemäße Funktion des Tools macht – insbesondere für die Ausführung des mona-Plugins.
ℹ️ Python 2.7 und Python 3 können ohne Probleme auf demselben System nebeneinander existieren. Stellen Sie einfach sicher, dass Python 3 die primäre Version in Ihrem PATH bleibt.
Installation: Laden Sie den Installer herunter und führen Sie ihn aus. Es ist nicht erforderlich, ihn zu PATH hinzuzufügen, wenn Python 3 bereits konfiguriert ist.
Download: github.com/corelan/mona
mona.py ist das Flaggschiff-Plugin für Immunity Debugger, entwickelt vom Corelan Team. Es automatisiert die mühsamsten Teile der Exploit-Entwicklung:
pattern_create, pattern_offset)JMP ESPInstallation:
mona.py in das Immunity-Befehlsverzeichnis:ImmunityDebugger\1.85\PyCommands\mona.py
Nach dem Kopieren können Sie es aus der Immunity-Befehlsleiste mit:
!mona help
aufrufen.
Download: code.visualstudio.com
🟡 Optional – aber sehr empfehlenswert.
VS Code ist der Editor, in dem wir unsere Python-Fuzzing-Skripte schreiben werden. Er bietet Syntaxhervorhebung, intelligente Autovervollständigung, ein integriertes Terminal und Erweiterungsunterstützung, die die Arbeitseffizienz erheblich verbessern.
Empfohlene Erweiterung: Python – Microsoft
Sie bietet IntelliSense, Linting, integriertes Debugging und Python-Interpreter-Auswahl direkt in VS Code. Nach der Installation stellen Sie sicher, dass Sie den richtigen Interpreter (Python 3) in der unteren Leiste des Editors auswählen.
Download: hex-rays.com → Bereich Downloads → IDA Free
IDA (Interactive DisAssembler) ist der Branchenstandard für Reverse Engineering von Binärdateien. Die kostenlose Version (IDA Free) ist für diese Analyse mehr als ausreichend: Sie ermöglicht es, die Zielausführbare zu disassemblieren, ihre Funktionen zu navigieren, gefährliche Aufrufe wie strcpy oder gets zu identifizieren und den Programmablauf ohne Zugriff auf den Quellcode zu verstehen.
🔐 Lizenz: Die individuelle, nicht-kommerzielle Version ist völlig kostenlos. Sie erfordert lediglich eine Registrierung mit einer gültigen E-Mail-Adresse. Der Installer und die Lizenz werden über das Hex-Rays Customer Portal heruntergeladen.
Installation:
Laden Sie den .exe-Installer aus dem Kundenportal herunter und führen Sie ihn gemäß den Assistentenschritten aus.
Nach der Installation zeigt der Assistent an, dass Sie die Lizenzdatei (.hexlic) im folgenden Pfad platzieren müssen:
%APPDATA%\Hex-Rays\IDA Pro\
.hexlic-Datei aus dem Bereich Lizenzen des Kundenportals herunter und kopieren Sie sie an diesen Speicherort. Beim nächsten Start von IDA wird die Lizenz automatisch aktiviert. ✅Die Zielbinärdatei ist FreeFloat FTP Server v1.0, ein leichtgewichtiger FTP-Server für Windows. Es handelt sich um eine Software mit bekannten und gut dokumentierten Schwachstellen in der Sicherheits-Community, was sie zu einem klassischen Ziel für das Üben von Pufferüberlauf-Techniken in kontrollierten Umgebungen macht.
📦 Die ausführbare Datei ist in diesem Repository verfügbar: FreeFloatFtpServer1.0.zip
Extrahieren Sie die ZIP-Datei, um Win32/FTPServer.exe zu erhalten, die Binärdatei, die wir während der gesamten Analyse verwenden werden.
Weiter in 02 Vulnerability →
Happy Hacking! 🎯