Challenge list

Clear filters

111 challenges (Page 4 of 5)

Digital ForensicsLevel 3★★★☆☆

Recover Executed Commands from Memory

Analyze the memory-string record `memdump.txt` to recover the executed command history. Decode the Base64 strings and…

Digital ForensicsLevel 3★★★☆☆

Recover Deleted SQLite Records

You are given the SQLite database `/challenge/app.db` of the internal chat tool "kinoco-msg". The body of a message…

Digital ForensicsLevel 3★★★☆☆

Decompress Multi-Layer Archive

`/challenge/artifact.xz` is a file an attacker tried to take out, wrapped many times in gzip, bzip2, xz, zip and tar.…

Digital ForensicsLevel 3★★★☆☆

Decrypt Encrypted Disk

`/challenge/secret_disk.img` is a genuine LUKS2 container. Its data area holds a backup (a tar archive). The…

CryptographyLevel 3★★★☆☆

Cryptanalysis - RSA Common Modulus Attack

Two systems reused the same RSA modulus n and only changed the public exponent. The ciphertexts c1 and c2 of the same…

CryptographyLevel 3★★★☆☆

Cryptanalysis - Diffie-Hellman with a Small Prime

An old IoT device performed Diffie-Hellman key exchange with a prime p of only 36 bits. handshake.txt contains p, g, A…

Digital ForensicsLevel 3★★★☆☆

Data Hidden in Audio File

`hidden.wav` hides a message encoded with on-off keying (OOK). Turn the tone on/off slots into bits and decode them to…

Digital ForensicsLevel 4★★★★☆

Extract Secret Key from Android App

Extract a safe ZIP-formatted APK fixture (evidence/app.apk) and analyze the encrypted API secret recorded in its…

Digital ForensicsLevel 4★★★★☆

Detect Unauthorized Access in CloudTrail Logs

Analyze the CloudTrail export `/challenge/cloudtrail.json` and trace the unauthorized use of a stolen access key and…

Digital ForensicsLevel 4★★★★☆

Extract Secrets from Docker Image Layers

`/challenge/image/` is an unpacked `docker save` export (OCI layout). The layers are stored in `blobs/sha256/` as…

Digital ForensicsLevel 4★★★★☆

Decrypt TLS-Encrypted HTTPS Traffic

In `~/evidence/` there is a capture `traffic.pcap` (libpcap format) of HTTPS traffic from a client PC, and the TLS key…

Web SecurityLevel 4★★★★☆

Web-26. Prototype Pollution in User Profile Manager

In this Node.js/Express app, a logged-in user can update their own profile. Check whether the recursive merge function…

Web SecurityLevel 4★★★★☆

Web-27. GraphQL Introspection Leak

This GraphQL API exposes a schema of User objects with introspection enabled. Investigate whether undocumented queries…

Web SecurityLevel 4★★★★☆

Web-28. Hijacking an OAuth Authorization Code

This OAuth 2.0 authorization provider offers a login flow, but its redirect_uri validation may be weak. Investigate…

Web SecurityLevel 4★★★★☆

Web-29. NoSQL Injection in a MongoDB Login Form

This login portal is backed by MongoDB and builds its query directly from raw JSON username/password input.…

Web SecurityLevel 4★★★★☆

Web-30. Insecure Deserialization in KinoVault

A legacy backup system codenamed KinoVault reportedly serializes user session objects with Python's pickle module and…

Network SecurityLevel 4★★★★☆

Network Analysis - Rebuilding Chunked gzip HTTP from TCP

capture.pcap records two HTTP exchanges over one TCP connection. The server's segments are reordered and some are…

Network SecurityLevel 4★★★★☆

Network Analysis - TCP Retransmission Covert Channel

capture.pcap contains TCP retransmissions with duplicate sequence numbers. Extract retransmissions whose payload…

Digital ForensicsLevel 4★★★★☆

Extract Malware Payload from Memory

`/challenge/memstrings.txt` holds the strings extracted from the address space of a suspicious process, and the…

Digital ForensicsLevel 4★★★★☆

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…

Digital ForensicsLevel 4★★★★☆

Decode Multi-Stage Steganography

Three stages of steganography are planted in `/challenge/cover.png` and `/challenge/notes.txt`. Each stage holds the…

Digital ForensicsLevel 4★★★★☆

Recover Fragmented JPEG File

`/challenge/fragments/` holds 256-byte clusters (`clus_NNNN.bin`) recovered from the unallocated space of a memory…

CryptographyLevel 4★★★★☆

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…

CryptographyLevel 4★★★★☆

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…