Sitemap
Raviraj Kumar

Raviraj Kumar

CTF Player | Security Researcher | Ethical Hacker | Breaking things legally & writing about it.

Checkmate | TryHackMe Writeup

4 min readJun 5, 2026

Hey everyone! This is my first writeup, so I might make some mistakes nothing too serious though! I’m going to share a full walkthrough of the Checkmate room on TryHackMe.

Challenge Description:
Marco Bianchi, a systems administrator, recently deployed several internal services, including a firewall console, employee portal, social platform, and SSH access to critical infrastructure. Due to tight deadlines and operational pressure, Marco reused weak, predictable, and pattern-based passwords across multiple systems.

Your objective is to conduct a password security assessment to identify weaknesses in Marco’s authentication practices.

Access Room: https://tryhackme.com/room/checkmate

Press enter or click to view image in full size

TASK 1

First Question:

What is the password for Level 1?

Press enter or click to view image in full size
Level 1

This is the page where we need to submit the password to gain access to the next level. As you can see, it clearly mentions a firewall running at port 5001 on the same target machine.

Press enter or click to view image in full size
Firewall Page where we have to brute force the default or weak password
Press enter or click to view image in full size

After entering the default password 12345, we are redirected to this page

Answer : 12345

Question 2:

What is the password for Level 2?

Press enter or click to view image in full size
Level 2

The Internal Employee Portal is running on port 5002.

Press enter or click to view image in full size
Internal Employee Portal

We need to prepare a wordlist using words extracted from this website, and then use that wordlist to brute-force the login panel. We will be using tools like CeWL, curl, or wget to accomplish this.

Press enter or click to view image in full size
Login Portal

Username is Marco.

I used wget to extract words from the website and build a wordlist, since the challenge mentions that the password is derived from words found on the website.

Command:
wget -q -O — http://10.48.149.185:5002 | grep -oP ‘\w{4,}’ | sort -u > wordlist.txt

Press enter or click to view image in full size

We will use Hydra to brute-force the login page.

Command:
hydra -l marco -P wordlist.txt 10.48.149.185 http-post-form “/login:username=^USER^&password=^PASS^:Invalid” -s 5002 -V

Press enter or click to view image in full size

Answer : excellence

Question 3:

Get Raviraj Kumar’s stories in your inbox

Join Medium for free to get updates from this writer.

What is the password for Level 3?

Press enter or click to view image in full size
Level 3: Well, You can see we have to use the Marco person details after login we got in level 2 to find the password for lever 3.
Level 3

Here we need to build a wordlist using Marco’s personal details with CUPP (a tool designed to generate custom, targeted wordlists based on personal information).

Press enter or click to view image in full size
Marco’s Personal Information
Press enter or click to view image in full size
CUPP Tool Interface
Press enter or click to view image in full size
Setting the information in the fields.

After generating the personalized wordlist, we will use it to brute-force the login page of the social platform using Hydra.

Command:

hydra -l marco -P marco.txt 10.48.149.185 http-post-form “/login:username=^USER^&password=^PASS^:Invalid” -s 5003 -V

Press enter or click to view image in full size
Got the password

Answer: Bianchi2495

Question 4:

What is the password for Level 4?

Press enter or click to view image in full size
Level 4
Press enter or click to view image in full size
After successfully brute-forcing Marco’s password, we are now logged into the social platform.
Press enter or click to view image in full size
We got the image hash in SHA-256 format, and now we need to crack it.

Save the hash in a file and then use Hashcat to crack it.

Command:

hashcat -m 1400 -a 0 hash.txt /usr/share/wordlists/rockyou.txt

Press enter or click to view image in full size

Answer : family

Question 5:

What is the password for Level 5?

Press enter or click to view image in full size
Level 5
Press enter or click to view image in full size
Marco’s post on the social platform reveals his password structure. Using this structure along with the keywords, we need to prepare a wordlist and brute-force the SSH service.

We will use the Crunch tool to generate a wordlist based on the given password format.

crunch 13 13 -t Security20%% ! -o security_wordlist.txt

After generating the wordlist, we will use Hydra to brute-force the SSH service.

hydra -l marco -P security_wordlist.txt 10.48.149.185 ssh -V -t 4

Press enter or click to view image in full size
Got the password for SSH sevice.

Answer: Security2024!

Press enter or click to view image in full size
All passwords at once.

That’s a wrap! Thanks for sticking around till the end. This was my first writeup, so I really appreciate your time and patience. If you enjoyed it or found it useful, do give it a clap 👏 — it motivates me to write more. See you in the next one! 🔐

--

--

Raviraj Kumar
Raviraj Kumar

Written by Raviraj Kumar

CTF Player | Security Researcher | Ethical Hacker | Breaking things legally & writing about it.