Cybersecurity CTF challenges
Choose a domain and difficulty, inspect the evidence, and verify each conclusion in a safe environment.
Programming Level 2 Programming - PIN Brute Force
vault.json is generated from the FLAG injected at startup. Brute-force the 0000–9999 PIN SHA-256 and XOR-decrypt with…
Programming Level 2 Programming - Hash Verification and Decryption
artifact-manifest.json is generated from the FLAG injected at startup. Verify each data SHA-256, XOR-decrypt with…
Programming Level 2 Programming - Binary TLV Parsing
capture.bin is generated from the FLAG injected at startup. Parse KBIN TLV records and XOR-decode type 0x42 with 0x5A…
General Skills Level 2 Process Hunter - Hidden Process
A process named "secret_service" is running in the background. Find this process and get the following information: 1.…
Forensics Level 2 Find Process in Memory Dump
Analyze the process list recorded in memory.dump and find the flag contained in the suspicious process name. Learn the…
Cryptography Level 2 Rainbow Table Attack
Unsalted fast password hashes can often be reversed with precomputed lookup databases. Reverse the given MD5 hash. MD5…
General Skills Level 2 Log Analysis - Find the Intruder
/app/auth.log contains authentication logs. Detect suspicious activity: - Identify IP addresses with 10+ failed logins…
Cryptography Level 2 One-Time Pad Key Reuse Attack
A one-time pad is safe only when the key is used once. Reusing the key lets known plaintext recover other plaintexts.…
Cryptography Level 2 Predictable Randomness
Pseudo-random output with a fixed seed is reproducible and must not be used for cryptographic secrets. Flag generation…
Forensics Level 2 Recover Deleted Files
Recover deleted text files from the disk image and find the flag. Learn how to use file carving tools to recover…
General Skills Level 2 Compression Maze - Nested Archives
/app/flag.tar.gz is a nested compressed file. Decompress step by step: flag.tar.gz → flag.tar → flag.zip.bz2.gz →…
Cryptography Level 2 Breaking Small RSA Keys
Factor a tiny RSA modulus, recover the private exponent, and decrypt a list of ciphertext values. Public key and…
Programming Level 2 Regular Expressions - The One-Time Golden Glyph
Extract every KINO-four-digits-four-uppercase glyph from data.txt, identify the one occurring once, and submit it to…
General Skills Level 2 Regex Master - Log File Analysis
The file /app/access.log contains thousands of access log entries. Extract all entries where the IP address starts…
General Skills Level 2 Environment Variable Master - PATH Hijacking
There is a hidden command "getflag" in /app/secret_bin directory. However, this directory is not in PATH, so you…
Forensics Level 2 Message Hidden in Image LSB
Extract the message hidden in the LSB (Least Significant Bit) of a PNG file. Learn the basics of steganography…
Forensics Level 3 Extract Session Cookies from Chrome
Analyze Chrome history database and Cookie file to retrieve session information for a specific site. Learn browser…
Forensics Level 3 Detect DNS Tunneling
Analyze the DNS query log `dns_queries.log` to detect data exfiltration via DNS tunneling. Find the host flooding a…
General Skills Level 3 Docker Forensics - Container Investigation
Investigate a `docker save`-style image record. The final `Config.Env` in `image_config.json` looks scrubbed, but…
General Skills Level 3 Find the Deleted API Key in Git History
/app/repo is a Git repository. A developer accidentally committed an API_KEY and removed it in a later commit. Inspect…
Linux Level 3 Linux-Capabilities. Privilege Escalation Beyond SUID
A specific binary on this system has Linux capabilities assigned to it. Investigate a privilege escalation technique…
Linux Level 3 Linux-SUID Exploit. Escalating Privileges via the find Binary
A copy of the find command with the SUID bit set exists on this system. Use a well-known GTFOBins technique to obtain…
Linux Level 3 Linux-Proc Memory. Peeking at a Process's Environment
A daemon process runs continuously in the background, with the flag set as one of its environment variables.…
Linux Level 3 Linux-Strace. Tracing System Calls to Expose a File
A binary that prints nothing to standard output is provided. Trace its system calls with strace to determine which…