Skip to main content

Official Certified Edible Dinosaurs CTF toolkit.

Project description

pwnypack

The official Certified Edible Dinosaurs CTF toolkit. pwnypack attempts to provide a toolset which can be used to more easily develop CTF solutions.

Build Status

Motivation

After seeing the excellent pwntools by Gallopsled, I got interested in building my own CTF toolkit. pwntools is much more complete so you should probably use that. pwnypack was created mostly out of curiosity.

Installation

To install the latest released version of pwnypack, use:

$ pip install pwnypack

If your python version is new enough to support IPython, you can optionally choose to automatically install it as an optional dependency. The availability of IPython enables the pwnypack shell (an IPython session with pwnypack pre-imported).

$ pip install pwnypack[shell]

Usage

To import all of pwnypack into your global namespace, use:

>>> from pwny import *

Or, if you’re using python 2.7+ or python 3.3+, try the customized IPython shell:

$ pwny shell

I promise that effort will be put into not exposing unnecessary stuff and thus overly polluting your global namespace.

For an example, check out the Big Prison Fence example in the wiki.

Documentation

pwnypack’s API documentation is hosted on readthedocs.

Contributors

pwnypack was created by Certified Edible Dinosaurs (dsc & doskop). If you want to contribute, feel free to fork and create a pull request on GitHub.

License

pwnypack is distributed under the MIT license.

Release history

0.7.0 (2015-07-12)

  • Made IPython an optional dependency (pip install pwnypack[shell]).

  • Added pickle_call function to easily execute a function on unpickle.

  • Added format string vulnerability exploit builder.

  • Renamed TCPSocketChannel to TCPClientSocketChannel.

  • Added TCPServerSocketChannel which can listen for an incoming connection.

  • Added Flow.interact() method.

  • Added support for connecting to SSH servers from Flow.

0.6.0 (2015-04-14)

  • Bugfixes (and travis-ci integration).

  • API documentation and docstrings.

  • Cycle-find can read from stdin.

  • Major refactoring of ELF class. It can now parse section headers, program headers, symbol tables and extract section, symbols.

  • Major refactoring of Target class. It’s no longer tied to ELF (ELF is still a subclass of Target though).

  • A reghex compiler.

  • Verifying ROP gadget finder.

  • Disassembler functionality (based on ndisasm or capstone).

  • The ability to redirect stderr to stdout in flow.ProcessChannel.

  • The ability to create symlinks for commandline apps.

  • New commandline apps:
    • asm to assemble from commandline.

    • symbols to list the symbol table of an ELF file.

    • gadget to find ROP gadgets in an ELF file.

    • symbol-extract to extract a symbol from an ELF file.

    • symbol-disasm to disassemble a symbol in an ELF file.

0.5.2 (2015-03-22)

  • Added command line apps and a customized IPython shell.

0.5.1 (2015-03-21)

  • Python3 fixes for flow:
    • Use latin1 for echo mode as not everything will be encodable as utf-8.

    • Disable buffering on subprocess.

0.5.0 (2015-03-21)

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pwnypack-0.7.0.tar.gz (30.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page