Challenge list
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…
Recover Damaged RAID5 Array
The RAID5 array `/dev/md0` (4 members) on the file server fs01 no longer assembles after the member sdd failed.…
Reconstruct Attack Scenario from Multiple Logs
`/challenge/web.log`, `/challenge/auth.log` and `/challenge/db.log` record the same intrusion among a lot of…
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`.…
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…
Linux-eBPF Rootkit. Unmasking a Hidden Process
This challenge safely recreates eBPF-rootkit investigation as offline evidence analysis. Without loading eBPF, tell…
Linux-Kernel Exploit. Rewriting a Read-Only File with Dirty COW
This challenge models mmap, MAP_PRIVATE, and madvise—the ingredients used by Dirty COW (CVE-2016-5195)—as a safe,…
Advanced Python - Concurrent Event DAG Correlation
events.jsonl interleaves randomly ordered events from many services and traces. Starting from the marked auth.failed…
Network Analysis - IPv4 Overlapping Fragment Reassembly
The UDP datagram with IPv4 ID 0xbeef in fragments.pcap contains overlapping fragments that overwrite earlier bytes.…
Extract VM Information from Hypervisor Memory
Analyze the KVM host memory dump `/home/ctfuser/evidence/kvm_host.dump`. The guests are configured like AMD SEV, so…
Programming - APT Timeline Analysis
/challenge/events.jsonl combines security logs collected from several hosts and is regenerated with random data every…
Programming - AST-Based Vulnerability Detection
/challenge/corpus/*.py are Python sources for code review, regenerated with random data every time the container…
Programming - AWS Permission Analysis
/challenge/iam.json holds users, groups and policies and /challenge/s3_objects.json lists S3 objects (bucket, key,…
Programming - IoT Firmware Analysis
Analyze the network-camera firmware image firmware.bin, which is generated randomly at every start (it contains no…
Programming - Coverage-Guided Fuzzing
Analyze the coverage-guided fuzzer run record coverage-queue.jsonl, which is generated randomly at every start (the…
Programming - Zero-Click Message Analysis
messages.ndjson is the traffic log of a messaging app, built from random data at every start (in /challenge). Each…
Programming - Timing Attack Data Analysis
timings.csv is raw timing-attack measurements built from random data at every start (in /challenge). Against a server…
Detect Process Hollowing Attack
From the memory of a Windows host, the process list `process_list.txt` (the PEB view), the VAD list `vad_regions.txt`…
Detect Tampered Timestamps
`/challenge/mft_timeline.csv` is a timeline exported from the NTFS `$MFT`. It has the `$STANDARD_INFORMATION` (SI) and…
Decrypt Encrypted iOS Backup
Verify the password of an encrypted iOS backup with a safe iTunes metadata fixture. No real iPhone or backup is used.…
Create Memory Profile for Unknown Linux Kernel
Analyze `/home/ctfuser/evidence/custom_kernel.dump`, part of the physical memory of a server running an in-house…