pwntools README

The project's README from github.com/Gallopsled/pwntools. As one markdown file: README.md.

pwntools - CTF toolkit

pwntools logo

PyPI Docs GitHub Workflow Status (dev) Coveralls MIT License Packaging status Discord Twitter

Pwntools is a CTF framework and exploit development library. Written in Python, it is designed for rapid prototyping and development, and intended to make exploit writing as simple as 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()

Documentation

Our documentation is available at docs.pwntools.com

A series of tutorials is also available online

To get you started, we've provided some example solutions for past CTF challenges in our write-ups repository.

Installation

Pwntools is best supported on 64-bit Ubuntu LTS releases (22.04 and 24.04). Most functionality should work on any Posix-like distribution (Debian, Arch, FreeBSD, OSX, etc.).

Pwntools supports Python 3.10+ since version 5.0.0. Use Pwntools 4.x for older versions as well as Python 2.7. Most of the functionality of pwntools is self-contained and Python-only. You should be able to get running quickly with

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

However, some of the features (assembling/disassembling foreign architectures) require non-Python dependencies. For more information, see the complete installation instructions here.

Contribution

See CONTRIBUTING.md

Contact and Community

If you have any questions not worthy of a bug report, join the Discord server at https://discord.gg/96VA2zvjCB

pwntools (Gallopsled/pwntools)

Searching Database…

13.8K ·GitHub
Что это такое?Pwntools — это фреймворк для CTF и библиотека для разработки эксплойтов на Python, созданная для быстрого прототипирования с целью сделать написание эксплойтов максимально простым.
Это Python-библиотека, которую я импортирую в свои скрипты, или отдельный инструмент?Это Python-библиотека, которую вы импортируете в свои скрипты с эксплойтами — большая часть её функциональности самодостаточна и написана на чистом Python.
Какая версия Python мне нужна?Актуальные релизы 5.x требуют Python 3.10 или новее; для старых интерпретаторов, включая Python 2.7, используйте ветку 4.x.
Всё работает сразу после 'pip install'?Почти — pip покрывает большинство функций, но для сборки и дизассемблирования кода под чужие архитектуры процессоров нужны дополнительные не-Python зависимости.
Я обязательно должен участвовать в CTF, чтобы мне это было полезно?Он ориентирован на игроков CTF и разработчиков эксплойтов — на всех, кому быстро нужен работающий код эксплойта, от живых соревнований до тренировок на wargames.
Он заработает, если у меня не Ubuntu?Да — Ubuntu LTS (64-битная, 22.04 или 24.04) просто лучше всего поддерживается; большинство функций работает на любом дистрибутиве, похожем на POSIX, таком как Debian, Arch, FreeBSD или macOS.
С чего мне начать после установки?Начните с документации на docs.pwntools.com и онлайн-серии туториалов; в репозитории write-ups есть полные примеры решений прошлых заданий CTF.
Pwntools всё ещё активно развивается?Да — он разрабатывается с 2013 года, у проекта около 13.7k звёзд на GitHub, а в репозитории настроены CI-воркфлоу для обновления changelog, линтинга и сборки Docker-образов.
Что он мне даёт для работы с шеллкодом и ROP?И то и другое — задачи первого класса: разработка rop и шеллкодов входит в число собственных тем проекта, а библиотека умеет собирать и дизассемблировать код под чужие архитектуры процессоров — основу классической бинарной эксплуатации.
Creator
Gallopsled
Size
28.3 MB
Stars
13.8K
Age
13y
Commits · 90 Days