Daniel Petri

Active Directory (AD) sigue siendo la columna vertebral de los entornos informáticos empresariales, ya que centraliza la autenticación y autorización de usuarios y equipos. Sin embargo, la importancia de Active Directory, unida a su antigüedad y a la deuda técnica que suele acumular, lo convierte en un objetivo principal de los ciberataques. Una técnica de ataque común, denominada Kerberoasting, explota el protocolo de autenticación Kerberos y los nombres principales de servicio (SPN). A continuación explicamos cómo funciona Kerberoasting y cómo defenderse de él.

¿Qué es el kerberoasting?

Kerberoasting es un sofisticado método de ataque. Los atacantes utilizan Kerberoasting para extraer credenciales de cuentas de servicio. Armados con estas credenciales, los atacantes pueden obtener una capacidad alarmante para comprometer ampliamente su red.

La base de Kerberoasting es la capacidad de cualquier usuario autenticado dentro de un dominio AD para solicitar tickets de servicio para cualquier servicio. Estos tickets se cifran utilizando el hash de la cuenta de servicio vinculada al SPN consultado. El hash -RC4 o DES- no se considera fuerte según los estándares modernos y, por lo tanto, se puede descifrar con relativa facilidad.

¿Qué es Kerberos?

Kerberos es un protocolo de autenticación de red creado para ofrecer autenticación segura para aplicaciones cliente-servidor, utilizando criptografía de clave secreta. El protocolo es el protocolo de autenticación por defecto en Active Directory y desempeña un papel crucial a la hora de garantizar que los usuarios y los servicios puedan confiar los unos en los otros en un entorno de red.

Kerberos utiliza tickets: entidades criptográficas que autentican usuarios o servicios sin necesidad de enviar repetidamente contraseñas a través de la red. Estos tickets sirven como columna vertebral del proceso de autenticación Kerberos.

Existen varios tipos de tickets Kerberos:

  • Ticket de concesión (TGT): Emitido tras el inicio de sesión inicial, este ticket autoriza al usuario a solicitar tickets de servicio.
  • Ticket de servicio, también conocido como Ticket Granting Service (TGS): Este ticket permite a los usuarios acceder a servicios específicos.
  • Ticket de sesión: Después de presentar un ticket de servicio al servicio y de que éste lo verifique, se utiliza un ticket de sesión para autenticar al cliente mientras dure la sesión.

Estos tickets contienen información importante sobre la cuenta de usuario o de servicio, el ordenador en el que se realizó la solicitud, etc. La información de los tickets está encriptada y sólo puede acceder a ella la parte que solicitó el ticket o concedió el acceso.

¿Qué son los nombres de entidad principal de servicio (SPN)?

Los SPN se utilizan para identificar de forma exclusiva un servicio que se ha registrado en Active Directory. Cada SPN está asociado a una cuenta de servicio específica en Active Directory y describe el tipo de servicio. Algunos ejemplos de tipos de servicio:

  • Servicios web: Un servidor web como IIS puede utilizar un SPN como HTTP/servidor web.dominio.com para autenticarse con AD.
  • Servicios SQL: Las instancias de Microsoft SQL Server registran un SPN como MSSQLSvc/servername.domain.com:1433 para habilitar la autenticación Kerberos.
  • Servicios de archivos: Un servidor de archivos puede tener un SPN como HOST/servidorarchivos.dominio.com.
  • Aplicaciones personalizadas: Las empresas suelen desarrollar aplicaciones internas que utilizan AD y Kerberos para la autenticación. Estas aplicaciones también pueden registrar sus SPN.

Cuando un usuario o un servicio desea acceder a un servicio registrado en AD, consulta el SPN correspondiente para solicitar el ticket de servicio necesario, que el servicio de destino valida a continuación. Las cuentas de servicio en Active Directory son vitales, ya que pueden ejecutar aplicaciones o servicios críticos y a menudo tienen privilegios elevados.

¿Cómo funciona el Kerberoasting?

En un típico ataque Kerberoasting:

  • El atacante enumera los SPN y sus cuentas de servicio asociadas. Los atacantes pueden utilizar comandos PowerShell para encontrar fácilmente todos los SPN de tipos específicos. Uno de los tipos de SPN más útiles que buscan los atacantes es SQL porque es compatible con SQL Server (un objetivo popular para la filtración de datos).
  • Tras identificar los SPN disponibles y sus cuentas de servicio asociadas, el atacante solicita el ticket Kerberos para los SPN objetivo y exfiltra el ticket para descifrarlo.
  • A continuación, el atacante trabaja fuera de línea para descifrar y descifrar el hash de la contraseña del billete, utilizando herramientas y técnicas de fuerza bruta fuera de línea.
  • Tras descifrar la contraseña del ticket, el atacante obtiene acceso a la cuenta (a menudo privilegiada) asociada al ticket de servicio.
  • El atacante utiliza la cuenta comprometida para realizar una escalada de privilegios y obtener así acceso no autorizado a información sensible, realizar movimientos laterales o llevar a cabo otras actividades maliciosas.
  • Comprometer una cuenta a menudo permite al atacante acceder a cuentas de usuario adicionales en el servidor en el que el atacante obtuvo acceso originalmente. A continuación, el atacante utiliza la misma técnica para acceder a más cuentas.

¿Qué daños puede causar el kerberoasting?

Los riesgos que plantea Kerberoasting son múltiples. En esencia, el ataque conduce al robo de credenciales, poniendo en manos de adversarios credenciales sensibles de cuentas de servicio.

Lo que amplifica la amenaza son los permisos que pueden tener las cuentas de servicio. Un atacante que descifre la contraseña de una cuenta de servicio con privilegios elevados puede obtener un amplio acceso, abriendo las puertas a privilegios elevados. Armados con estas credenciales, los atacantes pueden moverse sin problemas lateralmente dentro de una red, accediendo a datos y recursos valiosos.

¿Por qué el Kerberoasting es un ataque tan popular?

Kerberoasting sigue siendo un vector de ataque común principalmente porque puede ser difícil de identificar y contrarrestar. Este ataque también es relativamente fácil de ejecutar utilizando herramientas conocidas.

Kerberos está diseñado tanto para la seguridad como para la eficiencia. Sin embargo, su fuerza depende de la confidencialidad de las claves de cifrado que aseguran los tickets durante la fase de autenticación. Si los atacantes consiguen hacerse con estas claves de cifrado (contraseñas), pueden crear sus propios tickets, lo que les daría acceso a información privilegiada y a activos de la red.

Lograr un exploit de Kerberoasting con éxito en una red empresarial dependiente de Kerberos podría conceder al atacante acceso a una amplia gama de datos y herramientas confidenciales. Esto explica por qué los atacantes están dispuestos a poner mucho esfuerzo en los intentos de Kerberoasting.

Los atacantes también pueden orquestar Kerberoasting de forma remota, evitando el contacto directo con el servidor de autenticación o los activos objetivo. Este enfoque sigiloso dificulta que los equipos de ciberseguridad detecten y frustren el Kerberoasting en sus primeras etapas.

¿Cómo puede defenderse contra el Kerberoasting?

Mitigar los riesgos que plantea el Kerberoasting implica varios pasos:

  1. Fortifique las contraseñas de las cuentas de servicio. Las contraseñas deben ser únicas, complejas y tener más de 25 caracteres. Deben ser capaces de resistir ataques de fuerza bruta, haciendo más difícil a los atacantes descifrar las contraseñas asociadas a cualquier ticket de servicio que obtengan. Cambie las contraseñas al menos una vez al año para mantener a raya a los atacantes.
  2. Si el servicio correspondiente lo admite, utilice cuentas de servicio gestionadas por grupo (gMSA) que ofrezcan gestión de contraseñas para eliminar la necesidad de gestionar manualmente las contraseñas de las cuentas de servicio y aliviar la carga administrativa.
  3. Supervise Active Directory en busca de anomalías, como solicitudes de tickets de servicio anormales o frecuentes. Estos eventos podrían indicar un intento de Kerberoasting en curso.
  4. Adopta el principio del menor privilegio para las cuentas de servicio. Para garantizar que las aplicaciones funcionan como se espera, estas cuentas suelen tener demasiados privilegios cuando se configuran. Al limitar los derechos y permisos, puedes minimizar el daño potencial si una cuenta se ve comprometida.
  5. Considere desactivar RC4 como tipo de cifrado. Hacerlo puede llevar tiempo porque debes asegurarte de que las aplicaciones y sistemas de nivel inferior pueden seguir funcionando. Sin embargo, este paso merece la pena para garantizar que las contraseñas ya no utilizan este protocolo para hacer hash.

Otra defensa emergente contra el Kerberoasting es el despliegue y monitorización de honey tokens. Básicamente, estos tokens son cuentas señuelo equipadas con SPN, que se dejan como cebo para los atacantes. Dado que estas cuentas son falsas y no tienen ningún propósito legítimo, cualquier actividad en torno a ellas es una clara señal de intenciones maliciosas. Con una supervisión adecuada, pueden alertar a su equipo de seguridad de un posible ataque de Kerberoasting, permitiéndole defenderse de él y minimizar cualquier daño.

Cómo puede ayudarle Semperis a combatir el kerberoasting

La evolución del panorama de las ciberamenazas exige herramientas capaces de seguir el ritmo. Las soluciones avanzadas de detección de amenazas, como Semperis Directory Services Protector ( DSP), pueden supervisar, detectar y alertar de forma activa sobre patrones coherentes con Kerberoasting y otros ataques basados en Active Directory. El empleo de este tipo de herramientas amplifica su defensa, haciendo que su entorno de Active Directory sea más resistente a las infracciones.

El kerberoasting es una potente técnica de ataque. Sin embargo, se puede contrarrestar eficazmente con los conocimientos y herramientas adecuados. Comprendiendo su mecánica, permaneciendo alerta y desplegando medidas de seguridad avanzadas, las empresas pueden salvaguardar sus entornos de Active Directory y el tesoro de datos del que son depositarias.