Challenge list

Clear filters

20 challenges

LinuxLevel 3★★★☆☆

Linux-Capabilities. Privilege Escalation Beyond SUID

A specific binary on this system has Linux capabilities assigned to it. Investigate a privilege escalation technique…

LinuxLevel 3★★★☆☆

Linux-SUID Exploit. Escalating Privileges via the find Binary

A copy of the find command with the SUID bit set exists on this system. Use a well-known GTFOBins technique to obtain…

LinuxLevel 3★★★☆☆

Linux-Proc Memory. Peeking at a Process's Environment

A daemon process runs continuously in the background, with the flag set as one of its environment variables.…

LinuxLevel 3★★★☆☆

Linux-Strace. Tracing System Calls to Expose a File

A binary that leaves nothing in standard output or on disk is provided. It reads a key from a hidden file,…

LinuxLevel 3★★★☆☆

Linux-Race Condition. Exploiting a TOCTOU Gap for Root Files

A cleanup script that root runs periodically has a gap (TOCTOU) between checking and acting on a file. Try exploiting…

ProgrammingLevel 3★★★☆☆

Python Automation - SQLite Database Analysis

Examine data.db (SQLite: users / orders / audit_log), created at every start. Aggregate orders per user_id with…

ProgrammingLevel 3★★★☆☆

Python Automation - Custom Cipher Decryption

cipher.txt holds the flag encrypted with a custom cipher (hex). Encryption applies per byte: add (key), xor…

ProgrammingLevel 3★★★☆☆

Python Automation - Encrypted ZIP Password Cracking

A new /challenge/secret.zip is created at every start. It contains flag.txt and readme.txt, encrypted with ZipCrypto.…

ProgrammingLevel 3★★★☆☆

Algorithms - BFS Shortest Path Through a Maze

Use BFS to find the shortest path from S to E in data.txt, then submit the UDLR move sequence to challenge.py. A…

ProgrammingLevel 3★★★☆☆

Programming - SQLite Evidence Database

evidence.db is a SQLite database built from random data at every start (in /challenge, with the tables users /…

ProgrammingLevel 3★★★☆☆

Programming - Web Scraping Graph Traversal

site.json is a crawl result built from random data at every start (in /challenge). It holds the start and target URLs…

ProgrammingLevel 3★★★☆☆

Programming - ZIP Password Recovery

secret.zip is a ZIP encrypted with ZipCrypto (the traditional PKWARE cipher), created at every start (in /challenge,…

ProgrammingLevel 3★★★☆☆

Programming - Packet Log Analysis

capture.txt is a packet log created at every start (in /challenge). Each line is one flow of the form flow=<name>…

ProgrammingLevel 3★★★☆☆

Programming - Multithreaded Result Reassembly

Analyze the parallel-job result log worker-results.jsonl, which is generated randomly at every start. Each slot was…

ProgrammingLevel 3★★★☆☆

Programming - Memory Dump Analysis

Analyze the synthetic memory image memory.img, which is generated randomly at every start. In the heap table at the…

ProgrammingLevel 3★★★☆☆

Programming - Known-Plaintext Attack

Analyze the evidence files ciphertext.b64 and known.txt, which are generated randomly at every start. ciphertext.b64…

ProgrammingLevel 3★★★☆☆

Programming - Custom Protocol Parsing

protocol.bin is a binary capture created at every start (in /challenge): several length-prefixed frames that begin…

ProgrammingLevel 3★★★☆☆

Programming - Image Steganography

image.pgm is a text-format (P2) PGM image created at every start (in /challenge). Collect the least significant bit…

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…