Cybersecurity CTF challenges
Choose a domain and difficulty, inspect the evidence, and verify each conclusion in a safe environment.
Linux Level 2 Linux-Symlink Maze. Navigating a Branching Path
Several directories are connected in a tangled web of symbolic links. Without being misled by decoy hint files, follow…
Linux Level 2 Linux-Script Debug. Fixing a Broken Bash Script
This script has several intentional bugs (typos, syntax mistakes) and fails to run to completion. Use bash's debugging…
Linux Level 2 Linux-Network Basics. Connecting to a Listening Port
A background service on this system is listening on a specific port. Identify the port with ss/netstat and connect to…
Linux Level 2 Linux-Backup Finder. Spotting the Real Temp File
The project directory contains several decoy backup/temp files ending in .bak, .tmp, or ~. The real flag is hidden…
Linux Level 2 Linux-Pipeline. Narrowing Down Logs with grep and awk
The access log contains many lines, several of which include the flag. Chain commands together with pipes (|) to…
Linux Level 2 Linux-Package Info. Inspecting Installed Package Details
A custom-built deb package is installed on this system. Use dpkg or apt to inspect the package's details and find…
Linux Level 2 Linux-Process Hunting. Tracking Down a Running Process
Among several background processes, one has the flag embedded in its command-line arguments. List them with ps and…
Linux Level 2 Linux-User Investigation. Filtering the Target User with awk
Several users are registered on this system. Parse /etc/passwd with awk to find the one matching a specific condition,…
Linux Level 2 Linux-Log Rotation. Searching Compressed Historical Logs
Some older log files have been gzip-compressed by log rotation. Use a command that searches inside compressed files…
Linux Level 2 Linux-Log Explorer. Digging the Flag Out of Multiple Logs
Multiple application and system log files are provided. The flag is embedded in a single DEBUG-level line — narrow it…
Linux Level 2 Linux-Environment Secrets. Finding the Variable Named FLAG
Several environment variables, including some dummy credentials, are set on this system. List them with env and find…
General Skills Level 2 OSINT Basics - Metadata Analysis
Recovered files sit under `/challenge/evidence/`. Analyze the metadata (Exif / docProps) across the photos…
Forensics Level 2 Hidden PDF Streams
PDF files contain multiple object streams. Find the flag hidden in one of them. Learn to understand PDF internal…
Programming Level 2 Python Practice - Bulk Base64 Stream Decoding
data.txt contains 100+ Base64 strings. Exactly one decodes to the FLAG injected at startup; decode every line to find…
Programming Level 2 Python Practice - Conditional CSV Sales Filtering
Runtime-generated data.txt is a sales CSV. The notes of the one row with amount >= 10000, status completed, and a SEC-…
Programming Level 2 Python Practice - Compound JSON User Query
In runtime-generated JSON data.txt, find the only user whose role is admin, active is true, and email contains…
Programming Level 2 Python Practice - Target-IP Access Log Tracing
Runtime-generated data.txt is a 1200-line access log. Filter for 192.168.1.100 and find the FLAG among those lines.
Programming Level 2 Python Automation - Bulk Base64 Decoding
data.txt holds 100+ base64-encoded strings, one per line. Decode them all and find the flag (the line starting with…
Programming Level 2 Python Automation - CSV Sales Filtering
data.txt is a sales CSV (transaction_id,date,product_id,amount,status,notes). Find the single transaction with amount…
Programming Level 2 Python Automation - JSON User Query
data.txt is JSON containing many users. Find the single user whose role is admin, active is true, and email contains…
Programming Level 2 Python Automation - Access Log Parsing
data.txt is an access log of 1000+ lines. Extract the lines from IP 192.168.1.100 and find the flag (FLAG{...}) among…
Programming Level 2 Python Automation - Password Hash Cracking
data.txt holds many sha256 hashes. The flag was split into ordered chunks; each chunk is hashed as…
Cryptography Level 2 RC4 Stream Cipher Weakness
RC4 was once widely used but is now deprecated. This introductory task focuses on recognizing the provided data…
Cryptography Level 2 Vigenere Cipher Decryption
Decrypt a Vigenere cipher when the key length is known and retrieve the flag. Ciphertext:…