root@thehacksparrow:~/writeups$ SYSTEM ONLINE
root@sparrow:~/writeups$ cat monitorsfour.md
// writeups

MonitorsFour

6 Dec 2025 · 16 min read · root access
MonitorsFour - maquina de Hack The Box

Executive summary — MonitorsFour is a Windows machine whose backend runs on Docker Desktop + WSL2, and it doesn't fall to a single exploit but by chaining flaws: an unauthenticated IDOR dumps every user and their MD5 hash, the admin hash is cracked with hashcat, those credentials are reused on an internal Cacti panel vulnerable to authenticated RCE (CVE-2025-24367), and from the compromised container we pivot with chisel to an unauthenticated Docker API that lets us mount the host root and gain root. A Web → Cacti → Container → Docker API → Host Root path.

PlatformHack The Box
Operating systemWindows
DifficultyEasy
StatusRetired
Target IP10.129.33.16

Attack map

[80/HTTP + 5985/WinRM]  nginx → vhost monitorsfour.htb
   │  IDOR (token=0) on /user → dump of users + MD5 hashes
   ▼
[MD5 hashes]  unsalted → hashcat + rockyou → admin/Marcus : wonderful1
   │  hidden vhost  cacti.monitorsfour.htb  (Cacti 1.2.28)
   ▼
[Cacti]  credential reuse  marcus:wonderful1
   │  CVE-2025-24367 (Graph Template RCE) → .php in the webroot
   ▼
[Docker container]  www-data shell → user.txt
   │  chisel  R:2375:192.168.65.7:2375  (internal Docker API)
   ▼
[Docker API 2375]  unauthenticated → container with host  /  mounted
   ▼
[ROOT Windows host / WSL2]  chroot /host → root.txt

1. Reconnaissance

We start by mapping the full attack surface with a complete nmap scan (all ports, default scripts and version detection):

nmap -sC -sV -p- --min-rate 3000 -oN nmap_10.129.33.16.txt 10.129.33.16

Result:

PORT     STATE SERVICE VERSION
80/tcp   open  http    nginx
|_http-title: Did not follow redirect to http://monitorsfour.htb/
5985/tcp open  http    Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Analysis: just two ports. 80/tcp (nginx) forces a redirect via the Host: header to monitorsfour.htb, and 5985/tcp (WinRM) confirms a Windows host. WinRM wasn't used in the chain —no valid native credentials turned up—; the real vector is HTTP only.

🔒 Clearance required

This content is Root Access only. Everything else on the site — the free tier, the whole public library — stays open.

See Root Access plans

No account? Create one free then upgrade from your console.