Pwntools é uma estrutura CTF e uma biblioteca de desenvolvimento de exploits. Escrito em Python, ele foi projetado para prototipagem e desenvolvimento rápidos e tem como objetivo tornar a escrita de exploits o mais simples possível.
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 ()
Nossa documentação está disponível em docs.pwntools.com
Uma série de tutoriais também está disponível online
Para começar, fornecemos alguns exemplos de soluções para desafios anteriores de CTF em nosso repositório de artigos.
Pwntools é melhor suportado em versões Ubuntu LTS de 64 bits (18.04, 20.04, 22.04 e 24.04). A maioria das funcionalidades deve funcionar em qualquer distribuição do tipo Posix (Debian, Arch, FreeBSD, OSX, etc.).
Python3 é sugerido, mas Pwntools ainda funciona com Python 2.7. A maior parte da funcionalidade do pwntools é independente e somente Python. Você deve ser capaz de correr rapidamente com
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
No entanto, alguns dos recursos (montagem/desmontagem de arquiteturas estrangeiras) requerem dependências não-Python. Para obter mais informações, consulte as instruções completas de instalação aqui.
Veja CONTRIBUTING.md
Se você tiver alguma dúvida que não mereça um relatório de bug, entre no servidor Discord em https://discord.gg/96VA2zvjCB