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…