Repository: zardus/ctf-tools
Branch: master
Commit: e7f53b03d705
Files: 154
Total size: 57.7 KB
Directory structure:
gitextract_erjatswu/
├── .dockerignore
├── .gitignore
├── Dockerfile
├── Dockerfile.archlinux
├── Dockerfile.artful
├── Dockerfile.fedora
├── LICENSE
├── README.md
├── angr/
│ ├── install
│ └── install-root-debian
├── angr-management/
│ ├── install
│ └── install-root-debian
├── beef/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── burpsuite/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── codext/
│ └── install
├── commix/
│ └── install
├── cribdrag/
│ └── install
├── cross2/
│ └── install
├── crosstool/
│ ├── install
│ ├── install-root-archlinux
│ ├── install-root-debian
│ └── uninstall
├── decomp2dbg/
│ └── install
├── df/
│ ├── install
│ └── install-root-debian
├── elfkickers/
│ └── install
├── elfparser/
│ ├── install
│ └── install-root-debian
├── evilize/
│ └── install
├── fastcoll/
│ └── install
├── featherduster/
│ ├── install
│ └── install-root-debian
├── firmware-mod-kit/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── foresight/
│ └── install
├── galois/
│ └── install
├── gdb/
│ ├── install
│ ├── install-root-archlinux
│ ├── install-root-debian
│ └── install-root-fedora
├── gef/
│ └── install
├── ghidra/
│ ├── install
│ └── install-root-debian
├── hash-identifier/
│ ├── install
│ └── install-root-debian
├── hashpump-partialhash/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── honggfuzz/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── ida/
│ ├── install
│ └── install-root-debian
├── jdgui/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── libc-database/
│ ├── install
│ └── install-root-debian
├── manticore/
│ ├── install
│ └── install-root-debian
├── mitmproxy/
│ ├── install
│ └── install-root-debian
├── msieve/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── nonce-disrespect/
│ ├── install
│ └── install-root-debian
├── one_gadget/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── pdf-parser/
│ └── install
├── peepdf/
│ └── install
├── pemcrack/
│ ├── install
│ └── install-root-debian
├── pkcrack/
│ ├── install
│ └── install-root-debian
├── preeny/
│ └── install
├── pwndbg/
│ ├── install
│ ├── install-root-archlinux
│ ├── install-root-debian
│ └── install-root-fedora
├── pwninit/
│ ├── install
│ └── install-root-debian
├── pwnsh/
│ └── install
├── pwntools/
│ ├── install
│ ├── install-root-archlinux
│ ├── install-root-debian
│ └── install-root-fedora
├── python2/
│ ├── install
│ └── install-root-debian
├── qemu/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── qiling/
│ ├── install
│ └── install-root-debian
├── qira/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── rappel/
│ ├── install
│ └── install-root-debian
├── reveng/
│ └── install
├── ropper/
│ ├── install
│ └── test
├── rp++/
│ └── install
├── rsactftool/
│ ├── install
│ └── install-root-debian
├── scrdec18/
│ └── install
├── seccomp-tools/
│ ├── install
│ └── install-root-debian
├── shellnoob/
│ └── install
├── social-analyzer/
│ └── install
├── ssh_decoder/
│ └── install
├── sslsplit/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── steganabara/
│ └── install
├── stegano-tools/
│ ├── install
│ └── uninstall
├── stegdetect/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── stegosaurus/
│ └── install
├── stegsolve/
│ └── install
├── subbrute/
│ └── install
├── taintgrind/
│ └── install
├── tor-browser/
│ └── install
├── valgrind/
│ └── install
├── veles/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── villoc/
│ └── install
├── volatility/
│ └── install
├── volatility3/
│ └── install
├── webgrep/
│ ├── install
│ ├── install-root-archlinux
│ ├── install-root-debian
│ ├── install-root-fedora
│ └── install-root-ubuntu
├── xortool/
│ └── install
├── xrop/
│ ├── install
│ └── install-root-debian
├── xspy/
│ ├── install
│ └── install-root-debian
├── yafu/
│ ├── install
│ └── test
└── zsteg/
├── install
├── install-root-archlinux
├── install-root-debian
└── uninstall
================================================
FILE CONTENTS
================================================
================================================
FILE: .dockerignore
================================================
*
!.git
!.docker
!bin/
================================================
FILE: .gitignore
================================================
*/*
bin/*
!*/install
!*/uninstall
!*/install-root-*
!*/upgrade
!*/test
================================================
FILE: Dockerfile
================================================
FROM ubuntu:noble
run <<END
export DEBIAN_FRONTEND="noninteractive"
apt-get -q update
apt-get dist-upgrade -y --no-install-recommends --auto-remove
apt-get install -y --no-install-recommends --auto-remove \
build-essential libtool g++ gcc rubygems \
texinfo curl wget automake autoconf python3 python3-dev git \
unzip virtualenvwrapper sudo subversion ca-certificates
apt-get -q clean
rm -rf /var/lib/apt/lists/*
END
RUN sed -i -e "s/Types: deb/Types: deb deb-src/g" /etc/apt/sources.list.d/ubuntu.sources
RUN userdel -f -r ubuntu; useradd -m ctf
RUN echo "ctf ALL=NOPASSWD: ALL" > /etc/sudoers.d/ctf
USER ctf
WORKDIR /home/ctf/tools
ADD --chown=ctf:ctf bin/manage-tools /home/ctf/tools/bin/manage-tools
RUN bin/manage-tools -s setup
ADD --chown=ctf:ctf .git /home/ctf/tools/.git
RUN git checkout .
ARG PREINSTALL=""
RUN <<END
for TOOL in $PREINSTALL
do
/home/ctf/tools/bin/manage-tools -s -v install $TOOL
done
END
ENV PATH=/home/ctf/tools/bin:/bin:/sbin
WORKDIR /home/ctf
================================================
FILE: Dockerfile.archlinux
================================================
from base/archlinux
RUN cat /etc/pacman.d/mirrorlist \
| sed 's/^#Server/Server/' \
> /etc/pacman.d/mirrorlist.backup \
&& rankmirrors -n 10 /etc/pacman.d/mirrorlist.backup \
> /etc/pacman.d/mirrorlist
RUN echo "[multilib]" >> /etc/pacman.conf
RUN echo "Include = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
RUN pacman -Syy \
&& pacman -S --noconfirm archlinux-keyring \
&& pacman -Scc --noconfirm
RUN pacman-key --refresh-keys
RUN pacman -Syu --noconfirm \
&& pacman-db-upgrade \
&& pacman -Scc --noconfirm \
&& pacman -Syu --noconfirm \
&& pacman -Scc --noconfirm
RUN trust extract-compat
RUN pacman -Syu --noconfirm --needed \
curl wget python3 git subversion \
python-pip \
unzip python-virtualenvwrapper \
zsh grml-zsh-config \
sudo which \
&& pacman -Scc --noconfirm
RUN useradd -m ctf
RUN echo "ctf ALL=NOPASSWD: ALL" > /etc/sudoers.d/ctf
RUN chsh -s /usr/bin/zsh ctf
COPY .git /home/ctf/tools/.git
RUN chown -R ctf.ctf /home/ctf/tools
USER ctf
WORKDIR /home/ctf/tools
RUN git checkout .
# add non-commited scripts
USER root
COPY bin/manage-tools /home/ctf/tools/bin/
RUN chown -R ctf.ctf /home/ctf/tools
USER ctf
RUN bin/manage-tools -s setup
WORKDIR /home/ctf
CMD ["zsh", "-i"]
================================================
FILE: Dockerfile.artful
================================================
FROM ubuntu:artful
# wrapper script for apt-get
COPY .docker/apt-get-install /usr/local/bin/apt-get-install
RUN chmod +x /usr/local/bin/apt-get-install
RUN apt-get-install build-essential libtool g++ gcc \
texinfo curl wget automake autoconf python python-dev git subversion \
unzip virtualenvwrapper sudo git virtualenvwrapper
RUN useradd -m ctf
RUN echo "ctf ALL=NOPASSWD: ALL" > /etc/sudoers.d/ctf
COPY .git /home/ctf/tools/.git
RUN chown -R ctf.ctf /home/ctf/tools
# git checkout of the files
USER ctf
WORKDIR /home/ctf/tools
RUN git checkout .
# add non-commited scripts
USER root
COPY bin/manage-tools /home/ctf/tools/bin/
RUN chown -R ctf.ctf /home/ctf/tools
# finally run ctf-tools setup
USER ctf
RUN bin/manage-tools -s setup
WORKDIR /home/ctf
#CMD bash -i
================================================
FILE: Dockerfile.fedora
================================================
FROM fedora
RUN dnf -y install which sudo git redhat-lsb
RUN useradd -m ctf
COPY .git /home/ctf/tools/.git
RUN chown -R ctf.ctf /home/ctf/tools
RUN echo "ctf ALL=NOPASSWD: ALL" > /etc/sudoers.d/ctf
USER ctf
WORKDIR /home/ctf/tools
RUN git checkout .
# add non-commited scripts
USER root
COPY bin/manage-tools /home/ctf/tools/bin/
COPY bin/ctf-tools-pip /home/ctf/tools/bin/
COPY bin/ctf-tools-venv-activate /home/ctf/tools/bin/
COPY bin/ctf-tools-venv-activate3 /home/ctf/tools/bin/
RUN chown -R ctf.ctf /home/ctf/tools
USER ctf
RUN bin/manage-tools -s setup
RUN bin/ctf-tools-pip install appdirs
RUN echo 'source $(which ctf-tools-venv-activate)' >> /home/ctf/.bashrc
WORKDIR /home/ctf
CMD bash -i
================================================
FILE: LICENSE
================================================
BSD 3-Clause License
Copyright (c) 2019-present, Zardus and contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
================================================
FILE: README.md
================================================
# 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.
The install-scripts for these tools are checked every once in a while, so things should hopefully have a decent chance of working!
Installers for the following tools are included:
| Category | Tool | Description |
|----------|------|-------------|
| binary | [angr](http://angr.io) |  Next-generation binary analysis engine from Shellphish. | <!--tool-->
| binary | [angr-management](http://angr.io) |  A GUI reverse engineering and decompilation tool. | <!--tool-->
| binary | [beef](https://github.com/beefproject/beef) |  Browser exploitation framework. | <!--tool-->
| binary | [crosstool](http://crosstool-ng.org/) |  Cross-compilers and cross-architecture tools. | <!--tool--><!--no-test-->
| binary | [cross2](http://kozos.jp/books/asm/asm.html) |  A set of cross-compilation tools from a Japanese book on C. | <!--tool--><!--no-test-->
| binary | [decomp2dbg](https://github.com/mahaloz/decomp2dbg) |  A plugin to introduce interactive symbols into your debugger from your decompiler. | <!--tool-->
| binary | [elfkickers](http://www.muppetlabs.com/~breadbox/software/elfkickers.html) |  A set of utilities for working with ELF files. | <!--tool-->
| binary | [elfparser](https://github.com/mentebinaria/elfparser-ng) |  Multiplatform CLI and GUI tool to show information about ELF files. | <!--tool-->
| binary | [evilize](http://www.mathstat.dal.ca/~selinger/md5collision/) |  Tool to create MD5 colliding binaries | <!--tool-->
| binary | [gdb](http://www.gnu.org/software/gdb/) |  Up-to-date gdb with python2 bindings. | <!--tool--><!--slow-test-->
| binary | [gef](https://github.com/hugsy/gef) |  Enhanced environment for gdb. | <!--tool-->
| binary | [ghidra](https://ghidra-sre.org/) |  Open-source reverse engineering and decompilation tool. | <!--tool-->
| binary | [honggfuzz](https://github.com/google/honggfuzz) |  A general-purpose, easy-to-use fuzzer with interesting analysis options. | <!--tool-->
| binary | [ida](https://hex-rays.com/ida-free) | Decompilation and reversing tool (requires you to download it to ~/Downloads on your own!). | <!--tool--><!--no-test-->
| binary | [manticore](https://github.com/trailofbits/manticore) |  Manticore is a prototyping tool for dynamic binary analysis, with support for symbolic execution, taint analysis, and binary instrumentation. | <!--tool-->
| binary | [one_gadget](https://github.com/david942j/one_gadget) |  Magic gadget search for libc. | <!--tool-->
| binary | [preeny](https://github.com/zardus/preeny) |  A collection of helpful preloads (compiled for many architectures!). | <!--tool-->
| binary | [pwninit](https://github.com/io12/pwninit) |  Script to automate starting pwning challenges. | <!--tool-->
| binary | [pwndbg](https://github.com/pwndbg/pwndbg) |  Enhanced environment for gdb. Especially for pwning. | <!--tool-->
| binary | [pwnsh](https://github.com/zardus/pwnsh) |  Useful shell scripts for assembly, exploitation, etc. | <!--tool-->
| binary | [pwntools](https://github.com/Gallopsled/pwntools) |  Useful CTF utilities. | <!--tool-->
| binary | [qemu](http://qemu.org) |  Latest version of qemu! | <!--tool--><!--slow-test-->
| binary | [qiling](https://github.com/qilingframework/qiling) |  A dynamic binary instrumentation framework. | <!--tool-->
| binary | [qira](http://qira.me) |  Parallel, timeless debugger. | <!--tool--><!--slow-test-->
| binary | [rappel](https://github.com/yrp604/rappel) |  A linux-based assembly REPL. | <!--tool-->
| binary | [ropper](https://github.com/sashs/Ropper) |  Another gadget finder. | <!--tool-->
| binary | [rp++](https://github.com/0vercl0k/rp) |  Another gadget finder. | <!--tool-->
| binary | [seccomp-tools](https://github.com/david942j/seccomp-tools) |  Provides powerful tools for seccomp analysis | <!--tool-->
| binary | [shellnoob](https://github.com/reyammer/shellnoob) |  Shellcode writing helper. | <!--tool-->
| binary | [taintgrind](https://github.com/wmkhoo/taintgrind) |  A valgrind taint analysis tool. | <!--tool--><!--failing-->
| binary | [valgrind](http://valgrind.org) |  A Dynamic Binary Instrumentation framework with some built-in tools. | <!--tool-->
| binary | [villoc](https://github.com/wapiflapi/villoc) |  Visualization of heap operations. | <!--tool-->
| binary | [xrop](https://github.com/acama/xrop) |  Gadget finder. | <!--tool--><!--failing-->
| forensics | [firmware-mod-kit](https://code.google.com/p/firmware-mod-kit/) |  Tools for firmware packing/unpacking. | <!--tool-->
| forensics | [pdf-parser](http://blog.didierstevens.com/programs/pdf-tools/) |  Tool for digging in PDF files | <!--tool-->
| forensics | [peepdf](https://github.com/cert-ee/peepdf) |  Powerful Python tool to analyze PDF documents. | <!--tool-->
| forensics | [scrdec18](https://gist.github.com/bcse/1834878) |  A decoder for encoded Windows Scripts. | <!--tool-->
| forensics | [volatility](https://github.com/volatilityfoundation/volatility) |  Analyzer for system memory dumps (classic python2 version; requires python2 tool). | <!--tool-->
| forensics | [volatility3](https://github.com/volatilityfoundation/volatility3) |  Analyzer for system memory dumps (latest version). | <!--tool-->
| crypto | [codext](https://github.com/dhondta/python-codext) |  Python codecs extension featuring CLI tools for encoding/decoding anything including AI-based guessing mode. | <!--tool-->
| crypto | [cribdrag](https://github.com/SpiderLabs/cribdrag) |  Interactive crib dragging tool (for crypto). | <!--tool-->
| crypto | [fastcoll](https://www.win.tue.nl/hashclash/) |  An md5sum collision generator. | <!--tool-->
| crypto | [foresight](https://github.com/ALSchwalm/foresight) |  A tool for predicting the output of random number generators. To run, launch "foresee". | <!--tool-->
| crypto | [featherduster](https://github.com/nccgroup/featherduster) |  An automated, modular cryptanalysis tool. WARNING: needs python2 (which can be installed with ctf-tools). | <!--tool-->
| crypto | [galois](http://web.eecs.utk.edu/~plank/plank/papers/CS-07-593) |  A fast galois field arithmetic library/toolkit. | <!--tool-->
| crypto | [hashpump-partialhash](https://github.com/mheistermann/HashPump-partialhash) |  Hashpump, supporting partially-unknown hashes. | <!--tool-->
| crypto | [hash-identifier](https://code.google.com/p/hash-identifier/source/checkout) |  Simple hash algorithm identifier. | <!--tool-->
| crypto | [libc-database](https://github.com/niklasb/libc-database) |  Build a database of libc offsets to simplify exploitation. | <!--tool--><!--slow-test-->
| crypto | [msieve](http://sourceforge.net/projects/msieve/) |  Msieve is a C library implementing a suite of algorithms to factor large integers. | <!--tool-->
| crypto | [nonce-disrespect](https://github.com/nonce-disrespect/nonce-disrespect) |  Nonce-Disrespecting Adversaries: Practical Forgery Attacks on GCM in TLS. | <!--tool-->
| crypto | [pemcrack](https://github.com/robertdavidgraham/pemcrack) |  SSL PEM file cracker. | <!--tool-->
| crypto | [pkcrack](https://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack.html) |  PkZip encryption cracker. | <!--tool-->
| crypto | [reveng](http://reveng.sourceforge.net/) |  CRC finder. | <!--tool-->
| crypto | [rsactftool](https://github.com/RsaCtfTool/RsaCtfTool) |  RSA attack tool. | <!--tool-->
| crypto | [ssh_decoder](https://github.com/jjyg/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. | <!--tool-->
| crypto | [sslsplit](https://github.com/droe/sslsplit) |  SSL/TLS MITM. | <!--tool-->
| crypto | [xortool](https://github.com/hellman/xortool) |  XOR analysis tool. | <!--tool-->
| crypto | [yafu](http://sourceforge.net/projects/yafu/) |  Automated integer factorization. | <!--tool-->
| web | [burpsuite](http://portswigger.net/burp) |  Web proxy to do naughty web stuff. | <!--tool--><!--failing-->
| web | [commix](https://github.com/stasinopoulos/commix) |  Command injection and exploitation tool. | <!--tool-->
| web | [mitmproxy](https://mitmproxy.org/) |  CLI Web proxy and python library. | <!--tool-->
| web | [subbrute](https://github.com/TheRook/subbrute) |  A DNS meta-query spider that enumerates DNS records, and subdomains. | <!--tool-->
| web | [webgrep](https://github.com/dhondta/webgrep) |  `grep` for Web pages, with JS deobfuscation, CSS unminifying and OCR on images. | <!--tool-->
| stego | [steganabara](http://www.caesum.com/handbook/stego.htm) |  Another image stenography solver. | <!--tool-->
| stego | [stegano-tools](https://github.com/dhondta/stegano-tools) |  A collection of text and image steganography tools (incl LSB, PVD, PIT). | <!--tool-->
| stego | [stegdetect](http://www.outguess.org/) |  Stenography detection/breaking tool. | <!--tool-->
| stego | [stegsolve](http://www.caesum.com/handbook/stego.htm) |  Image stenography solver. | <!--tool-->
| stego | [stegosaurus](https://github.com/AngelKitty/stegosaurus) |  A steganography tool for embedding arbitrary payloads in Python bytecode (pyc or pyo) files. | <!--tool-->
| stego | [zsteg](https://github.com/zed-0xff/zsteg) |  detect stegano-hidden data in PNG & BMP. | <!--tool-->
| misc | [jdgui](http://jd.benow.ca/) |  Java decompiler. | <!--tool-->
| misc | [python2](https://www.python.org/downloads/release/python-2718/) |  For when you really need it... | <!--tool-->
| misc | [social-analyzer](https://github.com/qeeqbox/social-analyzer) |  Social media reconnaissance tool... | <!--tool-->
| misc | [veles](https://codisec.com/veles/) |  Binary data analysis and visualization tool. | <!--tool-->
| misc | [xspy](https://gitlab.com/kalilinux/packages/xspy) |  Tiny tool to spy on X sessions. | <!--tool-->
There are also some installers for non-CTF stuff to break the monotony!
| Category | Tool | Description |
|----------|------|-------------|
| game | [df](http://www.bay12games.com/dwarves/) |  Dwarf Fortress! Something to help you relax after a CTF! | <!--tool-->
| web | [tor-browser](https://www.torproject.org/projects/torbrowser.html.en) |  Useful when you need to hit a web challenge from different IPs. | <!--tool-->
## Usage
To use, do:
```bash
# 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).
Python and Ruby tools are installed in a tool-specific virtual environment.
If you want to add other packages to this environment, look under the `ctf-tools/TOOL/pipx` or `ctf-tools/TOOL/gems` directories.
## Help!
Something not working?
I didn't write (almost) any of these tools, but hit up [the discord](https://discord.gg/KRcjyn4pBH) if you're desperate.
Maybe some kind soul will help!
## Dockerized Tools
### Prebuilt Tool Containers
You can get most of these tools in prebuilt containers from [https://hub.docker.com/r/ctftools](dockerhub).
For example:
```console
$ echo hi | docker run -i ctftools/taintgrind taintgrind --taint-stdin=yes /bin/cat
/home/ctf/tools/taintgrind/valgrind-3.21.0/build/bin/valgrind --tool=taintgrind --taint-stdin=yes /bin/cat
==8== Taintgrind, the taint analysis tool
==8== Copyright (C) 2010-2018, and GNU GPL'd, by Wei Ming Khoo.
==8== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
==8== Command: /bin/cat
==8==
0xFFFFFFFF: _syscall_read | Read:3 | 0x0 | 4a5a000_unknownobj
hi
==8==
```
### Building Your Own
You can build a docker image with:
```bash
git clone https://github.com/zardus/ctf-tools
cd ctf-tools
docker build -t ctf-tools --build-arg PREINSTALLED=some-tool .
```
And run it with:
```bash
docker run -it ctf-tools
```
The built image will have ctf-tools cloned and ready to go and your tool installed.
## 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.
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, use docker, or running another distribution separately such as Ubuntu.
## Adding Tools
To add a tool (say, named *toolname*), do the following:
1. Create a `toolname` directory.
2. Create an `install` script.
3. Add it to the readme.
4. (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.
## Useful CTF tools in apt repos
As tools get officially packaged, we switch to just suggesting that you apt install them!
| Category | Source | Tool | Description |
|----------|--------|------|-------------|
| binary | apt | [aflplusplus](https://github.com/AFLplusplus/AFLplusplus) | State-of-the-art fuzzer. |
| binary | apt | [checksec](https://github.com/slimm609/checksec.sh) | Check binary hardening settings. |
| binary | apt | [radare2](http://www.radare.org/) | Some crazy thing crowell likes. |
| binary | apt | [rr](http://rr-project.org) | Record and Replay Debugging Framework |
| binary | apt | [wcc](https://github.com/endrazine/wcc) | The Witchcraft Compiler Collection is a collection of compilation tools to perform binary black magic on the GNU/Linux and other POSIX platforms. |
| forensics | apt | [binwalk](https://github.com/ReFirmLabs/binwalk) | Firmware (and arbitrary file) analysis tool. |
| forensics | apt | [foremost](http://foremost.sourceforge.net/) | File carver. |
| forensics | apt | [dislocker](http://www.hsc.fr/ressources/outils/dislocker/) | Tool for reading Bitlocker encrypted partitions. |
| forensics | apt | [origami-pdf](http://github.com/gdelugre/origami) | PDF manipulator. |
| forensics | apt | [testdisk](http://www.cgsecurity.org/wiki/TestDisk) | Testdisk and photorec for file recovery. |
| web | apt | [dirb](http://dirb.sourceforge.net/) | Web path scanner. |
| web | apt | [dirsearch](https://github.com/maurosoria/dirsearch) | Web path scanner. |
| web | apt | [sqlmap](http://sqlmap.org/) | SQL injection automation engine. |
| stego | apt | [pngtools](https://launchpad.net/ubuntu/+source/pngtools) | PNG's analysis tool. |
| stego | apt | [sonic-visualizer](http://www.sonicvisualiser.org/) | Audio file visualization. |
| networking | apt | [dsniff](http://www.monkey.org/~dugsong/dsniff/) | Grabs passwords and other data from pcaps/network streams. |
| networking | apt | [bettercap](https://www.bettercap.org/) | Network shenanigans swiss army knife. |
| misc | apt | [z3](https://github.com/Z3Prover/z3) | Theorem prover from Microsoft Research. |
| osint | apt | [sherlock](https://github.com/sherlock-project/sherlock) | Tools for Hunt down social media accounts by username across 400+ social networks . |
## Useful CTF tools in docker images
Previously, this repository included some scripts that were wrappers around `docker pull`.
We trust that you can do that yourself :-)
| Category | Source | Tool | Description |
|----------|--------|------|-------------|
| binary | docker | [panda](https://github.com/panda-re/panda) | Platform for Architecture-Neutral Dynamic Analysis. |
| stego | Docker | [stego-toolkit](https://github.com/DominicBreuker/stego-toolkit) | A docker image with dozens of steg tools. |
## Useful CTF Libraries
Previously, this repository included library installers.
Because of how bespoke library install preferences are (e.g., unlike a tool, it's not clear if per-library venvs are a desired thing), we've stopped shipping them, and link them here for posterity.
| Category | Source | Tool | Description |
|----------|--------|------|-------------|
| binary | Library | [capstone](http://www.capstone-engine.org) | Multi-architecture disassembly framework. |
| binary | Library | [keystone](http://www.keystone-engine.org) | Lightweight multi-architecture assembler framework. |
| binary | Library | [lief](https://lief.quarkslab.com/) | Library to Instrument Executable Formats. |
| binary | Library | [miasm](https://github.com/cea-sec/miasm) | Reverse engineering framework in Python. |
| binary | Library | [unicorn](http://www.unicorn-engine.org) | Multi-architecture CPU emulator framework. |
| binary | Library | [virtualsocket](https://github.com/antoniobianchi333/virtualsocket) | A nice library to interact with binaries. |
| crypto | Library | [cryptanalib3](https://github.com/unicornsasfuel/cryptanalib3) | The surviving core of featherduster cryptanalysis tool, updated for python3. |
| crypto | Library | [python-paddingoracle](https://github.com/mwielgoszewski/python-paddingoracle) | Padding oracle attack automation. |
================================================
FILE: angr/install
================================================
#!/bin/bash -ex
pipx install angr
"$(dirname "${BASH_SOURCE[0]}")"/pipx/venvs/angr/bin/python -m pip install ipython
================================================
FILE: angr/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
# for angr
apt-get -y install virtualenvwrapper python3-dev python3-pip build-essential libxml2-dev \
libxslt1-dev git libffi-dev cmake libreadline-dev libtool debootstrap \
debian-archive-keyring libglib2.0-dev libpixman-1-dev qtdeclarative5-dev \
binutils-multiarch nasm libc6:i386 libgcc1:i386 libstdc++6:i386 \
libtinfo6:i386 zlib1g:i386 vim libssl-dev openjdk-8-jdk
================================================
FILE: angr-management/install
================================================
#!/bin/bash -ex
# Pin setuptools < 82 to ensure pkg_resources is available for building
# dependencies like pyqodeng (setuptools 82.0.0 removed pkg_resources).
export PIP_CONSTRAINT=$(mktemp)
echo 'setuptools<82' > "$PIP_CONSTRAINT"
pipx install angr-management
rm -f "$PIP_CONSTRAINT"
================================================
FILE: angr-management/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
# for angr
apt-get -y install virtualenvwrapper python3-dev python3-pip build-essential libxml2-dev \
libxslt1-dev git libffi-dev cmake libreadline-dev libtool debootstrap \
debian-archive-keyring libglib2.0-dev libpixman-1-dev qtdeclarative5-dev \
binutils-multiarch nasm libc6:i386 libgcc1:i386 libstdc++6:i386 \
libtinfo6:i386 zlib1g:i386 vim libssl-dev openjdk-8-jdk
================================================
FILE: beef/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/beefproject/beef
cd beef
rm Gemfile.lock
bundle install
cd ..
mkdir bin
cat <<END >bin/beef
#!/bin/bash
export GEM_PATH=$PWD/gems
export GEM_HOME=$PWD/gems
cd $PWD/beef # REQUIRED for ruby crap
./beef "\$@"
END
chmod 755 bin/beef
================================================
FILE: beef/install-root-archlinux
================================================
#!/bin/bash -ex
pacman -Syu --noconfirm --needed \
ruby python2 ruby-bundler \
git make gcc openssl patch readline \
zlib libyaml libffi bzip2 autoconf automake \
libtool bison sqlite
================================================
FILE: beef/install-root-debian
================================================
#!/bin/bash -ex
apt-get install -y curl git build-essential openssl libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf libc6-dev libncurses5-dev automake libtool bison nodejs libcurl4-openssl-dev
apt-get install -y ruby ruby-rubygems ruby-dev ruby-bundler
================================================
FILE: burpsuite/install
================================================
#!/bin/bash -ex
wget -O ./burp.jar 'https://portswigger.net/DownloadUpdate.ashx?Product=Free'
chmod 755 ./burp.jar
mkdir -p bin
cd bin
ln -s ../burp.jar burpsuite
cd ..
================================================
FILE: burpsuite/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed jre7-openjdk
================================================
FILE: burpsuite/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
case "$(lsb_release -cs)" in
noble)
apt-get -y install openjdk-21-jre jarwrapper
;;
xenial)
apt-get -o Dpkg::Options::="--force-overwrite" -y install openjdk-9-jre
;;
*)
apt-get -y install openjdk-7-jre
;;
esac
================================================
FILE: codext/install
================================================
#!/bin/bash -ex
pipx install codext
================================================
FILE: commix/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/commixproject/commix.git
mkdir bin
cd bin
ln -s ../commix/commix.py
================================================
FILE: cribdrag/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/SpiderLabs/cribdrag
mkdir bin
cd bin
ln -s ../cribdrag/* .
cd ..
================================================
FILE: cross2/install
================================================
#!/bin/bash -ex
FILE=cross2-20130826.tgz
INSTALL_DIR=$PWD
[ ! -e $FILE ] && wget https://kozos.jp/books/asm/$FILE
tar xf $FILE
cd cross2/toolchain
./fetch.sh
./setup.sh
cd ..
sed -i -e "s|#makeopt=.*|makeopt='-j'|" config.sh
sed -i -e "s|install_dir.*|install_dir=\"$INSTALL_DIR\"|" config.sh
cd build
./build-install-all.sh
#mkdir -p bin
#cd bin
#for i in ../*/bin/*
#do
# F=$(basename $i)
# D=$(basename $(dirname $(dirname $i)))
# [ -f $D-$F ] || ln -s $i $D-$F
#done
#cd ..
================================================
FILE: crosstool/install
================================================
#!/bin/bash -ex
mkdir -p src
[ -e crosstool-ng ] || git clone --depth 1 https://github.com/crosstool-ng/crosstool-ng.git
pushd crosstool-ng
./bootstrap
./configure --enable-local
make -j $(nproc)
#make install
cp ../config .config
SAMPLES=$(ls samples | tr ',' '\n')
mkdir -p ../toolchains
for sample in $SAMPLES
do
../build-sample.sh $sample || echo "$sample" >> ../toolchains/broken
./ct-ng clean
done
popd
mkdir -p bin
pushd bin
for sample in $SAMPLES
do
ln -sf ../toolchains/$sample/bin/* .
rm -f '*'
done
popd
================================================
FILE: crosstool/install-root-archlinux
================================================
#!/bin/bash -ex
pacman -Syu --noconfirm gperf flex bison help2man gawk ncurses
================================================
FILE: crosstool/install-root-debian
================================================
#!/bin/bash -ex
apt-get install -y gperf flex bison help2man gawk libncurses5-dev libtool-bin
================================================
FILE: crosstool/uninstall
================================================
#!/bin/bash -ex
[ -e x-tools ] && chmod -R u+w x-tools
rm -rf crosstools-ng
================================================
FILE: decomp2dbg/install
================================================
#!/bin/bash -ex
pipx install decomp2dbg
[ -d ../gdb/venv ] && ../gdb/venv/bin/pip install decomp2dbg
[ -d ../ida/venv ] && ../ida/venv/bin/pip install decomp2dbg
[ -d ../ghidra/venv ] && ../ghidra/venv/bin/pip install decomp2dbg
[ -d ../angr-management/pipx/venvs ] && ../angr-management/pipx/venvs/angr-management/bin/python -m pip install decomp2dbg
coproc bin/decomp2dbg --install
# ida
if [ -d $PWD/../ida/*/plugins ]
then
echo y >& ${COPROC[1]}
echo $PWD/../ida/*/plugins >& ${COPROC[1]}
else
echo n >& ${COPROC[1]}
fi
# binja
echo n >& ${COPROC[1]}
# ghidra - temporarily disabled due to libbs missing libbs_vendored directory
echo n >& ${COPROC[1]}
# angr-management
if [ -d $PWD/../angr-management/pipx/venvs ]
then
echo y >& ${COPROC[1]}
echo $PWD/../angr-management/pipx/venvs/angr-management/lib/python3.12/site-packages/angrmanagement/plugins >& ${COPROC[1]}
else
echo n >& ${COPROC[1]}
fi
# gdb
echo y >& ${COPROC[1]}
echo $HOME/.gdbinit >& ${COPROC[1]}
if grep -B10 -E "(Stopping|Errno)" <& ${COPROC[0]}
then
echo "FAILED"
exit 1
fi
================================================
FILE: df/install
================================================
#!/bin/bash -ex
mkdir df_linux
pushd df_linux
wget -O - https://www.bay12games.com/dwarves/df_51_06_linux.tar.bz2 | tar xj
popd
mkdir -p bin
cat <<END > bin/dwarf_fortress
#/bin/bash
cd $PWD/run_df
./df "\$@"
END
chmod 755 bin/dwarf_fortress
================================================
FILE: df/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
sudo apt install -y libsdl2-image-2.0-0
================================================
FILE: elfkickers/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/BR903/ELFkickers
cd ELFkickers
make -j1
cd ..
mv ELFkickers/bin ./bin
================================================
FILE: elfparser/install
================================================
#!/bin/bash -ex
mkdir bin
git clone https://github.com/mentebinaria/elfparser-ng elfparser-ng
mkdir qt
pushd qt
cmake ../elfparser-ng
make -j
mv elfparser-ng ../bin/elfparser-gui-ng
popd
mkdir cli
pushd cli
cmake -D qt=no ../elfparser-ng
make -j
mv elfparser-cli-ng ../bin/
popd
rm -rf cli qt elfparser-ng
================================================
FILE: elfparser/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
sudo apt-get install -y cmake libboost-all-dev build-essential \
qtcreator qtdeclarative5-dev libzstd-dev libbz2-dev liblzma-dev \
qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
================================================
FILE: evilize/install
================================================
#!/bin/bash -ex
wget https://www.mscs.dal.ca/~selinger/md5collision/downloads/evilize-0.2.tar.gz
tar zvxf evilize-0.2.tar.gz
cd evilize-0.2
make -j $(nproc)
cd ..
mkdir bin
cd bin
ln -s ../evilize-0.2/evilize .
ln -s ../evilize-0.2/md5coll .
================================================
FILE: fastcoll/install
================================================
#!/bin/bash -ex
[ -e fastcoll ] || git clone https://github.com/upbit/clone-fastcoll fastcoll
cd fastcoll
make
cd ..
mkdir bin
cp fastcoll/fastcoll bin
================================================
FILE: featherduster/install
================================================
#!/bin/bash -ex
git clone --depth=1 https://github.com/nccgroup/featherduster.git
python2 -m virtualenv venv
venv/bin/pip2 install -e ./featherduster
mkdir bin
cd bin
ln -s ../venv/bin/featherduster .
================================================
FILE: featherduster/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libgmp3-dev libncurses5-dev
================================================
FILE: firmware-mod-kit/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/rampageX/firmware-mod-kit
pushd firmware-mod-kit
cd src
make
popd
mkdir -p bin
for i in $PWD/firmware-mod-kit/*.sh
do
cat <<END > bin/$(basename $i)
#!/bin/bash
export PATH="\$PATH:$(dirname $i)"
exec $i "\$@"
END
chmod 755 bin/$(basename $i)
done
pushd bin
for i in $(file ../firmware-mod-kit/src/{*,*/*} | grep "ELF.*executable" | cut -d: -f1 | cut -b 25-)
do
j=fmk-${i//\//-}
ln -s ../firmware-mod-kit/src/$i $j
done
popd
sed -i -e "s/SUDO=\"sudo\"/SUDO=\"\"/" firmware-mod-kit/*.sh
================================================
FILE: firmware-mod-kit/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed zlib xz python2-magic
================================================
FILE: firmware-mod-kit/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install liblzma-dev python3-magic zlib1g-dev
================================================
FILE: foresight/install
================================================
#!/bin/bash -ex
pipx install 'git+https://github.com/ALSchwalm/foresight.git'
================================================
FILE: galois/install
================================================
#!/bin/bash -ex
wget https://web.eecs.utk.edu/~plank/plank/papers/CS-07-593/galois.tar
mkdir -p galois
cd galois
tar xvf ../galois.tar
make
cd ..
mkdir -p bin
cd bin
ln -s ../galois/{gf_basic_tester,gf_div,gf_ilog,gf_inverse,gf_log,gf_mult,gf_xor,gf_xor_tester} .
cd ..
================================================
FILE: gdb/install
================================================
#!/bin/bash -ex
set -e -o pipefail
find_latest_gdb_version() {
git ls-remote --tags git://sourceware.org/git/binutils-gdb.git \
| grep -v users \
| grep -v '{}' \
| grep -oh 'gdb-[0-9]\{1,2\}\.[0-9]\{1,2\}\(\.[0-9]\{1,2\}\(\.[0-9]\{1,2\}\)\?\)\?-release' \
| sort --version-sort -r \
| sed 's/gdb-//g' \
| sed 's/-release//g' \
| head -n 1
}
VERSION=$(find_latest_gdb_version)
echo $VERSION > gdb_version
rm -rf "gdb" || true
curl "https://ftp.gnu.org/gnu/gdb/gdb-$VERSION.tar.gz" | tar xz
mv "gdb-$VERSION" "gdb"
set +x
# move to ctftools virtual env
virtualenv venv
source venv/bin/activate
set -x
PREFIX=$(pwd)
pushd ./gdb
./configure \
--prefix=$PREFIX \
--with-python=$(which python) \
--enable-targets=all \
--with-guile=guile-2.2
make -j $(nproc)
make install
# remove build artifacts
make clean
popd
================================================
FILE: gdb/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --needed --noconfirm texinfo guile2.0
================================================
FILE: gdb/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install texinfo guile-2.2-dev libgmp-dev libmpfr-dev
================================================
FILE: gdb/install-root-fedora
================================================
#!/bin/bash -ex
dnf install -y texinfo
================================================
FILE: gef/install
================================================
#!/bin/bash -ex
set -eu -o pipefail
wget -O gef.py -q https://gef.blah.cat/py
mkdir bin
cat <<END > bin/gef
#!/bin/bash
gdb -ex "source $PWD/gef.py" "\$@"
END
chmod 755 bin/gef
================================================
FILE: ghidra/install
================================================
#!/bin/bash -ex
# try to get the best of both worlds for local tweaking and global installs
virtualenv --system-site-packages venv
[ -e https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_11.3.1_build/ghidra_11.3.1_PUBLIC_20250219.zip ] || wget https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_11.3.1_build/ghidra_11.3.1_PUBLIC_20250219.zip
[ -e ghidra_11.3.1_PUBLIC ] || unzip ghidra_11.3.1_PUBLIC_20250219.zip
mkdir -p bin
cat <<END > bin/ghidra
#!/bin/bash
[ -n "\$VIRTUAL_ENV" ] || source $PWD/venv/bin/activate
$PWD/ghidra_11.3.1_PUBLIC/ghidraRun "\$@"
END
chmod 755 bin/ghidra
================================================
FILE: ghidra/install-root-debian
================================================
#!/bin/bash -ex
sudo apt install openjdk-11-jdk jarwrapper -y
================================================
FILE: hash-identifier/install
================================================
#!/bin/bash -ex
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/hash-identifier/Hash_ID_v1.1.py
chmod 755 Hash_ID_v1.1.py
fromdos Hash_ID_v1.1.py || dos2unix Hash_ID_v1.1.py
mkdir -p bin
cd bin
ln -s ../Hash_ID_v1.1.py ./hash_id.py
================================================
FILE: hash-identifier/install-root-debian
================================================
#!/bin/bash -ex
apt-get -y install tofrodos
================================================
FILE: hashpump-partialhash/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/mheistermann/HashPump-partialhash.git
cd HashPump-partialhash
make -j $(nproc)
cd ..
mkdir bin
cd bin
ln -s ../HashPump-partialhash/hashpump .
cd ..
================================================
FILE: hashpump-partialhash/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed openssl
================================================
FILE: hashpump-partialhash/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libssl-dev
================================================
FILE: honggfuzz/install
================================================
#!/bin/bash -ex
[ -e honggfuzz ] || git clone --depth 1 https://github.com/google/honggfuzz
cd honggfuzz
make -j
mkdir -p ../bin
cp honggfuzz ../bin
================================================
FILE: honggfuzz/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail
# apt-get install libbfd-dev libunwind8-dev
pacman -Syu --noconfirm --needed libunwind binutils
================================================
FILE: honggfuzz/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get install -y libbfd-dev libunwind8-dev
================================================
FILE: ida/install
================================================
#!/bin/bash -ex
# our venv shenanigans
python3.13 -m venv venv
source venv/bin/activate
tar xvf ~/Downloads/IDA*.tar.gz
IDA_DIR=$(dirname */libida.so)
pushd $IDA_DIR
./idapyswitch --force-path /usr/lib/x86_64-linux-gnu/libpython3.13.so.1.0
popd
# install this here
pip install ida-pro-mcp
ida-pro-mcp --install
mkdir bin
cat <<END >bin/ida64
#!/bin/bash
[ -n "\$VIRTUAL_ENV" ] || source $PWD/venv/bin/activate
exec $PWD/[^b]*/ida64 "\$@"
END
chmod 755 bin/ida64
================================================
FILE: ida/install-root-debian
================================================
#!/bin/bash -ex
apt-get install python3.13-venv libpython3.13
================================================
FILE: jdgui/install
================================================
#!/bin/bash -ex
mkdir bin
[ -e bin/jd-gui.jar ] || wget https://github.com/java-decompiler/jd-gui/releases/download/v1.6.6/jd-gui-1.6.6.jar -O bin/jd-gui.jar
chmod 755 bin/jd-gui.jar
chmod 755 bin/jd-gui.jar
================================================
FILE: jdgui/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed jre7-openjdk
================================================
FILE: jdgui/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
case "$(lsb_release -cs)" in
noble)
apt-get -y install openjdk-21-jre
;;
bookworm)
apt-get -y install openjdk-17-jre
;;
xenial)
apt-get -o Dpkg::Options::="--force-overwrite" -y install openjdk-9-jre
;;
*)
apt-get -y install openjdk-7-jre
;;
esac
sudo apt install -y jarwrapper
================================================
FILE: libc-database/install
================================================
#!/bin/bash -ex
[ -e libc-database ] || git clone https://github.com/niklasb/libc-database
# Patch libc-database to handle large RPM files (>4GB) by using rpm2archive as fallback
# rpm2cpio doesn't support files over 4GB, but rpm2archive does
cp extract_rpm.sh libc-database/common/
chmod +x libc-database/common/extract_rpm.sh
# Replace rpm2cpio|cpio pipeline with our wrapper script
perl -i -0pe 's/\(rpm2cpio pkg\.rpm \|\| die "rpm2cpio failed"\) \| \\\n\s+\(cpio -id --quiet \|\| die "cpio failed"\)/bash "\$SCRIPT_DIR\/common\/extract_rpm.sh" pkg.rpm || die "rpm extraction failed"/g' libc-database/common/libc.sh
# Add SCRIPT_DIR variable near the top of libc.sh
sed -i '1a SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"' libc-database/common/libc.sh
mkdir -p bin
for i in add dump find get identify download
do
cat <<END > bin/libc-database-$i
cd $PWD/libc-database/
./$i "\$@"
END
chmod 755 bin/libc-database-$i
done
bin/libc-database-get all
================================================
FILE: libc-database/install-root-debian
================================================
#!/bin/bash -ex
sudo apt-get install -y \
binutils file \
wget \
rpm2cpio cpio \
zstd jq
================================================
FILE: manticore/install
================================================
#!/bin/bash -ex
pipx install --python $(which pypy3) "manticore[native]"
================================================
FILE: manticore/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install pypy3 pypy3-dev rustc cargo
================================================
FILE: mitmproxy/install
================================================
#!/bin/bash -ex
pipx install mitmproxy
================================================
FILE: mitmproxy/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libssl-dev libffi-dev libtiff5-dev libjpeg8-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python3-tk libxml2-dev libxslt1-dev
================================================
FILE: msieve/install
================================================
#!/bin/bash -ex
mkdir bin
wget -O msieve.tar.gz "https://downloads.sourceforge.net/project/msieve/msieve/Msieve v1.53/msieve153_src.tar.gz"
tar -xf msieve.tar.gz
cd msieve-*
make all
cp msieve ../bin
================================================
FILE: msieve/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed gmp
================================================
FILE: msieve/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libgmp3-dev libgmp-dev libz-dev
================================================
FILE: nonce-disrespect/install
================================================
#!/bin/bash -ex
git clone https://github.com/nonce-disrespect/nonce-disrespect.git
git -C nonce-disrespect apply $PWD/build.patch
make -C nonce-disrespect/tool
mkdir bin
cp nonce-disrespect/tool/forge bin/
cp nonce-disrespect/tool/recover bin/
================================================
FILE: nonce-disrespect/install-root-debian
================================================
#!/bin/bash -ex
sudo apt-get install -y libntl-dev libgmp-dev
================================================
FILE: one_gadget/install
================================================
#!/bin/bash -ex
gem install one_gadget
================================================
FILE: one_gadget/install-root-archlinux
================================================
#!/bin/bash -ex
pacman -Syu --noconfirm --needed ruby
================================================
FILE: one_gadget/install-root-debian
================================================
#!/bin/bash -ex
apt-get install -y ruby
================================================
FILE: pdf-parser/install
================================================
#!/bin/bash -ex
wget https://didierstevens.com/files/software/pdf-parser_V0_7_11.zip
unzip pdf-parser_V0_7_11.zip
mkdir -p bin
mv pdf-parser.py bin/pdf-parser
chmod 755 bin/pdf-parser
================================================
FILE: peepdf/install
================================================
#!/bin/bash -ex
pipx install "git+https://github.com/cert-ee/peepdf"
================================================
FILE: pemcrack/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/robertdavidgraham/pemcrack.git
cd pemcrack
make
cd ..
mkdir -p bin
cp pemcrack/bin/pemcrack bin/
================================================
FILE: pemcrack/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libssl-dev
================================================
FILE: pkcrack/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/keyunluo/pkcrack pkcrack-src
mkdir -p pkcrack-src/build
cd pkcrack-src/build
cmake ..
make
mkdir -p ../../bin
cp ../bin/extract ../bin/findkey ../bin/makekey ../bin/pkcrack ../bin/zipdecrypt ../../bin
cd ../../
================================================
FILE: pkcrack/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install cmake
================================================
FILE: preeny/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/zardus/preeny
PATH=$PWD/../crosstool/bin:$PATH
cd preeny
for i in ../../crosstool/bin/*-gcc
do
t=$(basename $i)
CC=$t make -j $(nproc) -i
done
PLATFORM=-m32 setarch i686 make -i
mv x86_64-linux-gnu i686-linux-gnu
make -i
================================================
FILE: pwndbg/install
================================================
#!/bin/bash -ex
#git clone --depth 1 https://github.com/pwndbg/pwndbg
wget https://github.com/pwndbg/pwndbg/releases/download/2025.02.19/pwndbg_2025.02.19_x86_64-portable.tar.xz
tar xvf pwndbg_*-portable.tar.xz --strip-components 2
================================================
FILE: pwndbg/install-root-archlinux
================================================
#!/bin/bash -ex
# install system wide, s.t. pwndbg works also with system qemu
pacman -Syu --noconfirm python-psutil python2-psutil \
capstone python-capstone python2-capstone \
unicorn python-unicorn python2-unicorn \
python-future python2-future \
python-ptrace python2-ptrace \
python-six python2-six \
python-pyelftools python2-pyelftools \
python-pycparser python2-pycparser
================================================
FILE: pwndbg/install-root-debian
================================================
#!/bin/bash -ex
sudo apt-get -y install python3-dev python3-pip \
libglib2.0-dev libc6-dbg
if uname -m | grep x86_64 > /dev/null; then
sudo apt-get install libc6-dbg:i386 || true
fi
================================================
FILE: pwndbg/install-root-fedora
================================================
#!/bin/bash -ex
dnf install -y dnf-plugins-core
dnf debuginfo-install -y glibc
================================================
FILE: pwninit/install
================================================
#!/bin/bash -ex
mkdir bin
pushd bin
wget https://github.com/io12/pwninit/releases/download/3.3.1/pwninit
chmod 755 pwninit
================================================
FILE: pwninit/install-root-debian
================================================
#!/bin/bash -ex
sudo apt-get install -y patchelf
================================================
FILE: pwnsh/install
================================================
#!/bin/bash -ex
git clone https://github.com/zardus/pwnsh
pushd pwnsh
./update-syscalls.sh
popd
mkdir bin
pushd bin
ln -s ../pwnsh/scripts/* .
================================================
FILE: pwntools/install
================================================
#!/bin/bash -ex
git clone --depth=1 https://github.com/Gallopsled/pwntools.git
pipx install -e ./pwntools
================================================
FILE: pwntools/install-root-archlinux
================================================
#!/bin/bash -ex
pacman -Syu --noconfirm --needed binutils openssl libffi
================================================
FILE: pwntools/install-root-debian
================================================
#!/bin/bash -ex
apt-get install -y python3-pip python3-dev git libssl-dev libffi-dev build-essential
================================================
FILE: pwntools/install-root-fedora
================================================
#!/bin/bash -ex
dnf install -y binutils binutils-devel libffi-devel openssl-devel
================================================
FILE: python2/install
================================================
#!/bin/bash -ex
[ -d pyenv ] || git clone --depth=1 https://github.com/pyenv/pyenv
export PYENV_ROOT=$PWD/pyenv-root
pyenv/bin/pyenv install 2.7.18
mkdir bin
cd bin
ln -s ../pyenv-root/versions/2.7.18/bin/{easy_install-2.7,pip2.7,python2.7,python2.7-gdb.py,pip2,python2,python2.7-config,python2-config} .
./pip2 install virtualenv
================================================
FILE: python2/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
# pyvenv
apt-get -y install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl git libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
apt-get -y install libgmp3-dev libncurses5-dev
================================================
FILE: qemu/install
================================================
#!/bin/bash -ex
find_latest_qemu_version() {
git ls-remote --tags https://gitlab.com/qemu-project/qemu.git \
| grep -v '\-rc' \
| grep -oh 'v[0-9]\{1,2\}\.[0-9]\{1,2\}\(\.[0-9]\{1,2\}\(\.[0-9]\{0,2\}\)\?\)\?' \
| sort --version-sort -r \
| head -n 1
}
#VERSION=v2.10.1
VERSION=$(find_latest_qemu_version)
echo $VERSION > qemu_version
git clone --depth=1 -b "$VERSION" https://gitlab.com/qemu-project/qemu.git
set +x
virtualenv venv
source venv/bin/activate
pip install sphinx sphinx_rtd_theme
set -x
prefix="--prefix=$(pwd)"
python="--python=$(which python)"
build_flags=""
mkdir build
pushd build
if ! ../qemu/configure "$prefix" "$python" $build_flags; then
echo "Updating QEMU submodules in case dependencies are missing"
pushd ../qemu/
git submodule init
git submodule update --recursive
popd
# redo configure step
../qemu/configure "$prefix" "$python" $build_flags
fi
make -j $(nproc)
make install
# remove build artifacts - qemu is huge otherwise...
make clean
popd
rm -rf build
================================================
FILE: qemu/install-root-archlinux
================================================
#!/bin/bash -ex
pacman -Syu --noconfirm --needed python2 pixman dtc
================================================
FILE: qemu/install-root-debian
================================================
#!/bin/bash -ex
apt-get install -y python3 pkg-config zlib1g-dev \
libglib2.0-dev libpixman-1-dev libfdt-dev ninja-build flex bison
================================================
FILE: qiling/install
================================================
#!/bin/bash -ex
virtualenv venv
source venv/bin/activate
git clone -b dev --depth 1 https://github.com/qilingframework/qiling.git
pushd qiling
git submodule update --init --recursive
pip install .
popd
cp qiling/qltui.py venv/lib/python3.12/site-packages
mkdir -p bin
cat <<END >bin/qltool
#!/bin/bash
source $PWD/venv/bin/activate
exec $PWD/qiling/qltool "\$@"
END
chmod 755 bin/qltool
================================================
FILE: qiling/install-root-debian
================================================
#!/bin/bash -ex
# from https://docs.qiling.io/en/latest/install/, but seems insane
export DEBIAN_FRONTEND=noninteractive
sudo apt install -y ack antlr3 aria2 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \
libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \
mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python3 python3-pip libpython3-dev qemu-utils \
rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
================================================
FILE: qira/install
================================================
#!/bin/bash -ex
mkdir nosudo
cat <<END > nosudo/sudo
#!/bin/bash
echo SUDO BLOCKED: "\$@"
END
chmod 755 nosudo/sudo
git clone --depth 1 https://github.com/BinaryAnalysisPlatform/qira.git
#export HOME=$PWD
export PATH=$PWD/nosudo:$PATH
cd qira
git apply ../qira_fix.patch
./install.sh
cd ..
mkdir -p bin
cd bin
ln -s ../qira/qira qira
cd ..
================================================
FILE: qira/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed python2-pip openssl libjpeg-turbo zlib \
unzip wget graphviz gmp llvm clang ocaml llvm-ocaml python2-virtualenv \
wget flex bison libtool automake autoconf pkg-config libevent glib2
================================================
FILE: qira/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libssl-dev build-essential python3-dev python3-pip debootstrap libjpeg-dev zlib1g-dev unzip wget graphviz software-properties-common libgmp-dev llvm-19-dev time ocaml ocaml-native-compilers camlp4-extra opam clang python3-virtualenv wget flex bison libtool automake autoconf autotools-dev pkg-config libglib2.0-dev libevent-dev
apt-get -y build-dep qemu
================================================
FILE: rappel/install
================================================
#!/bin/bash -ex
git clone https://github.com/yrp604/rappel
cd rappel
make
cd ..
mkdir -p bin
cd bin
ln -s ../rappel/bin/* .
cd ..
================================================
FILE: rappel/install-root-debian
================================================
#!/bin/bash -ex
apt-get install -y libedit-dev nasm
apt-get install -y libedit-dev:i386 || true
================================================
FILE: reveng/install
================================================
#!/bin/bash -ex
wget https://downloads.sourceforge.net/project/reveng/3.0.6/reveng-3.0.6.tar.gz
tar -xf reveng-3.0.6.tar.gz
cd reveng-3.0.6
sed -i -e "s/^#define BMP_BIT.*/#define BMP_BIT 64/" config.h
sed -i -e "s/^#define BMP_SUB.*/#define BMP_SUB 32/" config.h
make -j $(nproc)
cd ..
mkdir -p bin
cp reveng-3.0.6/reveng bin
================================================
FILE: ropper/install
================================================
#!/bin/bash -ex
pipx install ropper
================================================
FILE: ropper/test
================================================
#!/bin/bash -ex
set +e
source ${VIRTUALENVWRAPPER_SCRIPT}
workon ctftools
set -e
[ $(ropper --file /bin/false | wc -l) -gt 400 ] || exit 1
exit 0
================================================
FILE: rp++/install
================================================
#!/bin/bash -ex
wget https://github.com/0vercl0k/rp/releases/download/v2.1.4/rp-lin-gcc.zip
unzip rp-lin-gcc.zip
mkdir bin
mv rp-lin bin/rp++
chmod 755 bin/rp++
================================================
FILE: rsactftool/install
================================================
#!/bin/bash -ex
virtualenv venv
source venv/bin/activate
git clone --depth 1 https://github.com/Ganapati/RsaCtfTool
pushd RsaCtfTool
pip install -r requirements.txt
popd
mkdir bin
cat <<END >bin/RsaCtfTool.py
#!/bin/bash
source $PWD/venv/bin/activate
exec $PWD/RsaCtfTool/RsaCtfTool.py "\$@"
END
chmod 755 bin/*
================================================
FILE: rsactftool/install-root-debian
================================================
#!/bin/bash -ex
sudo apt-get install -y libgmp3-dev libmpc-dev
================================================
FILE: scrdec18/install
================================================
#!/bin/bash -ex
wget "https://gist.githubusercontent.com/bcse/1834878/raw/7483fb72abbb32aa69b853fdcc9f6f72e7568677/scrdec18.c"
mkdir -p bin
gcc -o bin/scrdec18 scrdec18.c
================================================
FILE: seccomp-tools/install
================================================
#!/bin/bash -ex
gem install seccomp-tools
================================================
FILE: seccomp-tools/install-root-debian
================================================
#!/bin/bash -ex
apt-get install -y ruby ruby-dev
================================================
FILE: shellnoob/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/reyammer/shellnoob
mkdir -p bin
cd bin
ln -s ../shellnoob/shellnoob.py .
cd ..
================================================
FILE: social-analyzer/install
================================================
#!/bin/bash -ex
pipx install social-analyzer
================================================
FILE: ssh_decoder/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/jjyg/ssh_decoder.git
chmod 755 ssh_decoder/ssh_decoder.rb
mkdir bin
cd bin
ln -s ../ssh_decoder/ssh_decoder.rb ssh_decoder
cd ..
================================================
FILE: sslsplit/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/droe/sslsplit
cd sslsplit
make -j $(nproc)
cd ..
mkdir bin
cp sslsplit/sslsplit bin/
================================================
FILE: sslsplit/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --noconfirm --needed libevent
================================================
FILE: sslsplit/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install libevent-dev pkg-config libssl-dev libnet1-dev libpcap-dev
================================================
FILE: steganabara/install
================================================
#!/bin/bash -ex
curl http://www.caesum.com/handbook/steganabara-1.1.1.tar.gz | tar xz
mkdir -p bin
cat <<END > bin/steganabara
#!/bin/bash -e
java -cp $PWD/Steganabara/bin steganabara.Steganabara
END
chmod 755 bin/steganabara
================================================
FILE: stegano-tools/install
================================================
#!/bin/bash -ex
virtualenv venv
source venv/bin/activate
pip install tinyscript
[ -e stegano-tools ] || git clone --recurse https://github.com/dhondta/stegano-tools
mkdir -p bin
for F in `find stegano-tools -type f -iname "*.py"`; do
N="${F##*/}"
N="${N%.py}"
P1="`pwd`/$F"
P2="$VIRTUAL_ENV/bin/$N"
echo "$N"
chmod +x $P1
cp $P1 $P2
sed -i '1s|.*|#!'"$VIRTUAL_ENV"'/bin/python3|' $P2
ln -s $P2 bin/$N
done
================================================
FILE: stegano-tools/uninstall
================================================
#!/bin/bash -ex
for F in paddinganograph stegolsb stegopit stegopvd; do
rm -f $HOME/tools/bin/$F
rm -f $HOME/.virtualenvs/ctftools/bin/$F
rm -f $HOME/.virtualenvs/ctftools3/bin/$F
done
================================================
FILE: stegdetect/install
================================================
#!/bin/bash -ex
INST_DIR="$PWD"
git clone --depth 1 https://github.com/sparticvs/stegdetect
mkdir -p bin etc man/man1 share/stegbreak
pushd stegdetect
git remote set-branches origin '*'
git fetch -v --depth=1
git checkout dev/fix-compilation
git apply ../statics.patch
linux32 autoreconf -i -f
# what the actual fuck
linux32 ./configure --prefix="$INST_DIR"
sed -i -e "s/#ifndef HAVE_TIMERADD//" config.h
linux32 make
linux32 make install
popd
wget https://launchpadlibrarian.net/16697277/rules.ini -O share/stegbreak/rules.ini
================================================
FILE: stegdetect/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail
echo "ERROR: archlinux has no aclocal-1.4. only $(aclocal --version | head -n 1)"
exit 1
pacman -Syu --noconfirm --needed automake
================================================
FILE: stegdetect/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install automake1.11 automake autotools-dev libevent-dev libmagic-dev
apt-get install -y libjpeg*-turbo*-dev
================================================
FILE: stegosaurus/install
================================================
#!/bin/bash -ex
INST_DIR="$PWD"
git clone --depth 1 https://github.com/AngelKitty/stegosaurus.git
mkdir bin
cd bin
ln -s ../stegosaurus/stegosaurus .
================================================
FILE: stegsolve/install
================================================
#!/bin/bash -ex
wget http://www.caesum.com/handbook/Stegsolve.jar -O stegsolve.jar
chmod +x stegsolve.jar
mkdir bin
mv stegsolve.jar bin/
================================================
FILE: subbrute/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/TheRook/subbrute.git
mkdir -p bin
cd bin
ln -s ../subbrute/subbrute.py subbrute
cd ..
================================================
FILE: taintgrind/install
================================================
#!/bin/bash -ex
curl https://sourceware.org/pub/valgrind/valgrind-3.25.1.tar.bz2 | tar xj
cd valgrind-3.25.1
git clone --depth 1 https://github.com/wmkhoo/taintgrind.git
cd taintgrind
./build_taintgrind.sh
cd ../../
mkdir -p bin
cat <<END >bin/taintgrind
#!/bin/bash
exec $PWD/valgrind-3.25.1/build/bin/taintgrind "\$@"
END
cat <<END >bin/taintgrind-log2dot
#!/bin/bash
exec python3 $PWD/valgrind-3.25.1/taintgrind/log2dot.py "\$@"
END
chmod 755 bin/*
================================================
FILE: tor-browser/install
================================================
#!/bin/bash -ex
REL_PATH=$(curl https://www.torproject.org/download/ | grep -i tor-browser-linux-x86_64 | grep 'xz"' | sed -e 's/.*href="//' -e 's/">.*//')
wget https://www.torproject.org/$REL_PATH -O - | tar xvJ
mkdir -p bin
cat <<END >bin/tor-browser
#!/bin/bash
cd $PWD/tor-browser
./start-tor-browser.desktop "\$@"
END
chmod 755 bin/*
================================================
FILE: valgrind/install
================================================
#!/bin/bash -ex
INST_DIR=$PWD
curl ftp://sourceware.org/pub/valgrind/valgrind-3.13.0.tar.bz2 | tar xj
cd valgrind-3.13.0
./autogen.sh
./configure --prefix=$INST_DIR
make -j $(nproc)
make install
================================================
FILE: veles/install
================================================
#!/bin/bash -ex
wget -O src.tar.gz https://codisec.com/wp-content/uploads/2016/12/Veles_2016.12_Source.tar.gz
tar xf src.tar.gz
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=.. ../veles-2016.12
make -j8
make install
================================================
FILE: veles/install-root-archlinux
================================================
#!/bin/bash -ex
pacman -Syu --noconfirm --needed cmake zlib qt5-base
================================================
FILE: veles/install-root-debian
================================================
#!/bin/bash -ex
apt-get install -y cmake zlib1g-dev qtbase5-dev
================================================
FILE: villoc/install
================================================
#!/bin/bash -ex
PIN_NAME=pin-external-3.31-98869-gfa6f126a8-gcc-linux
curl https://software.intel.com/sites/landingpage/pintool/downloads/$PIN_NAME.tar.gz | tar xz
export PIN_ROOT=$PWD/$PIN_NAME
git clone --depth 1 https://github.com/wapiflapi/villoc
cd villoc/tracers/pintool
make PIN_ROOT=$PIN_ROOT
cd ../../
chmod 755 villoc.py
cd ..
mkdir -p bin
cd bin
ln -s ../villoc/villoc.py .
cd ..
================================================
FILE: volatility/install
================================================
#!/bin/bash -ex
[ -e volatility ] || git clone --depth 1 https://github.com/volatilityfoundation/volatility
python2 -m virtualenv venv
venv/bin/pip2 install -e ./volatility
venv/bin/pip2 install distorm3
venv/bin/pip2 install pycrypto
mkdir bin
cd bin
ln -s ../venv/bin/vol* .
================================================
FILE: volatility3/install
================================================
#!/bin/bash -ex
pipx install volatility3
================================================
FILE: webgrep/install
================================================
#!/bin/bash -ex
pipx install 'git+https://github.com/dhondta/webgrep.git'
================================================
FILE: webgrep/install-root-archlinux
================================================
#!/bin/bash -ex
set -eu -o pipefail
pacman -Syu --needed --noconfirm binutils grep imagemagick perl-image-exiftool steghide tesseract
================================================
FILE: webgrep/install-root-debian
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install binutils grep imagemagick libimage-exiftool-perl steghide tesseract-ocr
================================================
FILE: webgrep/install-root-fedora
================================================
#!/bin/bash -ex
set -eu -o pipefail
dnf install perl-Image-ExifTool.noarch
dnf install -y binutils grep imagemagick steghide tesseract
================================================
FILE: webgrep/install-root-ubuntu
================================================
#!/bin/bash -ex
set -eu -o pipefail
apt-get -y install binutils grep imagemagick exiftool steghide tesseract-ocr
================================================
FILE: xortool/install
================================================
#!/bin/bash -ex
pipx install 'git+https://github.com/hellman/xortool.git'
================================================
FILE: xrop/install
================================================
#!/bin/bash -ex
git clone --depth 1 https://github.com/acama/xrop.git
cd xrop
git submodule update --init --recursive
make -j 1 # Watch out!! -j $(nproc) makes the build fail
cd ..
mkdir -p bin
cd bin
ln -s ../xrop/xrop .
cd ..
================================================
FILE: xrop/install-root-debian
================================================
#!/bin/bash -ex
apt-get update
apt-get install -y zlib1g-dev
================================================
FILE: xspy/install
================================================
#!/bin/bash -ex
[ -e xspy ] || git clone https://gitlab.com/kalilinux/packages/xspy
mkdir -p bin
gcc -o bin/xspy xspy/Xspy.c -lX11
================================================
FILE: xspy/install-root-debian
================================================
#!/bin/bash -ex
apt-get install -y libx11-dev
================================================
FILE: yafu/install
================================================
#!/bin/bash -ex
mkdir yafu
mkdir bin
cd yafu
wget "https://downloads.sourceforge.net/project/yafu/1.34/yafu-1.34.zip" -O yafu.zip
unzip yafu.zip
chmod 755 yafu
mv yafu ../bin
================================================
FILE: yafu/test
================================================
#!/bin/bash -ex
RESULT=$(./bin/yafu 'factor(10)' | grep "^P" | tr -d '\n')
[ "$RESULT" == "P1 = 2P1 = 5" ] || exit 1
./bin/yafu 'factor(427836528347651349523452345)' | grep "^P" | grep -q 3290292219611
================================================
FILE: zsteg/install
================================================
#!/bin/bash -ex
gem install zsteg
================================================
FILE: zsteg/install-root-archlinux
================================================
#!/bin/bash -ex
pacman -Syu --noconfirm --needed ruby
================================================
FILE: zsteg/install-root-debian
================================================
#!/bin/bash -ex
apt-get install -y ruby
================================================
FILE: zsteg/uninstall
================================================
#!/bin/bash -ex
echo "Y" | gem uninstall --user-install zsteg
gitextract_erjatswu/
├── .dockerignore
├── .gitignore
├── Dockerfile
├── Dockerfile.archlinux
├── Dockerfile.artful
├── Dockerfile.fedora
├── LICENSE
├── README.md
├── angr/
│ ├── install
│ └── install-root-debian
├── angr-management/
│ ├── install
│ └── install-root-debian
├── beef/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── burpsuite/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── codext/
│ └── install
├── commix/
│ └── install
├── cribdrag/
│ └── install
├── cross2/
│ └── install
├── crosstool/
│ ├── install
│ ├── install-root-archlinux
│ ├── install-root-debian
│ └── uninstall
├── decomp2dbg/
│ └── install
├── df/
│ ├── install
│ └── install-root-debian
├── elfkickers/
│ └── install
├── elfparser/
│ ├── install
│ └── install-root-debian
├── evilize/
│ └── install
├── fastcoll/
│ └── install
├── featherduster/
│ ├── install
│ └── install-root-debian
├── firmware-mod-kit/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── foresight/
│ └── install
├── galois/
│ └── install
├── gdb/
│ ├── install
│ ├── install-root-archlinux
│ ├── install-root-debian
│ └── install-root-fedora
├── gef/
│ └── install
├── ghidra/
│ ├── install
│ └── install-root-debian
├── hash-identifier/
│ ├── install
│ └── install-root-debian
├── hashpump-partialhash/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── honggfuzz/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── ida/
│ ├── install
│ └── install-root-debian
├── jdgui/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── libc-database/
│ ├── install
│ └── install-root-debian
├── manticore/
│ ├── install
│ └── install-root-debian
├── mitmproxy/
│ ├── install
│ └── install-root-debian
├── msieve/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── nonce-disrespect/
│ ├── install
│ └── install-root-debian
├── one_gadget/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── pdf-parser/
│ └── install
├── peepdf/
│ └── install
├── pemcrack/
│ ├── install
│ └── install-root-debian
├── pkcrack/
│ ├── install
│ └── install-root-debian
├── preeny/
│ └── install
├── pwndbg/
│ ├── install
│ ├── install-root-archlinux
│ ├── install-root-debian
│ └── install-root-fedora
├── pwninit/
│ ├── install
│ └── install-root-debian
├── pwnsh/
│ └── install
├── pwntools/
│ ├── install
│ ├── install-root-archlinux
│ ├── install-root-debian
│ └── install-root-fedora
├── python2/
│ ├── install
│ └── install-root-debian
├── qemu/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── qiling/
│ ├── install
│ └── install-root-debian
├── qira/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── rappel/
│ ├── install
│ └── install-root-debian
├── reveng/
│ └── install
├── ropper/
│ ├── install
│ └── test
├── rp++/
│ └── install
├── rsactftool/
│ ├── install
│ └── install-root-debian
├── scrdec18/
│ └── install
├── seccomp-tools/
│ ├── install
│ └── install-root-debian
├── shellnoob/
│ └── install
├── social-analyzer/
│ └── install
├── ssh_decoder/
│ └── install
├── sslsplit/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── steganabara/
│ └── install
├── stegano-tools/
│ ├── install
│ └── uninstall
├── stegdetect/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── stegosaurus/
│ └── install
├── stegsolve/
│ └── install
├── subbrute/
│ └── install
├── taintgrind/
│ └── install
├── tor-browser/
│ └── install
├── valgrind/
│ └── install
├── veles/
│ ├── install
│ ├── install-root-archlinux
│ └── install-root-debian
├── villoc/
│ └── install
├── volatility/
│ └── install
├── volatility3/
│ └── install
├── webgrep/
│ ├── install
│ ├── install-root-archlinux
│ ├── install-root-debian
│ ├── install-root-fedora
│ └── install-root-ubuntu
├── xortool/
│ └── install
├── xrop/
│ ├── install
│ └── install-root-debian
├── xspy/
│ ├── install
│ └── install-root-debian
├── yafu/
│ ├── install
│ └── test
└── zsteg/
├── install
├── install-root-archlinux
├── install-root-debian
└── uninstall
Condensed preview — 154 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (69K chars).
[
{
"path": ".dockerignore",
"chars": 23,
"preview": "*\n!.git\n!.docker\n!bin/\n"
},
{
"path": ".gitignore",
"chars": 71,
"preview": "*/*\nbin/*\n!*/install\n!*/uninstall\n!*/install-root-*\n!*/upgrade\n!*/test\n"
},
{
"path": "Dockerfile",
"chars": 1049,
"preview": "FROM ubuntu:noble\n\nrun <<END\n export DEBIAN_FRONTEND=\"noninteractive\" \n apt-get -q update \n apt-get dist-upgrad"
},
{
"path": "Dockerfile.archlinux",
"chars": 1300,
"preview": "from base/archlinux\n\nRUN cat /etc/pacman.d/mirrorlist \\ \n | sed 's/^#Server/Server/' \\\n > /etc/pacman.d/mi"
},
{
"path": "Dockerfile.artful",
"chars": 783,
"preview": "FROM ubuntu:artful\n\n# wrapper script for apt-get\nCOPY .docker/apt-get-install /usr/local/bin/apt-get-install\nRUN chmod +"
},
{
"path": "Dockerfile.fedora",
"chars": 706,
"preview": "FROM fedora\n\nRUN dnf -y install which sudo git redhat-lsb\n\nRUN useradd -m ctf\nCOPY .git /home/ctf/tools/.git\nRUN chown -"
},
{
"path": "LICENSE",
"chars": 1531,
"preview": "BSD 3-Clause License\n\nCopyright (c) 2019-present, Zardus and contributors\nAll rights reserved.\n\nRedistribution and use i"
},
{
"path": "README.md",
"chars": 24291,
"preview": "# ctf-tools\n\nThis is a collection of setup scripts to create an install of various security research tools.\nOf course, t"
},
{
"path": "angr/install",
"chars": 118,
"preview": "#!/bin/bash -ex\n\npipx install angr\n\"$(dirname \"${BASH_SOURCE[0]}\")\"/pipx/venvs/angr/bin/python -m pip install ipython\n"
},
{
"path": "angr/install-root-debian",
"chars": 424,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\n# for angr\napt-get -y install virtualenvwrapper python3-dev python3-pip build-essen"
},
{
"path": "angr-management/install",
"chars": 287,
"preview": "#!/bin/bash -ex\n\n# Pin setuptools < 82 to ensure pkg_resources is available for building\n# dependencies like pyqodeng (s"
},
{
"path": "angr-management/install-root-debian",
"chars": 424,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\n# for angr\napt-get -y install virtualenvwrapper python3-dev python3-pip build-essen"
},
{
"path": "beef/install",
"chars": 288,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/beefproject/beef\n\ncd beef\nrm Gemfile.lock\nbundle install\ncd ..\n\n"
},
{
"path": "beef/install-root-archlinux",
"chars": 201,
"preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed \\\n ruby python2 ruby-bundler \\\n git make gcc openssl patch readl"
},
{
"path": "beef/install-root-debian",
"chars": 334,
"preview": "#!/bin/bash -ex\n\napt-get install -y curl git build-essential openssl libreadline6-dev zlib1g zlib1g-dev libssl-dev libya"
},
{
"path": "burpsuite/install",
"chars": 170,
"preview": "#!/bin/bash -ex\n\nwget -O ./burp.jar 'https://portswigger.net/DownloadUpdate.ashx?Product=Free'\nchmod 755 ./burp.jar\nmkdi"
},
{
"path": "burpsuite/install-root-archlinux",
"chars": 83,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed jre7-openjdk\n"
},
{
"path": "burpsuite/install-root-debian",
"chars": 263,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\ncase \"$(lsb_release -cs)\" in\n\tnoble)\n\t\tapt-get -y install openjdk-21-jre jarwrapper"
},
{
"path": "codext/install",
"chars": 37,
"preview": "#!/bin/bash -ex\n\npipx install codext\n"
},
{
"path": "commix/install",
"chars": 124,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/commixproject/commix.git\nmkdir bin\ncd bin\nln -s ../commix/commix"
},
{
"path": "cribdrag/install",
"chars": 122,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/SpiderLabs/cribdrag\n\nmkdir bin\ncd bin\nln -s ../cribdrag/* .\ncd ."
},
{
"path": "cross2/install",
"chars": 482,
"preview": "#!/bin/bash -ex\n\nFILE=cross2-20130826.tgz\nINSTALL_DIR=$PWD\n\n[ ! -e $FILE ] && wget https://kozos.jp/books/asm/$FILE\ntar "
},
{
"path": "crosstool/install",
"chars": 523,
"preview": "#!/bin/bash -ex\n\nmkdir -p src\n[ -e crosstool-ng ] || git clone --depth 1 https://github.com/crosstool-ng/crosstool-ng.gi"
},
{
"path": "crosstool/install-root-archlinux",
"chars": 80,
"preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm gperf flex bison help2man gawk ncurses\n"
},
{
"path": "crosstool/install-root-debian",
"chars": 95,
"preview": "#!/bin/bash -ex\n\napt-get install -y gperf flex bison help2man gawk libncurses5-dev libtool-bin\n"
},
{
"path": "crosstool/uninstall",
"chars": 77,
"preview": "#!/bin/bash -ex\n\n[ -e x-tools ] && chmod -R u+w x-tools\nrm -rf crosstools-ng\n"
},
{
"path": "decomp2dbg/install",
"chars": 1063,
"preview": "#!/bin/bash -ex\n\npipx install decomp2dbg\n[ -d ../gdb/venv ] && ../gdb/venv/bin/pip install decomp2dbg\n[ -d ../ida/venv ]"
},
{
"path": "df/install",
"chars": 244,
"preview": "#!/bin/bash -ex\n\nmkdir df_linux\npushd df_linux\nwget -O - https://www.bay12games.com/dwarves/df_51_06_linux.tar.bz2 | tar"
},
{
"path": "df/install-root-debian",
"chars": 77,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\nsudo apt install -y libsdl2-image-2.0-0\n"
},
{
"path": "elfkickers/install",
"chars": 126,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/BR903/ELFkickers\ncd ELFkickers\nmake -j1\ncd ..\nmv ELFkickers/bin "
},
{
"path": "elfparser/install",
"chars": 311,
"preview": "#!/bin/bash -ex\n\nmkdir bin\n\ngit clone https://github.com/mentebinaria/elfparser-ng elfparser-ng\n\nmkdir qt\npushd qt\ncmake"
},
{
"path": "elfparser/install-root-debian",
"chars": 236,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\nsudo apt-get install -y cmake libboost-all-dev build-essential \\\n qt"
},
{
"path": "evilize/install",
"chars": 243,
"preview": "#!/bin/bash -ex\n\nwget https://www.mscs.dal.ca/~selinger/md5collision/downloads/evilize-0.2.tar.gz\ntar zvxf evilize-0.2.t"
},
{
"path": "fastcoll/install",
"chars": 154,
"preview": "#!/bin/bash -ex\n\n[ -e fastcoll ] || git clone https://github.com/upbit/clone-fastcoll fastcoll\ncd fastcoll\nmake\n\ncd ..\nm"
},
{
"path": "featherduster/install",
"chars": 204,
"preview": "#!/bin/bash -ex\n\ngit clone --depth=1 https://github.com/nccgroup/featherduster.git\n\npython2 -m virtualenv venv\nvenv/bin/"
},
{
"path": "featherduster/install-root-debian",
"chars": 85,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libgmp3-dev libncurses5-dev\n\n"
},
{
"path": "firmware-mod-kit/install",
"chars": 549,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/rampageX/firmware-mod-kit\npushd firmware-mod-kit\ncd src\nmake\npop"
},
{
"path": "firmware-mod-kit/install-root-archlinux",
"chars": 92,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed zlib xz python2-magic\n"
},
{
"path": "firmware-mod-kit/install-root-debian",
"chars": 93,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install liblzma-dev python3-magic zlib1g-dev\n"
},
{
"path": "foresight/install",
"chars": 79,
"preview": "#!/bin/bash -ex\n\npipx install 'git+https://github.com/ALSchwalm/foresight.git'\n"
},
{
"path": "galois/install",
"chars": 273,
"preview": "#!/bin/bash -ex\n\nwget https://web.eecs.utk.edu/~plank/plank/papers/CS-07-593/galois.tar\n\nmkdir -p galois\ncd galois\ntar x"
},
{
"path": "gdb/install",
"chars": 890,
"preview": "#!/bin/bash -ex\nset -e -o pipefail\n\nfind_latest_gdb_version() {\n git ls-remote --tags git://sourceware.org/git/binuti"
},
{
"path": "gdb/install-root-archlinux",
"chars": 87,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --needed --noconfirm texinfo guile2.0\n"
},
{
"path": "gdb/install-root-debian",
"chars": 101,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install texinfo guile-2.2-dev libgmp-dev libmpfr-dev\n"
},
{
"path": "gdb/install-root-fedora",
"chars": 40,
"preview": "#!/bin/bash -ex\n\ndnf install -y texinfo\n"
},
{
"path": "gef/install",
"chars": 178,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\nwget -O gef.py -q https://gef.blah.cat/py\nmkdir bin\ncat <<END > bin/gef\n#!/bin/bash"
},
{
"path": "ghidra/install",
"chars": 633,
"preview": "#!/bin/bash -ex\n\n# try to get the best of both worlds for local tweaking and global installs\nvirtualenv --system-site-pa"
},
{
"path": "ghidra/install-root-debian",
"chars": 63,
"preview": "#!/bin/bash -ex\n\nsudo apt install openjdk-11-jdk jarwrapper -y\n"
},
{
"path": "hash-identifier/install",
"chars": 271,
"preview": "#!/bin/bash -ex\n\nwget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/hash-identifier/Ha"
},
{
"path": "hash-identifier/install-root-debian",
"chars": 45,
"preview": "#!/bin/bash -ex\n\napt-get -y install tofrodos\n"
},
{
"path": "hashpump-partialhash/install",
"chars": 206,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/mheistermann/HashPump-partialhash.git\ncd HashPump-partialhash\nma"
},
{
"path": "hashpump-partialhash/install-root-archlinux",
"chars": 78,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed openssl\n"
},
{
"path": "hashpump-partialhash/install-root-debian",
"chars": 67,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libssl-dev\n"
},
{
"path": "honggfuzz/install",
"chars": 150,
"preview": "#!/bin/bash -ex\n\n[ -e honggfuzz ] || git clone --depth 1 https://github.com/google/honggfuzz\ncd honggfuzz\nmake -j\nmkdir "
},
{
"path": "honggfuzz/install-root-archlinux",
"chars": 133,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\n# apt-get install libbfd-dev libunwind8-dev\npacman -Syu --noconfirm --needed libunw"
},
{
"path": "honggfuzz/install-root-debian",
"chars": 82,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get install -y libbfd-dev libunwind8-dev\n"
},
{
"path": "ida/install",
"chars": 468,
"preview": "#!/bin/bash -ex\n\n# our venv shenanigans\npython3.13 -m venv venv\nsource venv/bin/activate\n\ntar xvf ~/Downloads/IDA*.tar.g"
},
{
"path": "ida/install-root-debian",
"chars": 63,
"preview": "#!/bin/bash -ex\n\napt-get install python3.13-venv libpython3.13\n"
},
{
"path": "jdgui/install",
"chars": 209,
"preview": "#!/bin/bash -ex\n\nmkdir bin\n[ -e bin/jd-gui.jar ] || wget https://github.com/java-decompiler/jd-gui/releases/download/v1."
},
{
"path": "jdgui/install-root-archlinux",
"chars": 83,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed jre7-openjdk\n"
},
{
"path": "jdgui/install-root-debian",
"chars": 337,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\n\ncase \"$(lsb_release -cs)\" in\n\tnoble)\n\t\tapt-get -y install openjdk-21-jre\n\t\t;;\n\tboo"
},
{
"path": "libc-database/install",
"chars": 973,
"preview": "#!/bin/bash -ex\n\n[ -e libc-database ] || git clone https://github.com/niklasb/libc-database\n\n# Patch libc-database to ha"
},
{
"path": "libc-database/install-root-debian",
"chars": 98,
"preview": "#!/bin/bash -ex\n\nsudo apt-get install -y \\\n binutils file \\\n wget \\\n rpm2cpio cpio \\\n zstd jq\n"
},
{
"path": "manticore/install",
"chars": 74,
"preview": "#!/bin/bash -ex\n\npipx install --python $(which pypy3) \"manticore[native]\"\n"
},
{
"path": "manticore/install-root-debian",
"chars": 85,
"preview": "#!/bin/bash -ex\n\nset -eu -o pipefail\n\napt-get -y install pypy3 pypy3-dev rustc cargo\n"
},
{
"path": "mitmproxy/install",
"chars": 40,
"preview": "#!/bin/bash -ex\n\npipx install mitmproxy\n"
},
{
"path": "mitmproxy/install-root-debian",
"chars": 204,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libssl-dev libffi-dev libtiff5-dev libjpeg8-dev libfreetype6-dev"
},
{
"path": "msieve/install",
"chars": 202,
"preview": "#!/bin/bash -ex\n\nmkdir bin\nwget -O msieve.tar.gz \"https://downloads.sourceforge.net/project/msieve/msieve/Msieve v1.53/m"
},
{
"path": "msieve/install-root-archlinux",
"chars": 74,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed gmp\n"
},
{
"path": "msieve/install-root-debian",
"chars": 88,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libgmp3-dev libgmp-dev libz-dev\n"
},
{
"path": "nonce-disrespect/install",
"chars": 246,
"preview": "#!/bin/bash -ex\n\ngit clone https://github.com/nonce-disrespect/nonce-disrespect.git\ngit -C nonce-disrespect apply $PWD/b"
},
{
"path": "nonce-disrespect/install-root-debian",
"chars": 63,
"preview": "#!/bin/bash -ex\n\nsudo apt-get install -y libntl-dev libgmp-dev\n"
},
{
"path": "one_gadget/install",
"chars": 40,
"preview": "#!/bin/bash -ex\n\ngem install one_gadget\n"
},
{
"path": "one_gadget/install-root-archlinux",
"chars": 55,
"preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed ruby\n"
},
{
"path": "one_gadget/install-root-debian",
"chars": 41,
"preview": "#!/bin/bash -ex\n\napt-get install -y ruby\n"
},
{
"path": "pdf-parser/install",
"chars": 185,
"preview": "#!/bin/bash -ex\n\nwget https://didierstevens.com/files/software/pdf-parser_V0_7_11.zip\nunzip pdf-parser_V0_7_11.zip\nmkdir"
},
{
"path": "peepdf/install",
"chars": 70,
"preview": "#!/bin/bash -ex\n\npipx install \"git+https://github.com/cert-ee/peepdf\"\n"
},
{
"path": "pemcrack/install",
"chars": 154,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/robertdavidgraham/pemcrack.git\ncd pemcrack\nmake\ncd ..\n\nmkdir -p "
},
{
"path": "pemcrack/install-root-debian",
"chars": 68,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libssl-dev\n\n"
},
{
"path": "pkcrack/install",
"chars": 268,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/keyunluo/pkcrack pkcrack-src\nmkdir -p pkcrack-src/build\ncd pkcra"
},
{
"path": "pkcrack/install-root-debian",
"chars": 62,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install cmake\n"
},
{
"path": "preeny/install",
"chars": 280,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/zardus/preeny\nPATH=$PWD/../crosstool/bin:$PATH\n\ncd preeny\nfor i "
},
{
"path": "pwndbg/install",
"chars": 234,
"preview": "#!/bin/bash -ex\n\n#git clone --depth 1 https://github.com/pwndbg/pwndbg\nwget https://github.com/pwndbg/pwndbg/releases/do"
},
{
"path": "pwndbg/install-root-archlinux",
"chars": 410,
"preview": "#!/bin/bash -ex\n\n# install system wide, s.t. pwndbg works also with system qemu\npacman -Syu --noconfirm python-psutil py"
},
{
"path": "pwndbg/install-root-debian",
"chars": 192,
"preview": "#!/bin/bash -ex\n\nsudo apt-get -y install python3-dev python3-pip \\\n libglib2.0-dev libc6-dbg\n\nif uname -m | grep x86_"
},
{
"path": "pwndbg/install-root-fedora",
"chars": 80,
"preview": "#!/bin/bash -ex\n\ndnf install -y dnf-plugins-core\ndnf debuginfo-install -y glibc\n"
},
{
"path": "pwninit/install",
"chars": 124,
"preview": "#!/bin/bash -ex\n\nmkdir bin\npushd bin\nwget https://github.com/io12/pwninit/releases/download/3.3.1/pwninit\nchmod 755 pwni"
},
{
"path": "pwninit/install-root-debian",
"chars": 50,
"preview": "#!/bin/bash -ex\n\nsudo apt-get install -y patchelf\n"
},
{
"path": "pwnsh/install",
"chars": 145,
"preview": "#!/bin/bash -ex\n\ngit clone https://github.com/zardus/pwnsh\npushd pwnsh\n./update-syscalls.sh\npopd\n\nmkdir bin\npushd bin\nln"
},
{
"path": "pwntools/install",
"chars": 107,
"preview": "#!/bin/bash -ex\n\ngit clone --depth=1 https://github.com/Gallopsled/pwntools.git\npipx install -e ./pwntools\n"
},
{
"path": "pwntools/install-root-archlinux",
"chars": 74,
"preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed binutils openssl libffi\n"
},
{
"path": "pwntools/install-root-debian",
"chars": 102,
"preview": "#!/bin/bash -ex\n\napt-get install -y python3-pip python3-dev git libssl-dev libffi-dev build-essential\n"
},
{
"path": "pwntools/install-root-fedora",
"chars": 83,
"preview": "#!/bin/bash -ex\n\ndnf install -y binutils binutils-devel libffi-devel openssl-devel\n"
},
{
"path": "python2/install",
"chars": 334,
"preview": "#!/bin/bash -ex\n\n[ -d pyenv ] || git clone --depth=1 https://github.com/pyenv/pyenv\nexport PYENV_ROOT=$PWD/pyenv-root\npy"
},
{
"path": "python2/install-root-debian",
"chars": 286,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\n# pyvenv\napt-get -y install build-essential libssl-dev zlib1g-dev libbz2-dev librea"
},
{
"path": "qemu/install",
"chars": 1056,
"preview": "#!/bin/bash -ex\n\nfind_latest_qemu_version() {\n git ls-remote --tags https://gitlab.com/qemu-project/qemu.git \\\n "
},
{
"path": "qemu/install-root-archlinux",
"chars": 69,
"preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed python2 pixman dtc\n"
},
{
"path": "qemu/install-root-debian",
"chars": 137,
"preview": "#!/bin/bash -ex\n\napt-get install -y python3 pkg-config zlib1g-dev \\\n libglib2.0-dev libpixman-1-dev libfdt-dev ninja-"
},
{
"path": "qiling/install",
"chars": 391,
"preview": "#!/bin/bash -ex\n\nvirtualenv venv\nsource venv/bin/activate\n\ngit clone -b dev --depth 1 https://github.com/qilingframework"
},
{
"path": "qiling/install-root-debian",
"chars": 750,
"preview": "#!/bin/bash -ex\n\n\n# from https://docs.qiling.io/en/latest/install/, but seems insane\nexport DEBIAN_FRONTEND=noninteracti"
},
{
"path": "qira/install",
"chars": 344,
"preview": "#!/bin/bash -ex\n\nmkdir nosudo\ncat <<END > nosudo/sudo\n#!/bin/bash\necho SUDO BLOCKED: \"\\$@\"\nEND\nchmod 755 nosudo/sudo\n\ngi"
},
{
"path": "qira/install-root-archlinux",
"chars": 260,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed python2-pip openssl libjpeg-turbo zlib \\\n unzip"
},
{
"path": "qira/install-root-debian",
"chars": 410,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libssl-dev build-essential python3-dev python3-pip debootstrap l"
},
{
"path": "rappel/install",
"chars": 132,
"preview": "#!/bin/bash -ex\n\ngit clone https://github.com/yrp604/rappel\ncd rappel\nmake\ncd ..\n\nmkdir -p bin\ncd bin\nln -s ../rappel/bi"
},
{
"path": "rappel/install-root-debian",
"chars": 97,
"preview": "#!/bin/bash -ex\n\napt-get install -y libedit-dev nasm\napt-get install -y libedit-dev:i386 || true\n"
},
{
"path": "reveng/install",
"chars": 329,
"preview": "#!/bin/bash -ex\n\nwget https://downloads.sourceforge.net/project/reveng/3.0.6/reveng-3.0.6.tar.gz\ntar -xf reveng-3.0.6.ta"
},
{
"path": "ropper/install",
"chars": 37,
"preview": "#!/bin/bash -ex\n\npipx install ropper\n"
},
{
"path": "ropper/test",
"chars": 148,
"preview": "#!/bin/bash -ex\n\nset +e\nsource ${VIRTUALENVWRAPPER_SCRIPT}\nworkon ctftools\nset -e\n\n[ $(ropper --file /bin/false | wc -l)"
},
{
"path": "rp++/install",
"chars": 162,
"preview": "#!/bin/bash -ex\n\nwget https://github.com/0vercl0k/rp/releases/download/v2.1.4/rp-lin-gcc.zip\nunzip rp-lin-gcc.zip\nmkdir "
},
{
"path": "rsactftool/install",
"chars": 315,
"preview": "#!/bin/bash -ex\n\nvirtualenv venv\nsource venv/bin/activate\n\ngit clone --depth 1 https://github.com/Ganapati/RsaCtfTool\npu"
},
{
"path": "rsactftool/install-root-debian",
"chars": 64,
"preview": "#!/bin/bash -ex\n\nsudo apt-get install -y libgmp3-dev libmpc-dev\n"
},
{
"path": "scrdec18/install",
"chars": 172,
"preview": "#!/bin/bash -ex\n\nwget \"https://gist.githubusercontent.com/bcse/1834878/raw/7483fb72abbb32aa69b853fdcc9f6f72e7568677/scrd"
},
{
"path": "seccomp-tools/install",
"chars": 43,
"preview": "#!/bin/bash -ex\n\ngem install seccomp-tools\n"
},
{
"path": "seccomp-tools/install-root-debian",
"chars": 50,
"preview": "#!/bin/bash -ex\n\napt-get install -y ruby ruby-dev\n"
},
{
"path": "shellnoob/install",
"chars": 136,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/reyammer/shellnoob\n\nmkdir -p bin\ncd bin\nln -s ../shellnoob/shell"
},
{
"path": "social-analyzer/install",
"chars": 46,
"preview": "#!/bin/bash -ex\n\npipx install social-analyzer\n"
},
{
"path": "ssh_decoder/install",
"chars": 186,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/jjyg/ssh_decoder.git\nchmod 755 ssh_decoder/ssh_decoder.rb\n\nmkdir"
},
{
"path": "sslsplit/install",
"chars": 142,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/droe/sslsplit\ncd sslsplit\nmake -j $(nproc)\ncd ..\n\nmkdir bin\ncp s"
},
{
"path": "sslsplit/install-root-archlinux",
"chars": 79,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --noconfirm --needed libevent\n"
},
{
"path": "sslsplit/install-root-debian",
"chars": 115,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install libevent-dev pkg-config libssl-dev libnet1-dev libpcap-dev\n"
},
{
"path": "steganabara/install",
"chars": 227,
"preview": "#!/bin/bash -ex\n\ncurl http://www.caesum.com/handbook/steganabara-1.1.1.tar.gz | tar xz\nmkdir -p bin\ncat <<END > bin/steg"
},
{
"path": "stegano-tools/install",
"chars": 427,
"preview": "#!/bin/bash -ex\n\nvirtualenv venv\nsource venv/bin/activate\npip install tinyscript\n\n[ -e stegano-tools ] || git clone --re"
},
{
"path": "stegano-tools/uninstall",
"chars": 192,
"preview": "#!/bin/bash -ex\n\nfor F in paddinganograph stegolsb stegopit stegopvd; do\n rm -f $HOME/tools/bin/$F\n rm -f $HOME/.virtu"
},
{
"path": "stegdetect/install",
"chars": 532,
"preview": "#!/bin/bash -ex\n\nINST_DIR=\"$PWD\"\n\ngit clone --depth 1 https://github.com/sparticvs/stegdetect\n\nmkdir -p bin etc man/man1"
},
{
"path": "stegdetect/install-root-archlinux",
"chars": 169,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\necho \"ERROR: archlinux has no aclocal-1.4. only $(aclocal --version | head -n 1)\"\ne"
},
{
"path": "stegdetect/install-root-debian",
"chars": 157,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install automake1.11 automake autotools-dev libevent-dev libmagic-dev\nap"
},
{
"path": "stegosaurus/install",
"chars": 156,
"preview": "#!/bin/bash -ex\n\nINST_DIR=\"$PWD\"\n\ngit clone --depth 1 https://github.com/AngelKitty/stegosaurus.git\n\nmkdir bin\n\ncd bin\n\n"
},
{
"path": "stegsolve/install",
"chars": 140,
"preview": "#!/bin/bash -ex\n\nwget http://www.caesum.com/handbook/Stegsolve.jar -O stegsolve.jar\nchmod +x stegsolve.jar\nmkdir bin\nmv "
},
{
"path": "subbrute/install",
"chars": 143,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/TheRook/subbrute.git\n\nmkdir -p bin\ncd bin\nln -s ../subbrute/subb"
},
{
"path": "taintgrind/install",
"chars": 455,
"preview": "#!/bin/bash -ex\n\ncurl https://sourceware.org/pub/valgrind/valgrind-3.25.1.tar.bz2 | tar xj\ncd valgrind-3.25.1\n\ngit clone"
},
{
"path": "tor-browser/install",
"chars": 341,
"preview": "#!/bin/bash -ex\n\nREL_PATH=$(curl https://www.torproject.org/download/ | grep -i tor-browser-linux-x86_64 | grep 'xz\"' | "
},
{
"path": "valgrind/install",
"chars": 197,
"preview": "#!/bin/bash -ex\n\nINST_DIR=$PWD\n\ncurl ftp://sourceware.org/pub/valgrind/valgrind-3.13.0.tar.bz2 | tar xj\ncd valgrind-3.13"
},
{
"path": "veles/install",
"chars": 255,
"preview": "#!/bin/bash -ex\n\nwget -O src.tar.gz https://codisec.com/wp-content/uploads/2016/12/Veles_2016.12_Source.tar.gz\ntar xf sr"
},
{
"path": "veles/install-root-archlinux",
"chars": 70,
"preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed cmake zlib qt5-base\n"
},
{
"path": "veles/install-root-debian",
"chars": 65,
"preview": "#!/bin/bash -ex\n\napt-get install -y cmake zlib1g-dev qtbase5-dev\n"
},
{
"path": "villoc/install",
"chars": 394,
"preview": "#!/bin/bash -ex\n\nPIN_NAME=pin-external-3.31-98869-gfa6f126a8-gcc-linux\ncurl https://software.intel.com/sites/landingpage"
},
{
"path": "volatility/install",
"chars": 280,
"preview": "#!/bin/bash -ex\n\n[ -e volatility ] || git clone --depth 1 https://github.com/volatilityfoundation/volatility\n\npython2 -m"
},
{
"path": "volatility3/install",
"chars": 42,
"preview": "#!/bin/bash -ex\n\npipx install volatility3\n"
},
{
"path": "webgrep/install",
"chars": 75,
"preview": "#!/bin/bash -ex\n\npipx install 'git+https://github.com/dhondta/webgrep.git'\n"
},
{
"path": "webgrep/install-root-archlinux",
"chars": 135,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\npacman -Syu --needed --noconfirm binutils grep imagemagick perl-image-exiftool steg"
},
{
"path": "webgrep/install-root-debian",
"chars": 128,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install binutils grep imagemagick libimage-exiftool-perl steghide tesser"
},
{
"path": "webgrep/install-root-fedora",
"chars": 136,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\ndnf install perl-Image-ExifTool.noarch\ndnf install -y binutils grep imagemagick ste"
},
{
"path": "webgrep/install-root-ubuntu",
"chars": 114,
"preview": "#!/bin/bash -ex\nset -eu -o pipefail\n\napt-get -y install binutils grep imagemagick exiftool steghide tesseract-ocr\n"
},
{
"path": "xortool/install",
"chars": 75,
"preview": "#!/bin/bash -ex\n\npipx install 'git+https://github.com/hellman/xortool.git'\n"
},
{
"path": "xrop/install",
"chars": 231,
"preview": "#!/bin/bash -ex\n\ngit clone --depth 1 https://github.com/acama/xrop.git\ncd xrop\ngit submodule update --init --recursive\nm"
},
{
"path": "xrop/install-root-debian",
"chars": 63,
"preview": "#!/bin/bash -ex\n\napt-get update\napt-get install -y zlib1g-dev\n\n"
},
{
"path": "xspy/install",
"chars": 132,
"preview": "#!/bin/bash -ex\n\n[ -e xspy ] || git clone https://gitlab.com/kalilinux/packages/xspy\nmkdir -p bin\ngcc -o bin/xspy xspy/X"
},
{
"path": "xspy/install-root-debian",
"chars": 47,
"preview": "#!/bin/bash -ex\n\napt-get install -y libx11-dev\n"
},
{
"path": "yafu/install",
"chars": 176,
"preview": "#!/bin/bash -ex\n\nmkdir yafu\nmkdir bin\ncd yafu\nwget \"https://downloads.sourceforge.net/project/yafu/1.34/yafu-1.34.zip\" -"
},
{
"path": "yafu/test",
"chars": 204,
"preview": "#!/bin/bash -ex\n\nRESULT=$(./bin/yafu 'factor(10)' | grep \"^P\" | tr -d '\\n')\n[ \"$RESULT\" == \"P1 = 2P1 = 5\" ] || exit 1\n\n."
},
{
"path": "zsteg/install",
"chars": 35,
"preview": "#!/bin/bash -ex\n\ngem install zsteg\n"
},
{
"path": "zsteg/install-root-archlinux",
"chars": 55,
"preview": "#!/bin/bash -ex\n\npacman -Syu --noconfirm --needed ruby\n"
},
{
"path": "zsteg/install-root-debian",
"chars": 41,
"preview": "#!/bin/bash -ex\n\napt-get install -y ruby\n"
},
{
"path": "zsteg/uninstall",
"chars": 63,
"preview": "#!/bin/bash -ex\n\necho \"Y\" | gem uninstall --user-install zsteg\n"
}
]
About this extraction
This page contains the full source code of the zardus/ctf-tools GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 154 files (57.7 KB), approximately 22.0k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.