↓ download on github

pwntools - CTF toolkit

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()

Try It Now!

You can now do a live demo of Pwntools, https://demo.pwntools.com.

Documentation

Our documentation is available at https://docs.pwntools.com/

To get you started, we’ve provided some example solutions for past CTF challenges in our https://github.com/Gallopsled/pwntools-write-ups.

Installation

pwntools is best supported on 64-bit Ubuntu 12.04 and 14.04, but most functionality should work on any Posix-like distribution (Debian, Arch, FreeBSD, OSX, etc.). Python 2.7 is required.

Most of the functionality of pwntools is self-contained and Python-only. You should be able to get running quickly with

apt-get update
apt-get install python2.7 python-pip python-dev git libssl-dev
pip install --upgrade pwntools

However, some of the features (assembling/disassembling foreign architectures) require non-Python dependencies. For more information, see the https://docs.pwntools.com/en/stable/install.html.

Contribution

See CONTRIBUTING.md

Contact

If you have any questions not worthy of a https://github.com/Gallopsled/pwntools/issues, feel free to ping us at irc://irc.freenode.net/pwntools and ask away. Click https://kiwiirc.com/client/irc.freenode.net/pwntools to connect. There is also a https://groups.google.com/forum/#!forum/pwntools-users for higher latency discussion.

Tools System