Pwntools CTF framework and exploit development library.
Project description
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()
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 LTE releases (14.04, 16.04, 18.04, and 20.04). Most functionality should work on any Posix-like distribution (Debian, Arch, FreeBSD, OSX, etc.). Python >= 2.7 is required (Python 3 suggested as best).
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 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
If you have any questions not worthy of a bug report, feel free to ping us at `#pwntools on Freenode <irc://irc.freenode.net/pwntools>`__ and ask away. Click here to connect. There is also a mailing list for higher latency discussion.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pwntools-4.4.0b0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e4bdd7ad8fc2076e306594c442196ad52b7d7438522b86464be1e58b108eaf8 |
|
MD5 | 01b48d1c568f37319f4d6cdbaab2cd55 |
|
BLAKE2b-256 | 0e075ac28a6f9cef375845f533c3ff48e8529984b623e33f31d0c7e74de5d33b |