La fragilidad de los sistemas de información
Se suele hablar de vulnerabilidades cuando nos referimos a un ciberataque. Sin embargo, en ciertos casos, los ciberataques se dirigen a una sencilla y discreta fragilidad del sistema de información de la organización. Es el caso del ataque Kerberoast.
Antonio Huertas, System Engineer para España y Portugal de Vectra AI, nos explica por qué frente a los ciberataques que se multiplican, los sistemas de información son vulnerables y frágiles. Vulnerables ya que se enfrentan a agresiones exteriores recurrentes; frágiles ya que todos los sistemas de información conllevan puntos neurálgicos que pueden debilitarlos profundamente y que no se pueden cambiar.
Fragilidad del sistema: el ejemplo de Kerberoasting
Actualmente, cada vez más sistemas de información están sujetos a la fragilidad. El tamaño de su fragilidad viene de ciertas partes de su propia estructura. El caso de Kerberoasting es elocuente y puede servir de ejemplo.
Kerberoast es el nombre de un ataque relativamente identificado. Permite recuperar nuevas cuentas en el Directorio Activo para acceder a servicios (web, bases de datos, ficheros…). La gran mayoría de las empresas se ven afectadas ya que el 99% de ellas disponen de un Directorio Activo.
¿Cómo opera este ataque? El ataque Kerberoast se dirige al protocolo Kerberos, del nombre del perro policéfalo, el cerbero, de la mitología griega. En el ámbito informático, Kerberos ha sido creado por el MIT (Massachusetts Institute of Technology) en 1988, antes de convertirse desde Windows 2000 en el protocolo de identificación por defecto.
La manera en que se despliega es técnica y explota el hecho de que, con Kerberos, cualquier usuario del dominio autentificado puede pedir un ticket de acceso a un servicio, incluso si no tienen el derecho de conectarse a él. Estos tickets vienen codificados utilizando el hash NTLM de la contraseña de la cuenta de servicio.
RC4: un algoritmo débil
Así, con una cuenta de usuario de un dominio comprometido, el atacante puede pedir un ticket de servicio al administrador del dominio. Este último responde con un ticket codificado con la contraseña secreta de la cuenta de servicio SPN. Allí es donde puede producirse el daño: el atacante puede enviar spam a un servidor Kerberos con demandas de TGS, extraer estos tickets de la memoria y luego intentar crackear offline las contraseñas, intentando romper un algoritmo denominado TC4, débil, sin necesitar generar solicitudes/paquetes al servicio objetivo.
En caso de éxito, el atacante posee identificadores de la cuenta de servicio y puede acceder sin restricciones a todos los sistemas y recursos a los cuales la cuenta comprometida tiene acceso. A partir de este momento, el atacante puede seguir desplegándose con un acceso más amplio a los sistemas de información.
Los ataques de tipo Kerberoasting explotan una fragilidad de la arquitectura Kerberos. Permite a un atacante, con el acceso a una cuenta de usuario de dominio (ya sea con su contraseña o ticket TGT), pedir tickets de conexión a un servicio, el que sea, incluso si el usuario no está autorizado a acceder a dicho servicio. Es el ticket de servicio que el administrador del dominio otorga a cualquier cliente autentificado que lo pide, que viene codificado con el hash de la contraseña de la cuenta de servicio y que los atacantes pretenden crackear offline.
Difíciles de identificar, con una parte del ataque offline para las fases de fuerza bruta, estos movimientos permiten a los cibercriminales progresar hasta poder tomar el control del sistema de información.
Ciberataques súbitos de los que nos podemos proteger
Para protegerse, son posibles varias acciones. La primera consiste en intervenir sobre las cuentas de usuarios privilegiados, ya que son un objetivo prioritario para los atacantes. Si es posible, es preferible no tener cuentas de este tipo que puedan ejecutar servicios, si los derechos privilegiados no son necesarios. Además, si no se pretende que la cuenta se utilice fuera del Directorio Activo, es preferible utilizar las MSA (Managed Service Accounts), que garantizan que la contraseña de la cuenta sea sólida y se cambie de forma periódica y automática. Y si la cuenta se utiliza fuera del Directorio Activo, debe establecerse una contraseña de más de 32 caracteres. Por último, la cuenta de usuario debe configurarse para que admita el algoritmo AES, que es menos vulnerable que RC4.
Podemos verlo claramente con el Kerberoasting: a la vez que vulnerables, nuestros sistemas de información también son frágiles. La fragilidad ilustrada por Kerberos, lejos de ser una vulnerabilidad, es de hecho una simple funcionalidad que no puede extraerse del sistema de información, del mismo modo que se eliminaría un patógeno. Entre los medios de protección, es esencial aplicar buenas prácticas de seguridad (en cuanto a algoritmos de cifrado de tickets, gestión de cuentas de servicio, etc.) o disponer de herramientas de detección de amenazas dentro de las redes.
Detectar movimientos laterales, establecer la narrativa de un ataque a la vista o el uso sospechoso de una cuenta: la verdadera solución pasa necesariamente por esto.
Antonio Huertas, System Engineer para España y Portugal de Vectra AI