Passion Challenges
If you are interested in writing your thesis under my supervision, or if you would like to work as a student assistant, distinguish yourself and showcase your genuine interest in cybersecurity by solving the following challenges.
How to Participate
Solve one or more challenges and include the passcodes when you contact me. This demonstrates your practical skills and passion for cybersecurity.
Challenge 1: Cipher Brute-Force
Cryptography ScriptingDive into the cryptographic realm of symmetric decryption! The message below has been encrypted using a symmetric cipher followed by Base64 encoding. Your mission is to find the key, decrypt the message and find the hidden passcode.
Encrypted Message
hQY2CeLbfweRt1xS5QYyjS73ahWwInstructions
- Identify the cipher used
- Brute-force the key to decrypt the message
- Extract the passcode from the decrypted message
Hints
- The key is alphanumeric and is 4 characters long
- Think of a symmetric cipher that, despite its historic popularity (e.g., in WEP), is now seen in a more cautionary light due to security concerns
- Before diving into decryption, don't forget to decode first!
Challenge 2: Scan Me
Network Security ReconnaissanceFor this challenge, you'll be targeting challenges.cyber.hn. Your objective is to identify open ports and uncover hidden services. Two services await your discovery, offering up passcodes upon successful connection and challenge completion.
Ethical Hacking Reminder
Ethical hacking is about knowledge, respect, and permission. Always ensure you have authorization before probing any system. Good luck and happy hunting!
Instructions
| Step | Task |
|---|---|
| 1 | Port Scanning — Scan the target to identify open ports |
| 2 | Service Interaction — Try to interact with any service running on the open ports |
| 3 | Passcode Retrieval — Retrieve passcodes from two services |
Hints
- Not all ports are as commonly used as port 80 or 443
- Sometimes, simple tools like
netcatcan be your best ally in interacting with obscure services - Don't just scan — listen to what the service has to say
- Some services require you to implement some kind of automation. Happy quizzing 😉
Challenge 3: Java Reversing
Reverse Engineering JavaIn this challenge, you're presented with a simple Java application. Its logic contains a passcode, one that's hidden behind the veil of obfuscation. Can you dance through the bytecode to retrieve it?
Instructions
- Download the Java application: A.class
- The application expects a specific passphrase as its command line argument
- Reverse engineer the application and discover the passphrase
- Execute the Java application with the correct passphrase to reveal the passcode
java A <passphrase>Hints
- The Java application might have some misleading codes — not everything is as it seems
- Explore popular Java decompilers to inspect the bytecode
- Remember, every method in the application has a purpose. Deciphering their functions could be the key
Challenge 4: MCP Tool Exploitation
Model Context Protocol Tool Security AI AgentsThe future of offensive security is agentic. A small notes server is exposed over the Model Context Protocol (MCP) — the protocol AI assistants use to talk to tools. One of its tools is implemented carelessly. Connect, explore what it offers, and exploit the flaw to retrieve a passcode that lives outside the notes area.
Target
http://challenges.cyber.hn:8000/mcpInstructions
- Connect to the MCP server and enumerate its tools and resources
- Find the tool whose argument isn't properly contained
- Exploit it to read the secret passcode outside the notes directory
Hints
- An MCP client (Claude Desktop / Claude Code, Cursor, Cline, …) makes this easy.
- Read the server's own documentation resource; it tells you what's off-limits
- A tool argument that ends up as a file path is a classic place for things to go wrong
- Feel free to let an AI agent drive — but verify what it reports back. The tool returns the truth; a model may not.
Be ready to explain
For this one, the passcode is only half of it — be prepared to explain how you connected, what was wrong with the tool, and how you verified the result.
Challenge 5: CI/CD Pipeline
CI/CD GitLab AutomationSecurity research runs on automation — reproducible experiments, continuous scanning and testing, and tooling that has to run reliably on its own. Being able to set up a CI/CD pipeline that talks to other systems is a basic, transferable skill for doing research in the field, so here you get to demonstrate it hands-on.
Your task: build a pipeline in the Hochschule Heilbronn GitLab that queries our server and reads back the passcode. The catch — the passcode is served only to the GitLab CI runners, so you can't just curl it from your laptop. You have to make the pipeline do it.
Target
http://challenges.cyber.hn/flagInstructions
- Create a project in the HHN GitLab and add a
.gitlab-ci.yml - Define a job that queries the endpoint above
- Read the passcode from the job log
Hints
- A minimal
.gitlab-ci.ymlis just one job with ascript:running a single command curl(orwget) is all you need — install it in the job if your image lacks it- Whatever the job prints ends up in the pipeline's job log
- Querying from your laptop won't work — the endpoint answers only the CI runners
Good luck!
May the bytes dance in your favor!