Kerberoasting: Un ataque cibernético que explota el protocolo Kerberos
Kerberoasting: Un ataque cibernético que explota el protocolo Kerberos

Kerberoasting: Un ataque cibernético que explota el protocolo Kerberos

Kerberoasting es un tipo de ataque ciber que se basa en la explotación del protocolo de autenticación Kerberos. Este método permite a los actores maliciosos obtener tickets de servicio Kerberos, lo cual les facilita descubrir las contraseñas en texto plano de cuentas de servicio de red. Con estas credenciales, los atacantes pueden tomar el control de dichas cuentas para acceder a datos sensibles, propagar malware, ejecutar ransomware y realizar otras acciones dañinas dentro del entorno comprometido.

Según el X-Force Threat Intelligence Index, se ha observado un aumento del 100% en los incidentes de Kerberoasting entre 2022 y 2023. Este crecimiento forma parte de una tendencia generalizada donde los atacantes aprovechan cuentas válidas para acceder a las redes. Las mejoras en la seguridad de los endpoints y la red han hecho que los ataques directos sean más difíciles de llevar a cabo.

La popularidad del Kerberoasting se debe, entre otros factores, al uso generalizado del protocolo Kerberos en servicios de directorio y sistemas de computación en nube. Esto permite a los atacantes acceder a infraestructuras críticas. En particular, Kerberos es estándar en Microsoft Windows Active Directory, lo que hace que muchos ataques de Kerberoasting se dirijan a dominios de este tipo.

Las cuentas de servicio creadas manualmente suelen tener contraseñas débiles y altos niveles de privilegio, convirtiéndolas en objetivos atractivos para los atacantes. Además, estos ataques son difíciles de detectar porque se aprovechan del diseño previsto de Kerberos. La parte más sospechosa —el descifrado de tickets robados— ocurre fuera de línea, lo que dificulta su detección por parte de los profesionales de ciberseguridad.

¿Cómo funciona el Kerberoasting?

El Kerberoasting suele ser una táctica de escalamiento de privilegios más que un método inicial de intrusión. Una vez que un atacante obtiene control de una cuenta de usuario del dominio, puede usar este ataque para expandir su alcance.

La mayoría de los ataques de Kerberoasting siguen el mismo método básico:

  • Un atacante utiliza una cuenta comprometida para obtener tickets de servicio de Kerberos.
  • El atacante lleva estos tickets a un sistema que controla fuera de la red objetivo.
  • El atacante descifra los tickets y descubre las contraseñas de las cuentas de servicio asociadas.
  • El atacante se conecta a la red utilizando estas credenciales, abusando de sus permisos para moverse por la red y causar daños.

El proceso de Kerberoasting

1. Secuestro de una cuenta de usuario

El primer paso en un ataque típico de Kerberoasting es robar la cuenta de un usuario del dominio. Para ello, los atacantes pueden utilizar métodos como phishing, keyloggers u otras técnicas.

2. Identificación de objetivos

Una vez dentro de la red, el atacante busca cuentas de servicio. A menudo lo hace mediante la identificación de Service Principal Names (SPN), que son identificadores únicos vinculados a las cuentas de servicio en un dominio Kerberos.

Los atacantes pueden usar comandos de PowerShell y consultas LDAP para exponer estas cuentas. También pueden emplear herramientas especializadas, como el script «GetUserSPNs.py» del kit Impacket.

3. Robo de tickets

El atacante utiliza la cuenta secuestrada para solicitar tickets de servicio. Estos no se usan directamente para acceder a los servicios, ya que solo permitirían permisos limitados. En su lugar, el atacante extrae estos tickets y los lleva a un sistema controlado por él fuera de la red.

4. Descifrado de contraseñas

El atacante descifra los tickets robados para recuperar las contraseñas de las cuentas de servicio. Para ello, suele usar ataques de fuerza bruta y listas de palabras comunes. Herramientas como Impacket, Rubeus, John the Ripper y Hashcat son comúnmente utilizadas en este proceso.

5. Uso de la contraseña

Con la contraseña obtenida, el atacante puede iniciar sesión en la cuenta de servicio y usar sus permisos para acceder a recursos confidenciales, realizar movimientos laterales o causar daños.

Por ejemplo, si un atacante descifra la contraseña de una cuenta de servicio de un servidor SQL, podría obtener el control de las bases de datos alojadas en ese servidor.