All commands below assume you are working inside a dedicated Kali Linux or Parrot OS environment. If you haven’t set one up yet, see the Environment guide first. macOS alternatives are provided where available.
Web Exploitation
Web challenges involve SQL injection, cross-site scripting, authentication bypasses, server-side template injection, and more. These four tools cover the vast majority of what you’ll need.- Linux
- macOS
Cryptography
Crypto challenges range from classical ciphers to modern RSA and elliptic-curve attacks. You’ll need both command-line utilities and Python libraries.- Linux
- macOS
When should I use SageMath vs plain Python?
When should I use SageMath vs plain Python?
Reach for SageMath whenever a challenge involves modular arithmetic, polynomial rings, lattice reduction (LLL), elliptic curves, or factoring large integers. Its built-in
factor(), discrete_log(), and Matrix types save you from implementing textbook algorithms from scratch. For everything else — XOR bruteforcing, base64 gymnastics, padding oracle attacks — plain Python with pycryptodome is faster to write and run.Binary Exploitation
Pwn challenges require you to understand memory layout, craft shellcode, and automate exploit development. This category has the steepest tooling setup, so take your time.- Linux
- macOS
pwndbg and PEDA cannot be active at the same time. If you installed pwndbg via its setup script it already wrote to
~/.gdbinit. Comment out one or the other depending on which you prefer for a given session.Reverse Engineering
Reverse engineering (RE) challenges ask you to analyse compiled binaries, firmware, or bytecode to understand what a program does and extract flags hidden in its logic. Ghidra is the de facto open-source tool for this work.- Linux
- macOS
Install GhidraGhidra requires Java 17 or later. Install the JDK first, then download and extract Ghidra from the official NSA GitHub releases page.
apt
manual
Password Cracking
Password cracking challenges present you with hashed credentials or encrypted archives. John the Ripper and Hashcat are the two most widely used tools — John excels at versatility and format auto-detection, while Hashcat leverages GPU acceleration for speed.- Linux
- macOS
On a fresh Kali install the rockyou wordlist is compressed. Decompress it once with
sudo gunzip /usr/share/wordlists/rockyou.txt.gz before use.Forensics
Forensics challenges hand you disk images, packet captures, steganography puzzles, and memory dumps. The tools below let you extract, analyze, and reconstruct hidden data.- Linux
- macOS
General Utilities
These tools are small, fast, and universally useful across every CTF category. Most are already present in Kali or Parrot OS — install any that are missing.- Linux
- macOS
Full installation script
If you want to set up every tool in one shot on a fresh Kali or Parrot OS install, save the following asinstall_ctf_tools.sh and run it as a user with sudo privileges.