Cybersecurity CTF challenges
Choose a domain and difficulty, inspect the evidence, and verify each conclusion in a safe environment.
General Skills Level 1 01. First Steps - Binary and Hexadecimal
In the security world, binary and hexadecimal are commonly used. In this challenge, convert hexadecimal to ASCII…
Cryptography Level 1 02. Hidden Secret - Base64 Decode
Base64 is an encoding method used to transmit binary data as text. It's not encryption, but it's often used for…
Linux Level 1 03. Linux First Steps - Find the File
You've connected to a Linux server! There's a file with the flag in the home directory. Use basic commands to find the…
Linux Level 1 04. Find the Hidden File
In Linux, files whose names start with "." (dot) are "hidden files" and are not displayed with the regular ls command.…
Web Level 1 05. HTML Source Code Secret
Web pages contain a lot of information that isn't visible on the surface. Looking at HTML source code, you can often…
Web Level 1 06. JavaScript Password Check
This page has a password-protected area. However, because the password check is done in JavaScript, you can find the…
Web Level 1 07. Peek at Cookies
Websites use a mechanism called cookies to store information in your browser. They're used for managing login states,…
Network Level 1 08. Network Basics - Learn Port Numbers
Networks use port numbers to identify services. For example, a web server (HTTP) usually uses port 80, and encrypted…
Programming Level 1 09. Python Automation - File Reading
In security work, programming is essential for processing large amounts of data. In this challenge, you'll use Python…
General Skills Level 1 10. Security Basics - Ethics and Rules
To become a white hat hacker, knowledge of ethics and laws is just as important as technical skills. In this…
Cryptography Level 1 11. Decode the Caesar Cipher
The Caesar cipher is one of the oldest classical ciphers used by Julius Caesar. It encrypts by shifting alphabet…
Forensics Level 1 12. Identify File Signatures
Files contain identification information called "magic bytes" at the beginning. Even if the extension is disguised,…
Forensics Level 1 13. Hidden Metadata in Images
Photos and images contain metadata called EXIF. This metadata records shooting date, camera info, GPS coordinates,…
Cryptography Level 1 14. ROT13 Magic
ROT13 (Rotate 13) is a type of Caesar cipher that shifts the alphabet by 13 letters. Interesting feature of ROT13:…
Forensics Level 1 15. Extract Strings from Binary
Binary files (executables, etc.) contain human-readable strings. Passwords, URLs, error messages, and other hints can…
Linux Level 1 Linux-01. Grep the Needle Out of the Log Pile
Under /var/log/app there are many date-stamped log files, and the flag is hidden in a single ERROR line among them.…
Linux Level 1 Linux-SSH Key Hunt. Discovering a Hidden Private Key File
A file resembling a private key is hidden deep inside an application's configuration directory. Use find to track it…
Linux Level 1 Linux-Archive. Extracting a Secret from a Tarball
A compressed archive (.tar.gz) in the home directory contains a file with the flag hidden inside. Extract it with tar…
Linux Level 1 Linux-Custom. Inspecting a Scheduled Backup Script
Inspect the scheduled script placed under /usr/local/bin along with the cron entry that registers it. Comments inside…
Linux Level 1 Linux-Service Config. Digging into Nginx Configuration Files
Several service configuration files exist under /etc. Some are decoys while others hold real clues, so read through…
Linux Level 1 Linux-Symlink Basics. Following a Chain of Links to the End
A single chain of symbolic links connects several files. Follow the chain with ls or readlink until you reach the real…
Linux Level 1 Linux-Disk Usage. Tracking Down a Bloated File
A hidden directory contains an unusually large file. Use du or find's size options to track it down and inspect its…
Linux Level 1 Linux-Permissions Basics. Running a Script with No Execute Bit
A script file lacks execute permission. Check its permissions, add execute permission with chmod, and then run it.
Linux Level 1 Linux-File Type Disguise. Unmasking Files with the file Command
A file with a .jpg extension may actually contain plain text. Use the file command to spot files whose extension does…