pwntools, el framework que Gallopsled utiliza en cada CTF

Gallopsled es un equipo que a principios del año pasado nació de la fusión de otros dos grupos: Nopsled y Pwnies, y actualmente se compone de aproximadamente 30 miembros, la mayoría daneses. En su estreno en mayo de 2014 consiguieron el primer puesto en la clasificatoria de la Defcon 22.

Gallopsled publica un interesante framework y librería de desarrollo de exploits que utilizan en cada CTF: pwntools.
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()

Y también incluyen varias utilidades para algunas de las funcionalidades en pwnlib:
- asm/disasm: pequeño wrapper para varios ensambladores.
- constgrep: herramienta para encontrar constantes definidas en headers.
- cyclic: generador de secuencias de De Bruijn y herramienta de búsqueda.
- hex/unhex: herramientas de línea de comandos para hacer operaciones típicas de hexing/unhexing.
- shellcraft: Frontend para shellcode.
- phd: reemplazo de hexdump con colores.

Es completamente funcional bajo Ubuntu 12.04 y 14.04, pero debería funcionar en cualquier distribución Posix (Debian, Arch, FreeBSD, OSX, etc.).
Además está disponible como un paquete pip por lo que su instalación es sencilla:

$ apt-get install python2.7 python2.7-dev python-pip
$ pip install pwntools

o si prefieres usar la última versión del repositorio oficial:

$ git clone https://github.com/Gallopsled/pwntools
$ cd pwntools
$ pip install -e .

Más documentación en pwntools.readthedocs.org y ejemplos de retos en su repositorio de write-ups.

Comentarios

Publicar un comentario