Challenge list
Programming - Async Scan Result Analysis
/challenge/scan-events.jsonl is the event log of an asynchronous port scanner, regenerated with random data every time…
Extract Malware Payload from Memory
`/challenge/memstrings.txt` holds the strings extracted from the address space of a suspicious process, and the…
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…
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.…
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…
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…