No description
Find a file
2015-05-07 22:08:43 -07:00
afl bigfix :-) 2015-05-07 17:00:45 -07:00
bin added a 'setup' action to manage-tools 2015-05-07 19:27:54 -07:00
binwalk binwalk 2015-05-07 19:50:13 -07:00
checksec changed the install system 2015-05-07 11:54:16 -07:00
cribdrag changed the install system 2015-05-07 11:54:16 -07:00
crosstool changed the install system 2015-05-07 11:54:16 -07:00
dirs3arch changed the install system 2015-05-07 11:54:16 -07:00
firmware-mod-kit NO SUDO 2015-05-07 20:20:46 -07:00
gdb root requirements 2015-05-07 20:07:00 -07:00
hash-identifier hash identifier 2015-05-07 13:54:42 -07:00
hashpump changed the install system 2015-05-07 11:54:16 -07:00
littleblackbox littleblackbox 2015-05-07 20:06:53 -07:00
peda changed the install system 2015-05-07 11:54:16 -07:00
pemcrack pemcrack 2015-05-07 20:25:38 -07:00
preeny added preeny! 2015-05-07 13:25:48 -07:00
pwntools root requirements 2015-05-07 20:07:00 -07:00
python-paddingoracle python-paddingoracle 2015-05-07 19:44:48 -07:00
qemu changed the install system 2015-05-07 11:54:16 -07:00
qira added qira 2015-05-07 16:55:04 -07:00
radare2 handle library paths properly 2015-05-07 15:05:30 -07:00
reveng reveng 2015-05-07 20:37:57 -07:00
shellnoob shellnoob 2015-05-07 12:01:40 -07:00
sqlmap root requirements 2015-05-07 20:07:00 -07:00
sslsplit sslsplit 2015-05-07 20:28:48 -07:00
testdisk testdisk 2015-05-07 14:14:46 -07:00
xortool uninstall 2015-05-07 13:34:36 -07:00
xrop changed the install system 2015-05-07 11:54:16 -07:00
.gitignore gitignore 2015-05-07 12:11:08 -07:00
README.md links! 2015-05-07 22:08:43 -07:00
TODO reveng 2015-05-07 20:37:57 -07:00

ctf-tools

This is a collection of setup scripts to create an install of various security research tools. Of course, this isn't a hard problem, but it's really nice to have them in one place that's easily deployable to new machines and so forth. To use, do:

# set up the path
manage-tools setup
source ~/.bashrc

# list the available tools
manage-tools list

# install gdb, allowing it to try to sudo install dependencies
manage-tools -s install gdb

# install pwntools, but don't let it sudo install dependencies
manage-tools install pwntools

# uninstall gdb
manage-tools uninstall gdb

# uninstall all tools
manage-tools uninstall all

Where possible, the tools keep the installs very self-contained (i.e., in to tool/ directory), and most uninstalls are just calls to git clean (NOTE, this is NOT careful; everything under the tool directory, including whatever you were working on, is blown away during an uninstall). To support python dependencies, however, make sure to create a virtualenv before installing and using tools (i.e., mkvirtualenv ctf). Installers for the following tools are included:

Category Tool Description
binary afl State-of-the-art fuzzer.
binary checksec Check binary hardening settings.
binary crosstool-ng Cross-compilers and cross-architecture tools.
binary gdb Up-to-date gdb with python2 bindings.
binary peda Enhanced environment for gdb.
binary preeny A collection of helpful preloads (compiled for many architectures!).
binary qemu Latest version of qemu!
binary pwntools Useful CTF utilities.
binary radare2 Some crazy thing crowell likes.
binary shellnoob Shellcode writing helper.
binary qira Parallel, timeless debugger.
binary xrop Gadget finder.
forensics binwalk Firmware (and arbitrary file) analysis tool.
forensics firmware-mod-kit Tools for firmware packing/unpacking.
forensics testdisk Testdisk and photorec for file recovery.
crypto cribdrag Interactive crib dragging tool (for crypto).
crypto hashpump A tool for performing hash length extension attaacks.
crypto littleblackbox Database of private SSL/SSH keys for embedded devices.
crypto hash-identifier Simple hash algorithm identifier.
crypto pemcrack SSL PEM file cracker.
crypto reveng CRC finder.
crypto sslsplit SSL/TLS MITM.
crypto python-paddingoracle XOR analysis tool.
crypto xortool XOR analysis tool.
web dirs3arch Web path scanner.
web sqlmap SQL injection automation engine.

Adding Tools

To add a tool (say, named toolname), do the following:

  1. Create a toolname directory.
  2. Create an install script.
  3. (optional) if special uninstall steps are reuired, create an uninstall script.

Install Scripts

The install script will be run with $PWD being toolname. It should install the tool into this directory, in as contained a manner as possible. Ideally, full uninstallation should be possible with a git clean.

The install script should create a bin directory and put its executables there. These executables will be automatically linked into the main bin directory for the repo. They could be launched from any directory, so don't make assumptions about the location of $0!