gitmyhub

pwntools

Python ★ 14k updated 18d ago

CTF framework and exploit development library

A Python library that gives security competition participants ready-made tools for writing exploits, handling network connections, and manipulating binary data without starting from scratch.

PythonUbuntuLinuxsetup: moderatecomplexity 3/5

Pwntools is a Python library built for a specific security competition format called CTF (Capture The Flag). In these competitions, participants solve technical puzzles that often involve finding and exploiting software vulnerabilities. Pwntools gives competitors a set of ready-made tools to write those exploits quickly rather than building everything from scratch.

The library is designed to make the low-level work of exploit writing much simpler. Instead of manually constructing bytes, managing network connections, or working with raw processor instructions, you call short Python functions that handle those details. The code example in the README shows connecting to a remote server, sending machine code instructions, and taking control of an interactive session in just four lines.

Installation is straightforward. On Ubuntu Linux, you run a few apt-get commands to install dependencies, then pip install pwntools. The core library is Python-only and self-contained. An optional layer for assembling or disassembling code meant for other processor types requires additional system packages, but most users won't need that immediately.

The project runs on 64-bit Ubuntu 22.04 and 24.04, with best support there. It works on other Unix-like systems too, including Debian, Arch, FreeBSD, and macOS. Python 3.10 or newer is required for the current version. Older hardware or Python 2.7 environments can use the older Pwntools 4.x series.

The project has full documentation, a series of tutorials for new users, and a write-ups repository with example solutions to past CTF challenges. A Discord server is available for questions. The README is sparse on deep technical detail but points to docs.pwntools.com for everything further.

Where it fits