
Framework CTF et bibliothèque de développement d'exploits

Pwntools est un framework CTF et une bibliothèque de développement d'exploits. Écrit en Python, il est conçu pour le prototypage et le 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 des challenges CTF passés dans notre dépôt de write-ups.
Pwntools est le mieux supporté sur les versions LTS 64 bits d'Ubuntu (22.04 et 24.04). La plupart des fonctionnalités devraient fonctionner sur toute distribution de type Posix (Debian, Arch, FreeBSD, OSX, etc.).
Pwntools prend en charge Python 3.10+ depuis la version 5.0.0. Utilisez Pwntools 4.x pour les versions plus anciennes ainsi que Python 2.7. La plupart des fonctionnalités de pwntools sont autonomes et uniquement en Python. Vous devriez pouvoir vous lancer 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 CONTRIBUTING.md
Si vous avez des questions qui ne méritent pas un rapport de bogue, rejoignez le serveur Discord à https://discord.gg/96VA2zvjCB