Huy Kha | Arquitecto Senior de Identidad y Seguridad

La detección de la proliferación de contraseñas es una habilidad vital para todas las organizaciones. En un ataque de pulverización de contraseñas, el atacante intenta obtener acceso no autorizado probando unas pocas contraseñas comunes o débiles en muchas cuentas, en lugar de dirigirse a una sola cuenta con muchas contraseñas. La idea es probar varias contraseñas, con la esperanza de que algunos usuarios hayan elegido una contraseña débil.

En el contexto de Active Directory (AD), los ataques de pulverización de contraseñas son preocupantes porque cualquier usuario autenticado en un entorno AD puede utilizar LDAP para consultar cuentas. Esto permite a un atacante con privilegios mínimos intentar introducir contraseñas comunes o débiles en muchas cuentas sin activar las políticas de bloqueo de cuentas(Figura 1).

Figura 1. Ejemplo de un ataque de pulverización de contraseñas en acción

¿Por qué es vital la detección por pulverización de contraseñas?

Microsoft estima que los ataques de pulverización de contraseñas son responsables de más de un tercio de todos los casos de cuentas comprometidas, lo que pone de relieve la amenaza que este método supone para las organizaciones.

Los ataques de pulverización de contraseñas pueden generar tanto una cantidad significativa de actividad en los registros de eventos de seguridad de un controlador de dominio (DC) como un gran volumen de tráfico de red(Figura 2).

Figura 2. Muchos inicios de sesión fallidos perdidos en poco tiempo tras un ataque de pulverización de contraseñas.

Numerosos inicios de sesión fallidos pueden resultar ruidosos. Por lo tanto, un atacante puede introducir un retardo entre los intentos en un ataque de pulverización de contraseñas(Figura 3). Dado que los registros de eventos de seguridad de los DC suelen generarse en cuestión de segundos, este retraso ayuda a que el ataque se mezcle con la actividad normal, reduciendo las posibilidades de detección.

Figura 3. Ataque de pulverización de contraseñas Ataque de pulverización de contraseñas mostrando los intentos exitosos y fallidos con un retardo de 10 segundos.

Los registros en un DC muestran que las marcas de tiempo de estos intentos fallidos de inicio de sesión se producen a intervalos consistentes, causados por la introducción de un retraso de 10 segundos entre cada intento. Este desfase temporal hace que la actividad sea menos sospechosa que los múltiples intentos fallidos de inicio de sesión que se producen simultáneamente(Figura 4).

Figura 4. Registros de eventos de seguridad que muestran los intentos fallidos de inicio de sesión durante un ataque de pulverización de contraseñas con un retardo de 10 segundos entre cada intento.

Pulverización de contraseñas mediante preautenticación Kerberos

La adición de un retraso hace que un ataque de pulverización de contraseñas sea menos sospechoso. Sin embargo, el ataque seguirá activando el evento Una cuenta no pudo iniciar sesión en el DC.

La preautenticación Kerberos puede dificultar la detección de la pulverización de contraseñas. Los intentos fallidos que utilizan dicha preautenticación no generan los eventos estándar de fallo de inicio de sesión en los registros de eventos de Seguridad. De este modo, el atacante puede adivinar contraseñas sin activar las alertas típicas asociadas a los intentos fallidos de inicio de sesión(Figura 5).

Figura 5. Ataque de pulverización de contraseñas mediante preautenticación Kerberos con un retardo de 10 segundos.

En este tipo de ataque, en lugar de ver los típicos eventos de Una cuenta no pudo iniciar sesión en los registros de eventos de Seguridad, observará eventos de Kerberos Pre-Autenticación fallida. Estos eventos incluyen el valor hexadecimal 0x18, que significa que se ha introducido una contraseña incorrecta(Figura 6).

Figura 6. Registros de fallos de preautenticación Kerberos con ID de evento 4771, mostrando intentos fallidos debidos a contraseñas incorrectas.

Pulverización de contraseñas mediante intervalos de retardo aleatorios

Otra forma de dificultar la detección del espray de contraseñas es alterar los patrones predecibles que los sistemas de seguridad suelen vigilar(Figura 7). Esta aleatoriedad hace que el ataque se mezcle con el tráfico normal, lo que dificulta la detección y respuesta de los sistemas y equipos de seguridad.

Figura 7. Ataque de pulverización de contraseñas demostrando retrasos aleatorios entre intentos

Un ataque de pulverización de contraseñas con retrasos aleatorios sigue generando eventos de registro. Sin embargo, la sincronización irregular entre los intentos puede dificultar la detección del ataque de pulverización de contraseñas. En lugar de un patrón consistente, los registros muestran intentos de inicio de sesión distribuidos de forma impredecible, lo que hace que el ataque sea menos llamativo(Figura 8).

Figura 8. Los inicios de sesión fallidos se mezclan de forma impredecible con la actividad normal, lo que aumenta la dificultad para distinguir un ataque de pulverización de contraseñas de los intentos legítimos de inicio de sesión.

El mismo concepto puede aplicarse aleatorizando los intervalos de retardo durante un ataque de pulverización de contraseñas que utilice la preautenticación Kerberos. Dado que los eventos 4771 no suelen vigilarse de cerca, la introducción de retardos aleatorios dificulta aún más su detección(Figura 9).

Figura 9. Pulverización de contraseñas mediante preautenticación Kerberos con retardos aleatorios, intentando imitar un comportamiento normal.

Como en el ejemplo anterior, la aleatorización de los intervalos de retardo entre cada intento de inicio de sesión puede hacer que esta actividad parezca un comportamiento normal en los registros(Figura 10).

Figura 10. Evento 4771 en los registros mostrando fallos de preautenticación Kerberos, que pueden mezclarse con la actividad normal debido a retrasos aleatorios.

Ataques de detección de pulverización de contraseñas con Lightning Identity Runtime Protection

Identity Runtime Protection (IRP), una función de la plataforma Semperis Lighting, utiliza varios indicadores de patrones de ataque y detección de anomalías para supervisar y detectar ataques basados en identidades. Lightning IRP suele necesitar entre 7 y 10 días para aprender los patrones de un entorno mediante el análisis del comportamiento.

Figura 11 muestra Lightning IRP identificando exitosamente dos ataques de rociado de contraseñas. Basándose en estas alertas, puede determinar qué cuentas fueron atacadas y las puntuaciones de detección correspondientes.

Figura 11. Detección de pulverización de contraseñas IRP con distintos niveles de confianza en dos instancias de ataque.

La Figura 12 muestra la detección de pulverización de contraseñas IRP Lightning de un ataque que aleatorizó los intervalos de retardo para cada intento de pulverización de contraseñas a través de la preautenticación Kerberos. La puntuación de detección es baja en este caso porque el ataque fue diseñado para un mayor sigilo. Sin embargo, Lighting IRP fue capaz de detectar el comportamiento a pesar de que el tráfico estaba pensado para parecer típico y no hacer saltar las alarmas.

Figura 12. Detección de pulverización de contraseñas mostrando las cuentas objetivo, la puntuación de detección y el estado del ataque.

Realizar un ataque de pulverización de contraseñas sin aleatorizar los intervalos de retardo suele dar como resultado una mayor puntuación de detección, como se muestra en la Figura 13. Este método tiene más probabilidades de ser marcado con una puntuación de detección más alta (100% en este ejemplo) debido a su naturaleza predecible y ruidosa, lo que facilita la detección y categorización del pulverizado de contraseñas.

Figura 13. Resultados de una detección de pulverización de contraseñas en un ataque sin intervalos de retardo aleatorios.

Recomendaciones adicionales para la detección de pulverizaciones con contraseña

Para reducir el riesgo de éxito de los ataques de pulverización de contraseñas, es importante aplicar políticas de contraseñas fuertes, incluyendo la implementación de mecanismos de bloqueo de cuentas (ya sea temporal o permanente) después de varios intentos de inicio de sesión fallidos consecutivos. Las organizaciones deben asegurarse de que estas políticas de contraseñas se aplican a través de una política de dominio predeterminada o políticas de contraseñas detalladas en Active Directory.

Las organizaciones que usan Entra ID P1 o que tienen la licencia apropiada de Enterprise Mobility + Security (EMS) o Microsoft 365 pueden lograr una capa adicional de protección desplegando Entra Password Protection o una solución similar para Active Directory. Esta herramienta evita de forma proactiva que los usuarios creen o utilicen contraseñas fáciles de adivinar o que hayan sido comprometidas en brechas anteriores. Integrando esta solución, las organizaciones pueden mejorar la probabilidad de detectar con éxito el espionaje de contraseñas.

La Figura 14 muestra un ejemplo en el que Entra ID Password Protection ha evitado que un usuario establezca una contraseña que no cumple con la política de contraseñas actual de la organización.

Figura 14. Entra ID Password Protection bloqueando a un usuario de establecer una contraseña que viola la política de contraseñas.

Recursos adicionales de detección de pulverización de contraseñas