Pwntools ist ein CTF-Framework und eine Exploit-Entwicklungsbibliothek. Es wurde in Python geschrieben, ist für schnelles Prototyping und Entwicklung konzipiert und soll das Schreiben von Exploits so einfach wie möglich 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 auch online verfügbar
Um Ihnen den Einstieg zu erleichtern, haben wir in unserem Artikel-Repository einige Beispiellösungen für frühere CTF-Herausforderungen bereitgestellt.
Pwntools wird am besten auf 64-Bit-Ubuntu-LTS-Versionen (18.04, 20.04, 22.04 und 24.04) unterstützt. Die meisten Funktionen sollten auf jeder Posix-ähnlichen Distribution (Debian, Arch, FreeBSD, OSX usw.) funktionieren.
Python3 wird empfohlen, aber Pwntools funktioniert weiterhin mit Python 2.7. Die meisten Funktionen von pwntools sind eigenständig und nur für Python verfügbar. Sie sollten in der Lage sein, schnell mit dem Laufen anzufangen
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 der Funktionen (Assemblieren/Disassemblieren fremder Architekturen) erfordern jedoch Nicht-Python-Abhängigkeiten. Weitere Informationen finden Sie hier in der vollständigen Installationsanleitung.
Siehe CONTRIBUTING.md
Wenn Sie Fragen haben, die keinen Fehlerbericht wert sind, treten Sie dem Discord-Server unter https://discord.gg/96VA2zvjCB bei