Bypass utilizando Kerberos y SMBExec

Utilización de Kerberos para la Solicitud de TGT

Kerberos es un protocolo de autenticación de red que utiliza tickets para ayudar a los usuarios a probar su identidad a través de una red insegura, como Internet. En el contexto del bypass de UAC, una vez que se han obtenido derechos de administrador local, un atacante o pentester puede utilizar Kerberos para solicitar un Ticket Granting Ticket (TGT) sin interactuar con el UAC.

Proceso de Solicitud de TGT

  1. Solicitud Inicial: Con las credenciales de administrador local, el atacante solicita un TGT al Servicio de Ticket de Concesión (TGS) en el Controlador de Dominio (DC), especificando el servicio y usuario objetivo.

  2. Recepción del TGT: Una vez que el DC valida las credenciales, un TGT es generado y enviado al solicitante. Este TGT es un token de acceso temporal que permite al usuario solicitar tickets de servicio para diferentes recursos en el dominio.

  3. Uso del TGT: Utilizando el TGT, el atacante puede luego solicitar tickets de servicio para acceder a otros recursos y servicios dentro del dominio, sin necesidad de autenticación adicional.

Empleo de SMBExec para Escalada de Privilegios

Una vez que un atacante tiene acceso a un TGT, pueden utilizar herramientas como SMBExec para establecer sesiones de autenticación con otros sistemas en la red, utilizando el protocolo SMB (Server Message Block).

SMBExec y Evasión de UAC

  1. Establecimiento de Sesión SMB: Utilizando SMBExec, el atacante puede utilizar el TGT para autenticarse en otros sistemas en el dominio a través de SMB, un protocolo utilizado para compartir acceso a archivos, impresoras y otros recursos de red.

  2. Escalada de Privilegios: Debido a que los tickets Kerberos pueden ser utilizados para la autenticación de nivel de sistema (NT AUTHORITY\SYSTEM), el atacante puede potencialmente establecer una sesión SMB con privilegios elevados en el sistema objetivo.

  3. Ejecución de Código: Con una sesión de NT AUTHORITY\SYSTEM, el atacante tiene la capacidad de ejecutar código arbitrario, manipular servicios, y realizar otras acciones con el máximo nivel de privilegios en el sistema objetivo, todo ello sin interactuar con el UAC.

Última actualización