CTF-Framework und Exploit-Entwicklungsbibliothek

Pwntools ist ein CTF-Framework und eine Bibliothek zur Entwicklung von Exploits. Es ist in Python geschrieben und für schnelles Prototyping und Entwicklung konzipiert, um das Schreiben von Exploits so einfach wie möglich zu machen.
from pwn import *
context(arch = 'i386', os = 'linux')
r = remote('exploitme.example.com', 31337)
# EXPLOIT CODE GOES HERE
r.send(asm(shellcraft.sh()))
r.interactive()
Unsere Dokumentation ist unter docs.pwntools.com verfügbar.
Eine Reihe von Tutorials ist ebenfalls online verfügbar
Um Ihnen den Einstieg zu erleichtern, haben wir einige Beispiellösungen für vergangene CTF-Challenges in unserem Write-ups-Repository bereitgestellt.
Pwntools wird am besten auf 64-Bit-Ubuntu-LTS-Versionen (22.04 und 24.04) unterstützt. Die meisten Funktionen sollten auf jeder Posix-ähnlichen Distribution (Debian, Arch, FreeBSD, OSX usw.) funktionieren.
Pwntools unterstützt seit Version 5.0.0 Python 3.10+. Verwenden Sie Pwntools 4.x für ältere Versionen sowie Python 2.7. Der Großteil der Funktionalität von pwntools ist eigenständig und rein in Python umgesetzt. Sie sollten schnell loslegen können mit
sudo apt-get update
sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools
Einige Funktionen (das Assemblieren/Disassemblieren fremder Architekturen) erfordern jedoch Nicht-Python-Abhängigkeiten. Weitere Informationen finden Sie in den vollständigen Installationsanweisungen hier.
Siehe CONTRIBUTING.md
Wenn Sie Fragen haben, die keinen Bugreport rechtfertigen, treten Sie dem Discord-Server unter https://discord.gg/96VA2zvjCB bei.