Mist
Executive summary — Mist is an Insane Active Directory box centred on AD CS chains. The entry point is an unauthenticated file disclosure in Pluck CMS (CVE-2024-9405) that leaks the admin password hash; after cracking it, a malicious PHP module gives RCE as
svc_webonMS01. Abusing an automatic shortcut (.lnk) synchronisation mechanism escalates to the real domain accountBrandon.Keywarp. From there, this box's complete methodology involves an authentication-coercion attack with an NTLM relay against LDAPS on the DC to compromise theMS01$machine account, Shadow Credentials plus Kerberos S4U to get localAdministratoron MS01 (user flag), another user's KeePass database, and from there ReadGMSAPassword, AddKeyCredentialLink and two rounds of ESC13 over AD CS templates up to domainAdministratoron DC01 (root flag).
| Platform | Hack The Box |
| Operating system | Windows Server 2022 (AD Domain Controller + member host) |
| Domain | mist.htb |
| Difficulty | Insane |
| Status | Retired |
| Target IP | 10.129.17.140 |
| Attacker IP | <ATTACKER_IP> |
Attack map
[1] Recon -- only 80/tcp open; Apache+PHP; Pluck 4.7.18 (http-generator + /docs/ listing)
|
[2] CVE-2024-9405 (file disclosure) -> unsalted SHA-512 admin hash -> crack -> lexypoo97
malicious .zip module -> PHP webshell -> RCE as ms01\svc_web
(AMSI bypass + Base64 encoding for -enc)
|
[3] Writable "Common Applications" folder with synced .lnk files ->
Notepad.lnk hijack -> run by an automated process -> mist\brandon.keywarp
|
[4] AD CS "pass the certificate": Certify + Rubeus -> brandon.keywarp's NTLM hash ->
SOCKS tunnel (Chisel) into 192.168.100.0/24 -> SharpHound (full collection)
|
[5] PetitPotam + NTLM relay to LDAPS (LDAP signing not enforced) ->
Shadow Credentials over MS01$ -> MS01$'s hash
|
[6] Rubeus asktgt/s4u (MS01$) -> S4U2self impersonating Administrator (CIFS) ->
local Administrator on MS01 -> user.txt
|
[7] Sharon.Mullard's KeePass .kdbx (Hashcat mask attack on a partially leaked password) ->
op_Sharon.Mullard (domain account)
|
[8] ReadGMSAPassword -> svc_ca$ -> AddKeyCredentialLink (Shadow Credentials) -> svc_cabackup
|
[9] ESC13 x2 (ManagerAuthentication -> Certificate Managers; BackupSvcAuthentication ->
ServiceAccounts/Backup Operators) -> reg.py backup of SAM/SYSTEM/SECURITY -> DCSync
+-> domain Administrator -> root.txt
1. Reconnaissance
nmap -p- --min-rate=3000 -T4 -Pn -oN nmap_all_ports.txt 10.129.17.140
Only one open port: 80/tcp. A common pattern on HTB Insane Windows boxes: the firewall blocks SMB, RPC and Kerberos externally even though this is a Domain Controller, forcing all initial enumeration through the web service.
nmap -p80 -sC -sV -oN nmap_detailed.txt 10.129.17.140
80/tcp open http Apache httpd 2.4.52 ((Win64) OpenSSL/1.1.1m PHP/8.1.1)
NSE scripts add more: http-generator identifies exact Pluck 4.7.18; http-robots.txt lists /data/ and /docs/ as disallowed; there's a redirect to /?file=mist.
gobuster dir -u http://10.129.17.140 \
-w /usr/share/wordlists/seclists/Discovery/Web-Content/raft-medium-directories.txt \
-t 100 -o gobuster_root.txt
curl http://10.129.17.140/docs/
/docs/ has directory listing enabled, with typical Pluck files (CHANGES, COPYING, UPDATING, update.php) reliably confirming the exact 4.7.18 version.
Resumen ejecutivo — Mist es un Insane de Active Directory centrado en cadenas de AD CS. El punto de entrada es una divulgación de archivos no autenticada en Pluck CMS (CVE-2024-9405) que filtra el hash de la contraseña de admin; tras crackearlo, un módulo PHP malicioso da RCE como
svc_webenMS01. El abuso de un mecanismo de sincronización automática de accesos directos (.lnk) escala a la cuenta de dominio realBrandon.Keywarp. Desde ahí, la metodología completa de esta máquina pasa por un ataque de coacción con relay NTLM contra LDAPS del DC para comprometer la cuenta de máquinaMS01$, Shadow Credentials + Kerberos S4U para obtenerAdministratorlocal en MS01 (user flag), una base de datos KeePass de otro usuario, y desde ahí ReadGMSAPassword, AddKeyCredentialLink y dos rondas de ESC13 sobre plantillas de AD CS hastaAdministratordel dominio en DC01 (root flag).
| Plataforma | Hack The Box |
| Sistema operativo | Windows Server 2022 (AD Domain Controller + host miembro) |
| Dominio | mist.htb |
| Dificultad | Insane |
| Estado | Retired |
| IP objetivo | 10.129.17.140 |
| IP atacante | <ATTACKER_IP> |
Mapa del ataque
[1] Recon -- solo 80/tcp abierto; Apache+PHP; Pluck 4.7.18 (http-generator + /docs/ listing)
|
[2] CVE-2024-9405 (file disclosure) -> hash SHA-512 sin sal del admin -> crack -> lexypoo97
modulo .zip malicioso -> webshell PHP -> RCE como ms01\svc_web
(bypass AMSI + encoding Base64 para -enc)
|
[3] Carpeta "Common Applications" escribible con .lnk sincronizados ->
hijack de Notepad.lnk -> ejecutado por un proceso automatizado -> mist\brandon.keywarp
|
[4] AD CS "pass the certificate": Certify + Rubeus -> hash NTLM de brandon.keywarp ->
tunel SOCKS (Chisel) a 192.168.100.0/24 -> SharpHound (recoleccion completa)
|
[5] PetitPotam + NTLM relay a LDAPS (LDAP signing no forzado) ->
Shadow Credentials sobre MS01$ -> hash de MS01$
|
[6] Rubeus asktgt/s4u (MS01$) -> S4U2self impersonando Administrator (CIFS) ->
Administrator local en MS01 -> user.txt
|
[7] KeePass .kdbx de Sharon.Mullard (mascara de Hashcat sobre pass parcial filtrada) ->
op_Sharon.Mullard (cuenta de dominio)
|
[8] ReadGMSAPassword -> svc_ca$ -> AddKeyCredentialLink (Shadow Credentials) -> svc_cabackup
|
[9] ESC13 x2 (ManagerAuthentication -> Certificate Managers; BackupSvcAuthentication ->
ServiceAccounts/Backup Operators) -> reg.py backup de SAM/SYSTEM/SECURITY -> DCSync
+-> Administrator del dominio -> root.txt
1. Reconocimiento
nmap -p- --min-rate=3000 -T4 -Pn -oN nmap_all_ports.txt 10.129.17.140
Único puerto abierto: 80/tcp. Patrón habitual en máquinas Windows Insane de HTB: el firewall bloquea SMB, RPC y Kerberos hacia el exterior pese a tratarse de un Domain Controller, obligando a pivotar toda la enumeración inicial a través del servicio web.
nmap -p80 -sC -sV -oN nmap_detailed.txt 10.129.17.140
80/tcp open http Apache httpd 2.4.52 ((Win64) OpenSSL/1.1.1m PHP/8.1.1)
Los scripts NSE aportan más: http-generator identifica Pluck 4.7.18 exacto; http-robots.txt lista /data/ y /docs/ como deshabilitados; hay redirección a /?file=mist.
gobuster dir -u http://10.129.17.140 \
-w /usr/share/wordlists/seclists/Discovery/Web-Content/raft-medium-directories.txt \
-t 100 -o gobuster_root.txt
curl http://10.129.17.140/docs/
/docs/ tiene listado de directorio habilitado, con ficheros típicos de Pluck (CHANGES, COPYING, UPDATING, update.php) que confirman de forma fiable la versión exacta 4.7.18.
This content is Root Access only. Everything else on the site — the free tier, the whole public library — stays open.
See Root Access plansNo account? Create one free then upgrade from your console.
Este contenido es solo para Root Access. Todo lo demás del sitio — el nivel gratuito, toda la biblioteca pública — sigue abierto.
Ver planes de Root Access¿Sin cuenta? Crea una gratis y luego mejora desde tu consola.