
CTF-фреймворк и библиотека для разработки эксплойтов

Pwntools — это фреймворк для CTF и библиотека для разработки эксплойтов. Написанный на Python, он предназначен для быстрого прототипирования и разработки и призван сделать написание эксплойтов максимально простым.
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()
Наша документация доступна на docs.pwntools.com
Серия обучающих материалов также доступна онлайн
Чтобы вам было проще начать, мы подготовили несколько примеров решений прошлых CTF-задач в нашем репозитории write-ups.
Pwntools лучше всего поддерживается в 64-битных LTS-релизах Ubuntu (22.04 и 24.04). Большинство функций должно работать в любых Posix-подобных дистрибутивах (Debian, Arch, FreeBSD, OSX и т.д.).
Pwntools поддерживает Python 3.10+ начиная с версии 5.0.0. Для более старых версий, а также для Python 2.7 используйте Pwntools 4.x. Большая часть функциональности pwntools является самодостаточной и реализована только на Python. Вы сможете быстро приступить к работе с помощью
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
Однако некоторые возможности (ассемблирование/дизассемблирование сторонних архитектур) требуют зависимостей, не связанных с Python. Для получения дополнительной информации смотрите полные инструкции по установке здесь.
Смотрите CONTRIBUTING.md
Если у вас есть вопросы, которые не заслуживают баг-репорта, присоединяйтесь к Discord-серверу по адресу https://discord.gg/96VA2zvjCB