
Automatisiertes ret2win-Exploit-Tool für CTF-Challenges. Findet den Stack-Offset, generiert Payloads, unterstützt Remote-Exploitation und hängt GDB zum Debuggen von x86-Binärdateien an.
____ ________ __________ __
/ __ \_ ______ / ____/ /_/ __/_ __/___ ____ / /
/ /_/ / | /| / / __ \/ / / __/ /_ / / / __ \/ __ \/ /
/ ____/ |/ |/ / / / / /___/ /_/ __/ / / / /_/ / /_/ / /
/_/ |__/|__/_/ /_/\____/\__/_/ /_/ \____/\____/_/
Von: DiegoAltF4 und Dbd4
Es kann sowohl lokal als auch remote verwendet werden (Angabe von IP und Port). Es ermittelt automatisch den Offset zum Instruction Pointer, der auf dem Stack gespeichert ist.
Darüber hinaus kann es so konfiguriert werden, dass es eine Shell zurückgibt. Standardmäßig werden die von der Verbindung empfangenen Daten ausgegeben (mögliche Flag).
Es ermöglicht auch die Anzeige des Offsets zum Instruction Pointer im Stack und unterstützt die x86-Architektur sowohl in 32-Bit als auch in 64-Bit und kann zum Debuggen des Exploits mit GDB verwendet werden.
| Parameter | Information |
|---|---|
| -f | gibt die auszubeutende Binärdatei an (obligatorischer Parameter). |
| -t | gibt die Zielfunktion an, auf die wir springen wollen (obligatorischer Parameter). |
| -v | gibt den ausführlichen Informationsmodus an. |
| -vv | gibt den maximalen Ausführlichkeitswert an, Debug-Modus. |
| -g | ermöglicht das Anhängen von GDB zu Debugzwecken. |
| --offset | gibt den Offset zum Instruction Pointer aus. |
| --shell | ermöglicht die Aufrechterhaltung einer interaktiven Sitzung nach der Ausnutzung. |
| --remote | ermöglicht die Ausnutzung auf einem entfernten Server. |
| --before | ermöglicht das Hinzufügen von Inhalten aus einer Datei vor dem Payload. |
| --after | ermöglicht das Hinzufügen von Inhalten aus einer Datei nach dem Payload. |
./PwnCtfTool.py -f vuln.bin -t flag_func
In diesem Teil erklären wir die verschiedenen Verwendungsmöglichkeiten des Tools anhand von Beispielen. Wir haben eine Liste anfälliger Binärdateien hochgeladen und werden diese Liste aktualisieren, sobald wir neue Optionen für das Tool hinzufügen. Um die Informationen leichter auffindbar zu machen, geben wir die Parameter an, die im finalen Befehl verwendet werden, der die Ausnutzung der Binärdatei ermöglicht. Darüber hinaus klassifizieren wir die Schwierigkeit der Herausforderungen mit dem 💣 Emoji. Eine einzelne Bombe bedeutet sehr einfach, fünf Bomben zeigen an, dass die Schwierigkeit sehr hoch ist. Für jede Herausforderung haben wir einen kurzen Writeup beigefügt, der ausführlicher erklärt, wie wir zur Lösung gelangen.
Verwendung der Parameter
-f-t--shell--offset
Die vollständige Erklärung finden Sie im Writeup:
Abschließender Befehl:
python3 ../../PwnCtfTool.py -f ./vuln1 -t win --shell --offset
Verwendung der Parameter
-f-t--before--shell
Die vollständige Erklärung finden Sie im Writeup:
Abschließender Befehl:
python3 ../../PwnCtfTool.py --before before2.txt -f vuln2 -t rce --shell
git clone https://github.com/Diego-AltF4/PwnCtfTool.git
cd ./PwnCtfTool
pip3 install -r requirements.txt
chmod +x PwnCtfTool.py
./PwnCtfTool.py
|
David Billhardt |
Erstellt von DiegoAltF4 und Dbd4