Cybersecurity CTF challenges
Choose a domain and difficulty, inspect the evidence, and verify each conclusion in a safe environment.
General SkillsLevel 101. First Steps - Binary and Hexadecimal
In the security world, binary and hexadecimal are commonly used. In this challenge, convert hexadecimal to ASCII…
CryptographyLevel 102. 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…
LinuxLevel 103. 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…
LinuxLevel 104. Find the Hidden File
In Linux, files whose names start with "." (dot) are "hidden files" and are not displayed with the regular ls command.…
WebLevel 105. 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…
WebLevel 106. JavaScript Password Check
This page has a password-protected area. However, because the password check is done in JavaScript, you can find the…
WebLevel 107. Peek at Cookies
Websites use a mechanism called cookies to store information in your browser. They're used for managing login states,…
NetworkLevel 108. Network Basics - Learn Port Numbers
Networks use port numbers to identify services. For example, a web server (HTTP) usually uses port 80, and encrypted…
ProgrammingLevel 109. Python Automation - File Reading
In security work, programming is essential for processing large amounts of data. In this challenge, you'll use Python…
General SkillsLevel 110. 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…
CryptographyLevel 111. Decode the Caesar Cipher
The Caesar cipher is one of the oldest classical ciphers used by Julius Caesar. It encrypts by shifting alphabet…
ForensicsLevel 112. Identify File Signatures
Files contain identification information called "magic bytes" at the beginning. Even if the extension is disguised,…
ForensicsLevel 113. Hidden Metadata in Images
Photos and images contain metadata called EXIF. This metadata records shooting date, camera info, GPS coordinates,…
CryptographyLevel 114. ROT13 Magic
ROT13 (Rotate 13) is a type of Caesar cipher that shifts the alphabet by 13 letters. Interesting feature of ROT13:…
ForensicsLevel 115. Extract Strings from Binary
Binary files (executables, etc.) contain human-readable strings. Passwords, URLs, error messages, and other hints can…
LinuxLevel 1Linux-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.…
LinuxLevel 1Linux-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…
LinuxLevel 1Linux-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…
LinuxLevel 1Linux-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…
LinuxLevel 1Linux-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…
LinuxLevel 1Linux-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…
LinuxLevel 1Linux-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…
LinuxLevel 1Linux-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.
LinuxLevel 1Linux-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…