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:…