Challenge list
Detect Hidden Kernel Module in Memory
From the memory of a Linux host suspected of an LKM rootkit infection, three sets of module information were…
Decode Multi-Stage Steganography
Three stages of steganography are planted in `/challenge/cover.png` and `/challenge/notes.txt`. Each stage holds the…
Recover Fragmented JPEG File
`/challenge/fragments/` holds 256-byte clusters (`clus_NNNN.bin`) recovered from the unallocated space of a memory…
Encrypted Communication - GPG Public Key Cryptography
Practice GnuPG decryption. Import every private key under `/challenge/keys/` and decrypt each ciphertext under…
Cryptanalysis - DSA Nonce Reuse Key Recovery
/challenge/signatures.json, created with fresh keys at every start, holds the DSA public parameters (p of 1024 bits, q…
Cryptanalysis - Wiener's Attack on RSA
An embedded-device team made the RSA private exponent d very small to speed up decryption. The public exponent e in…
Cryptanalysis - Recovering an LCG's Hidden Parameters
A service generated both session tokens and an encryption keystream from a linear congruential generator x_{k+1} =…
Recover Damaged RAID5 Array
The RAID5 array `/dev/md0` (4 members) on the file server fs01 no longer assembles after the member sdd failed.…
Vulnerability Scanning - Advanced Nmap NSE
The results of running `nmap -sV -sC --script vuln` against the internal subnet `10.66.13.0/24` are in…
Reconstruct Attack Scenario from Multiple Logs
`/challenge/web.log`, `/challenge/auth.log` and `/challenge/db.log` record the same intrusion among a lot of…
Static Analysis - Code Vulnerability Scanning
The Python source of an internal notes app is in `/challenge/src/`. The nine lines flagged by an earlier…
APT Simulation - Full Breach Scenario
This is not an attack exercise but a blue-team task of reading the logs of an incident that already happened. From the…
Reconstruct Full APT Attack Stages
Four logs, `/challenge/edr_process.log`, `proxy_http.log`, `dns_queries.log` and `dlp_transfer.log`, hold an APT…
Crack BitLocker Encrypted Drive
Learn BitLocker recovery-key verification with a safe metadata fixture. bitlocker.img is not a real volume. Identify…
Extract Message Hidden in Bitcoin Transaction
The victim paid the ransom to the Bitcoin address `bc1qr4nsmw4r3pay7hzfx0d9cq3vkt8e6m5ljgs2ua`.…
Bug Bounty Practice - Vulnerability Discovery Master
Analyze the fixed artifacts/bug-bounty/triage-report.json instead of testing a live application. A chained report has…
Extract Secret Key from IoT Device Firmware
Analyze the update file `/home/ctfuser/evidence/firmware.bin` of the network camera KNC-CAM-2000 (do not connect to a…
Advanced Python - Concurrent Event DAG Correlation
events.jsonl interleaves randomly ordered events from many services and traces. Starting from the marked auth.failed…
Red Teaming - Custom C2 Framework
No C2 server, agent, socket communication, or command execution is started. Analyze the local…
Anti-Forensics - Evidence Elimination
After the intrusion the attacker covered their tracks: they cut a time window out of `/challenge/auth_syslog.log` (the…
Custom Malware - Stealth Techniques
No executable malware, injection, or evasion capability is included. Analyze the inert configuration sample…
Cloud Pentesting - AWS Multi-Stage Attack
Do not use AWS credentials, a metadata endpoint, or Lambda. Analyze the local artifacts/aws/cloudtrail-chain.jsonl…
Container Escape - Kubernetes Privilege Escalation
Do not use a Kubernetes API, host mount, privileged container, or escape. Read the static…
Supply Chain Attack - Dependency Exploitation
Audit the dependency records of the Node.js app `kinoco-webapp`: `/challenge/dependencies.txt` (the dependencies…