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

Haze

29 Mar 2025 · 21 min read · root access
Haze - maquina de Hack The Box

Executive summary — Haze is a Domain Controller where the "textbook" path is a carefully built trap: an unauthenticated Splunk instance leaks credentials that kick off a flawless ACL chain — gMSA, taking ownership of a group, Shadow Credentials — ending at an expired domain certificate and a PKINIT that was never going to work. The real route ignores that chain entirely and loops back to the same Splunk instance that opened the door: its admin account is crackable and its service runs with SeImpersonatePrivilege, the exact combination needed to land on SYSTEM.

PlatformHack The Box
Operating systemWindows Server 2022 (AD / Splunk)
DifficultyHard
StatusRetired
Target IP10.129.232.50
Domainhaze.htb

Attack map

[8000/8089 HTTP] Splunk 9.2.1 (unauthenticated)
   │  CVE-2024-36991 path traversal
   ▼
etc/passwd + authentication.conf + splunk.secret
   │  decrypt $7$ (PBKDF2-HMAC-SHA256 + AES-256-GCM)
   ▼
paul.taylor : Ld@p_Auth_Sp1unk@2k24   (SMB, no WinRM)
   │  password reuse
   ▼
mark.adams   (WinRM, gMSA_Managers group)
   │  WRITE over msDS-GroupMSAMembership (BloodHound)
   ▼
gMSA Haze-IT-Backup$ --owner--> Support_Services --member+ACE--> edward.martin
   │                          Shadow Credentials: PKINIT broken — dead end
   ▼
hashcat $6$ admin ───────────────────────────► Sp1unkadmin@2k24
   │  RCE via scripted input (management port 8089)
   ▼
alexander.green   (SeImpersonatePrivilege)
   │  GodPotato
   ▼
[ROOT] NT AUTHORITY\SYSTEM

1. Reconnaissance

The port scan shows a very standard Domain Controller profile, plus a block that isn't standard at all:

sudo nmap -p- --min-rate 3000 -T4 -Pn -n --open 10.129.232.50
53,88,389,445,464,636,3268,3269,9389,5985/tcp   (Domain Controller profile)
8000/tcp  Splunkd httpd
8088/tcp  (HTTP Event Collector)
8089/tcp  ssl/http Splunkd httpd

8000, 8088 and 8089 are the unmistakable fingerprint of Splunk running on the DC itself: web UI, event collector (HEC) and management port. A version scan against all three confirms the exact instance and build:

nmap -sV -p8000,8088,8089 10.129.232.50
curl -sk https://10.129.232.50:8089/services/server/info | grep -i version
8000/tcp open  http    Splunkd httpd
<version>9.2.1</version>

The service scan also confirms the domain and leaves one detail for later:

389/tcp  ldap  Domain: haze.htb0.
|_clock-skew: 7h59m55s      (~8 hours — relevant for any Kerberos operation)
echo "10.129.232.50 dc01.haze.htb haze.htb dc01" | sudo tee -a /etc/hosts
🔒 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.