No description
Find a file
2020-07-13 19:01:32 -07:00
.docker Updated Dockerfiles, added script to quickly run manage-tools in a container for testing 2018-04-20 11:12:52 -07:00
_buildstatus travis buildstatus: switched to makefile for running things 2017-10-21 23:23:56 -07:00
afl detect xenial and act accordingly. lsb-release should be installed to 2017-02-16 22:43:10 +01:00
android-sdk detect xenial and act accordingly. lsb-release should be installed to 2017-02-16 22:43:10 +01:00
angr fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
apktool apktool version bump 2017-08-18 16:45:28 -07:00
barf fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
beef fix apt-get commands 2017-02-19 00:30:51 +01:00
bin add the capability to use 'nice' to avoid locking everything up during long compiles 2018-07-12 22:18:31 -07:00
bindead detect xenial and act accordingly. lsb-release should be installed to 2017-02-16 22:43:10 +01:00
binwalk fix binwalk install script, add uninstall script, fixes #135 2017-08-18 16:45:28 -07:00
burpsuite detect xenial and act accordingly. lsb-release should be installed to 2017-02-16 22:43:10 +01:00
capstone fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
checksec fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
codereason bunch of fixes to get things to build 2017-02-16 22:45:02 +01:00
commix Minor Update 2019-02-22 21:02:16 -07:00
cribdrag fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
cross some random files 2020-07-13 19:01:32 -07:00
cross-uclibc some random files 2020-07-13 19:01:32 -07:00
cross2 fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
crosstool fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
df fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
dirb Updates to Installs, should fix a few tools especially on 14.04 2017-04-24 01:23:21 +10:00
dirsearch fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
dislocker bunch of fixes to get things to build 2017-02-16 22:45:02 +01:00
elfkickers make elfkickers build more dependable 2017-03-10 07:20:01 +01:00
elfparser fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
evilize fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
exetractor fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
fastcoll adding fastcoll 2017-03-20 16:14:25 -07:00
featherduster fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
firmware-mod-kit fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
foresight fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
galois fix shebang 2018-02-16 23:27:47 +00:00
gdb gdb install script: remove build artifacts and strip gdb binary after build to save some disk space 2018-04-20 11:12:52 -07:00
gdb-heap Add https & fix 404 link for gdb-heap 2017-10-21 23:24:21 -07:00
gef fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
ghidra ex 2019-09-24 23:16:54 -07:00
hash-identifier fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
hashkill fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
hashpump fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
hashpump-partialhash fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
honggfuzz fix apt-get commands 2017-02-19 00:30:51 +01:00
jdgui detect xenial and act accordingly. lsb-release should be installed to 2017-02-16 22:43:10 +01:00
keystone fix keystone install 2017-08-18 16:45:28 -07:00
libc-database fix shebang 2018-02-16 23:27:47 +00:00
libheap fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
lief updated install-root scripts 2017-04-05 15:32:54 +02:00
littleblackbox fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
manticore Update install-root-debian 2017-05-01 16:30:05 +02:00
miasm miasm: added uninstall script 2017-04-05 16:26:03 +02:00
mimikatz some random files 2020-07-13 19:01:32 -07:00
mitmproxy fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
msieve Updates to Installs, should fix a few tools especially on 14.04 2017-04-24 01:23:21 +10:00
nonce-disrespect adding nonce-disrespect 2018-03-24 23:30:17 -07:00
one_gadget added one_gadget 2018-03-01 18:52:06 -07:00
panda Update install-root-ubuntu 2017-04-25 04:29:51 +10:00
pathgrind fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
pdf-parser Updates to Installs, should fix a few tools especially on 14.04 2017-04-24 01:23:21 +10:00
peda fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
peepdf fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
pemcrack fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
pkcrack fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
preeny fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
pwndbg Updated gdb to 8.0.1, fixed arch install 2017-09-27 16:01:14 -07:00
pwntools Do not use pwntools binutils ppa on xenial and later 2017-08-18 16:45:28 -07:00
python-paddingoracle fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
python-pin fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
pyvmmonitor Add https & fix 404 link for gdb-heap 2017-10-21 23:24:21 -07:00
qemu Updated qemu install script 2018-04-20 11:12:52 -07:00
qira qira patched, flask_socketio problem fixed 2018-07-11 17:13:48 +02:00
radare2 fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
rappel rappel: fix install-root script 2018-04-20 11:12:52 -07:00
reveng Updates to Installs, should fix a few tools especially on 14.04 2017-04-24 01:23:21 +10:00
ropper fix ropper install script to use --no-binary, since --no-use-wheel is deprecated and some pip versions have it removed already 2018-04-20 11:12:52 -07:00
rp++ fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
rr some random files 2020-07-13 19:01:32 -07:00
scratchabit Added scratchabit and scratchablock 2017-04-24 02:04:40 +10:00
scratchablock Added warning for import error yaml - use venv before use. 2017-04-24 19:22:51 +10:00
scrdec18 fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
seccomp-tools add seccomp-tools 2017-11-27 13:05:19 -07:00
shellnoob fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
shellsploit Shellsploit Changed git url 2017-04-25 05:39:37 +10:00
snowman fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
sonic-visualizer fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
sqlmap bunch of fixes to get things to build 2017-02-16 22:45:02 +01:00
ssh_decoder fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
sslsplit fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
steganabara fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
stegdetect bunch of fixes to get things to build 2017-02-16 22:45:02 +01:00
stego-toolkit stego-toolkit added 2019-02-10 11:38:35 -07:00
stegsolve fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
subbrute fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
taintgrind Updates to Installs, should fix a few tools especially on 14.04 2017-04-24 01:23:21 +10:00
testdisk fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
tor-browser fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
unicorn Install keystone/unicorn from pypi instead of from source 2017-04-05 12:46:37 +02:00
valgrind adding latest valgrind version 2018-01-25 16:06:10 +00:00
veles fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
villoc fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
virtualsocket fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
volatility some random files 2020-07-13 19:01:32 -07:00
wcc fix apt-get commands 2017-02-19 00:30:51 +01:00
xortool fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
xrop Fixed xrop 2 2017-04-25 02:39:22 +10:00
xspy fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
yafu Updates to Installs, should fix a few tools especially on 14.04 2017-04-24 01:23:21 +10:00
youtube-dl added youtube-dl for annoying recons 2018-01-27 23:48:01 -07:00
z3 fail hard on any error + verify that all scripts use bash -ex to fail 2017-02-16 22:40:17 +01:00
zsteg zsteg: added uninstall script 2018-04-20 11:12:52 -07:00
.dockerignore Updated Dockerfiles, added script to quickly run manage-tools in a container for testing 2018-04-20 11:12:52 -07:00
.gitignore Split install-root scripts into distribution specific ones 2016-06-06 15:11:08 +02:00
.travis.yml page with buildstatus per tool 2017-03-10 13:30:13 +01:00
.travis.yml.footer page with buildstatus per tool 2017-03-10 13:30:13 +01:00
.travis.yml.header page with buildstatus per tool 2017-03-10 13:30:13 +01:00
Dockerfile Update Dockerfile 2018-05-31 00:52:59 -07:00
Dockerfile.archlinux Updated Dockerfiles, added script to quickly run manage-tools in a container for testing 2018-04-20 11:12:52 -07:00
Dockerfile.artful Updated Dockerfiles, added script to quickly run manage-tools in a container for testing 2018-04-20 11:12:52 -07:00
Dockerfile.fedora Updated Dockerfiles, added script to quickly run manage-tools in a container for testing 2018-04-20 11:12:52 -07:00
Dockerfile.xenial Updated Dockerfiles, added script to quickly run manage-tools in a container for testing 2018-04-20 11:12:52 -07:00
LICENSE License added: BSD2 (#170) 2019-03-13 21:32:56 -07:00
README.md License added: BSD2 (#170) 2019-03-13 21:32:56 -07:00
TODO Update TODO 2015-10-29 16:24:49 +11:00
Vagrantfile Add Vagrantfile 2015-12-18 00:04:37 -08:00

ctf-tools

Build Status IRC

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. The install-scripts for these tools are checked regularly, the results can be found on the build status page.

Installers for the following tools are included:

Category Source Tool Description
binary Directory afl State-of-the-art fuzzer.
binary Directory angr Next-generation binary analysis engine from Shellphish.
binary Directory barf Binary Analysis and Reverse-engineering Framework.
binary Directory bindead A static analysis tool for binaries.
binary Library capstone Multi-architecture disassembly framework.
binary Directory checksec Check binary hardening settings.
binary Directory codereason Semantic Binary Code Analysis Framework.
binary Directory crosstool-ng Cross-compilers and cross-architecture tools.
binary Directory cross2 A set of cross-compilation tools from a Japanese book on C.
binary Directory elfkickers A set of utilities for working with ELF files.
binary Directory elfparser Quickly determine the capabilities of an ELF binary through static analysis.
binary Directory evilize Tool to create MD5 colliding binaries
binary Directory gdb Up-to-date gdb with python2 bindings.
binary Directory gdb-heap gdb extension for debugging heap issues.
binary Directory gef Enhanced environment for gdb.
binary Directory hongfuzz A general-purpose, easy-to-use fuzzer with interesting analysis options.
binary Library keystone Lightweight multi-architecture assembler framework.
binary Directory libheap gdb python library for examining the glibc heap (ptmalloc)
binary Library lief Library to Instrument Executable Formats.
binary Directory miasm Reverse engineering framework in Python.
binary Directory one_gadget Magic gadget search for libc.
binary Directory panda Platform for Architecture-Neutral Dynamic Analysis.
binary Directory pathgrind Path-based, symbolically-assisted fuzzer.
binary Directory peda Enhanced environment for gdb.
binary Directory preeny A collection of helpful preloads (compiled for many architectures!).
binary Directory pwndbg Enhanced environment for gdb. Especially for pwning.
binary Directory pwntools Useful CTF utilities.
binary Directory python-pin Python bindings for pin.
binary Directory qemu Latest version of qemu!
binary Directory qira Parallel, timeless debugger.
binary Directory radare2 Some crazy thing crowell likes.
binary Directory rappel A linux-based assembly REPL.
binary Directory ropper Another gadget finder.
binary Directory rp++ Another gadget finder.
binary Directory rr Record and Replay Debugging Framework
binary Directory scratchabit Easily retargetable and hackable interactive disassembler
binary Directory scratchablock Yet another crippled decompiler project
binary Directory seccomp-tools Provides powerful tools for seccomp analysis
binary Directory shellnoob Shellcode writing helper.
binary Directory shellsploit Shellcode development kit.
binary Directory snowman Cross-architecture decompiler.
binary Directory taintgrind A valgrind taint analysis tool.
binary Library unicorn Multi-architecture CPU emulator framework.
binary Directory valgrind A Dynamic Binary Instrumentation framework with some built-in tools.
binary Directory villoc Visualization of heap operations.
binary Directory virtualsocket A nice library to interact with binaries.
binary Directory wcc The Witchcraft Compiler Collection is a collection of compilation tools to perform binary black magic on the GNU/Linux and other POSIX platforms.
binary Directory xrop Gadget finder.
binary Directory manticore Manticore is a prototyping tool for dynamic binary analysis, with support for symbolic execution, taint analysis, and binary instrumentation.
forensics Directory binwalk Firmware (and arbitrary file) analysis tool.
forensics Directory dislocker Tool for reading Bitlocker encrypted partitions.
forensics Directory exetractor Unpacker for packed Python executables. Supports PyInstaller and py2exe.
forensics Directory firmware-mod-kit Tools for firmware packing/unpacking.
forensics apt foremost File carver.
forensics Directory pdf-parser Tool for digging in PDF files
forensics Directory peepdf Powerful Python tool to analyze PDF documents.
forensics Directory scrdec A decoder for encoded Windows Scripts.
forensics Directory testdisk Testdisk and photorec for file recovery.
crypto Directory cribdrag Interactive crib dragging tool (for crypto).
crypto Directory fastcoll An md5sum collision generator.
crypto Directory foresight A tool for predicting the output of random number generators. To run, launch "foresee".
crypto Directory featherduster An automated, modular cryptanalysis tool.
crypto Directory galois A fast galois field arithmetic library/toolkit.
crypto Directory hashkill Hash cracker.
crypto Directory hashpump A tool for performing hash length extension attaacks.
crypto Directory hashpump-partialhash Hashpump, supporting partially-unknown hashes.
crypto Directory hash-identifier Simple hash algorithm identifier.
crypto Directory libc-database Build a database of libc offsets to simplify exploitation.
crypto Directory littleblackbox Database of private SSL/SSH keys for embedded devices.
crypto Directory msieve Msieve is a C library implementing a suite of algorithms to factor large integers.
crypto Directory nonce-disrespect Nonce-Disrespecting Adversaries: Practical Forgery Attacks on GCM in TLS.
crypto Directory pemcrack SSL PEM file cracker.
crypto Directory pkcrack PkZip encryption cracker.
crypto Directory python-paddingoracle Padding oracle attack automation.
crypto Directory reveng CRC finder.
crypto Directory ssh_decoder A tool for decoding ssh traffic. You will need ruby1.8 from https://launchpad.net/~brightbox/+archive/ubuntu/ruby-ng to run this. Run with ssh_decoder --help for help, as running it with no arguments causes it to crash.
crypto Directory sslsplit SSL/TLS MITM.
crypto Directory xortool XOR analysis tool.
crypto Directory yafu Automated integer factorization.
web Directory burpsuite Web proxy to do naughty web stuff.
web Directory commix Command injection and exploitation tool.
web Directory dirb Web path scanner.
web Directory dirsearch Web path scanner.
web Directory mitmproxy CLI Web proxy and python library.
web Directory sqlmap SQL injection automation engine.
web Directory subbrute A DNS meta-query spider that enumerates DNS records, and subdomains.
stego apt pngtools PNG's analysis tool.
stego Directory sound-visualizer Audio file visualization.
stego Directory steganabara Another image stenography solver.
stego Directory stegdetect Stenography detection/breaking tool.
stego Docker stego-toolkit A docker image with dozens of steg tools.
stego Directory stegsolve Image stenography solver.
stego Directory zsteg detect stegano-hidden data in PNG & BMP.
dsniff apt dsniff Grabs passwords and other data from pcaps/network streams.
android Directory apktool Dissect, dis-assemble, and re-pack Android APKs
android Directory android-sdk The android SDK (adb, emulator, etc).
misc Directory xspy Tiny tool to spy on X sessions.
misc Directory z3 Theorem prover from Microsoft Research.
misc Directory jdgui Java decompiler.
misc Directory veles Binary data analysis and visualization tool.
misc Directory youtube-dl Latest version of the popular youtube downloader.

There are also some installers for non-CTF stuff to break the monotony!

Category Tool Description
C magic C-bind A library used to enable function binding in C!
game Dwarf Fortress Something to help you relax after a CTF!
pyvmmonitor pyvmmonitor PyVmMonitor is a profiler with a simple goal: being the best way to profile a Python program.
library collection single_file_libs A large collection of useful single file include libraries written for C/C++
dolphin sudolphin If your friend ever leaves their laptop unlocked, curl -sSL sh.sudolph.in | sh then wait and see!
tor-browser tor-browser Useful when you need to hit a web challenge from different IPs.

Usage

To use, do:

# set up the path
/path/to/ctf-tools/bin/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

# install qemu, but use "nice" to avoid degrading performance during compilation
manage-tools -n install qemu

# uninstall gdb
manage-tools uninstall gdb

# uninstall all tools
manage-tools uninstall all

# search for a tool
manage-tools search preload

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). One exception to this are python tools, which are installed using the pip package manager if possible. A ctftools virtualenv is created during the manage-tools setup command and can be accessed using the command workon ctftools.

Help!

Something not working? I didn't write (almost) any of these tools, but hit up #ctf-tools on freenode if you're desperate. Maybe some kind soul will help!

Docker (version 1.7+)

By popular demand, a Dockerfile has been included. You can build a docker image with:

git clone https://github.com/zardus/ctf-tools
cd ctf-tools
docker build -t ctf-tools .

And run it with:

docker run -it ctf-tools

The built image will have ctf-tools cloned and ready to go, but you will still need to install the tools themselves (see above).

Alternatively, you can also pull ctf-tools (with some tools preinstalled) from dockerhub:

docker run -it zardus/ctf-tools

Vagrant

You can build a Vagrant VM with:

wget https://raw.githubusercontent.com/zardus/ctf-tools/master/Vagrantfile
vagrant plugin install vagrant-vbguest
vagrant up

And connect to it via:

vagrant ssh

Kali Linux

Kali Linux (Sana and Rolling), due to manually setting certain libraries to not use the latest version available (sometimes being out of date by years) causes some tools to not install at all, or fail in strange ways. AFL and Panda comes to mind, in fact any tool that uses QEMU 2.30 will probably fail during compilation under Kali. Overriding these libraries breaks other tools included in Kali so your only solution is to either live with some of Kali's tools being broken, or running another distribution separately such as Ubuntu.

Most tools aren't affected though.

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 required, 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!

License

The individual tools are all licensed under their own licenses. As for ctf-tools itself, it is licensed under BSD 2-Clause License. If you find it useful, star it on github (https://github.com/zardus/ctf-tools).

Good luck!

See Also

There's a curated list of CTF tools, but without installers, here: https://github.com/apsdehal/aWEsoMe-cTf.

There's a Vagrant config with a lot of the bigger frameworks here: https://github.com/thebarbershopper/epictreasure.