Cybersecurity CTF challenges
Choose a domain and difficulty, inspect the evidence, and verify each conclusion in a safe environment.
LinuxLevel 2Linux-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…
LinuxLevel 2Linux-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…
LinuxLevel 2Linux-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…
LinuxLevel 2Linux-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…
LinuxLevel 2Linux-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…
LinuxLevel 2Linux-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…
LinuxLevel 2Linux-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…
LinuxLevel 2Linux-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,…
LinuxLevel 2Linux-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…
LinuxLevel 2Linux-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…
LinuxLevel 2Linux-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 SkillsLevel 2OSINT Basics - Metadata Analysis
Recovered files sit under `/challenge/evidence/`. Analyze the metadata (Exif / docProps) across the photos…
ForensicsLevel 2Hidden PDF Streams
PDF files contain multiple object streams. Find the flag hidden in one of them. Learn to understand PDF internal…
ProgrammingLevel 2Python 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…
ProgrammingLevel 2Python 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-…
ProgrammingLevel 2Python 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…
ProgrammingLevel 2Python 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.
ProgrammingLevel 2Python 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…
ProgrammingLevel 2Python Automation - CSV Sales Filtering
data.txt is a sales CSV (transaction_id,date,product_id,amount,status,notes). Find the single transaction with amount…
ProgrammingLevel 2Python 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…
ProgrammingLevel 2Python 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…
ProgrammingLevel 2Python Automation - Password Hash Cracking
data.txt holds many sha256 hashes. The flag was split into ordered chunks; each chunk is hashed as…
CryptographyLevel 2RC4 Stream Cipher Weakness
RC4 was once widely used but is now deprecated. This introductory task focuses on recognizing the provided data…
CryptographyLevel 2Vigenere Cipher Decryption
Decrypt a Vigenere cipher when the key length is known and retrieve the flag. Ciphertext:…