Challenge list
Network Analysis - Custom Protocol Decoding
Traffic from a system using a small custom binary protocol was captured. Download the packet capture (traffic.pcap),…
Performance Analysis - Find the Resource Hog
Analyze the server snapshot `/challenge/metrics.log`. The first half is a top-style process table (%CPU is column 9,…
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…
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…
Regex Expert - Data Validation
/challenge/data.txt holds 400 contact records. Each line contains an email address, a phone number, an IP address and…
Advanced Automation - Directory Monitor
`/challenge/logs/` holds access logs from four web front ends (combined log format, 60 files, over 100k lines). The…
AWS CLI - S3 Bucket Investigation
An offline export of the S3 configuration is under `/challenge/s3_audit/` (`buckets.json` plus each bucket's…
Ansible Automation - Server Configuration Management
Analyze the generated run export artifacts/ansible/vault-export.yml without running Ansible or touching a server. It…
CI/CD Security - GitHub Actions Vulnerability
Audit the 20 GitHub Actions workflows under `/challenge/repo/.github/workflows/`. Many steps carry a `# audit-ticket:…
Infrastructure as Code - Terraform Security
Analyze the generated terraform/terraform.tfstate without initializing a Terraform provider. The output…
Kubernetes Basics - Cluster Investigation
Investigate the two snapshots in artifacts/kubernetes/ (pod-snapshot.yaml and secret-snapshot.yaml) without connecting…
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-27. GraphQL Introspection Leak
This GraphQL API exposes a schema of User objects with introspection enabled. Investigate whether undocumented queries…
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-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-30. Insecure Deserialization in KinoVault
A legacy backup system codenamed KinoVault reportedly serializes user session objects with Python's pickle module and…
Custom Tool Development - Web Directory Scanner
Analyze the locally generated artifacts/scanner/directory-report.ndjson instead of scanning a live website. The…
Network Tunneling - SSH Port Forwarding
Practice SSH local port forwarding inside one container. SSH listens on 127.0.0.1:22 and the internal service uses…
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 Analysis - TCP Retransmission Covert Channel
capture.pcap contains TCP retransmissions with duplicate sequence numbers. Extract retransmissions whose payload…
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} =…