Pwntools est un framework CTF et une bibliothèque de développement d'exploits. Écrit en Python, il est conçu pour un prototypage et un développement rapides et vise à rendre l'écriture d'exploits aussi simple que possible.
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 ()
Notre documentation est disponible sur docs.pwntools.com
Une série de tutoriels est également disponible en ligne
Pour vous aider à démarrer, nous avons fourni quelques exemples de solutions pour les défis CTF antérieurs dans notre référentiel d'articles.
Pwntools est mieux pris en charge sur les versions Ubuntu LTS 64 bits (18.04, 20.04, 22.04 et 24.04). La plupart des fonctionnalités devraient fonctionner sur n'importe quelle distribution de type Posix (Debian, Arch, FreeBSD, OSX, etc.).
Python3 est suggéré, mais Pwntools fonctionne toujours avec Python 2.7. La plupart des fonctionnalités de pwntools sont autonomes et uniquement Python. Vous devriez être capable de courir rapidement avec
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
Cependant, certaines fonctionnalités (assemblage/désassemblage d'architectures étrangères) nécessitent des dépendances non Python. Pour plus d’informations, consultez les instructions d’installation complètes ici.
Voir CONTRIBUTION.md
Si vous avez des questions qui ne méritent pas un rapport de bug, rejoignez le serveur Discord à https://discord.gg/96VA2zvjCB