El 19 de enero de 2024, Microsoft publicó una declaración sobre el grupo de actores de amenazas llamado “Midnight Blizzard”: este actor patrocinado por un estado fue observado por Microsoft realizando un ataque de pulverización de contraseñas contra un inquilino heredado, desde el cual el actor de amenazas logró obtener un punto de apoyo persistente y saltar a otros entornos.
Que un gigante de la seguridad como Microsoft haya sido víctima de la técnica de pulverización de contraseñas debería llamar la atención de quienes están a cargo de defender entornos de Microsoft 365.
La plataforma de Huntress protege identidades de Microsoft 365 a gran escala, buscando aspectos como secuestro de sesión, robo de credenciales, además de tácticas, técnicas y procedimientos generales de compromiso de correo empresarial. Como parte de esta protección, el equipo de Huntress Threat Hunting está constantemente en busca de otros vectores de ataque de Microsoft 365. Por eso, este blog busca mostrar cómo el equipo piensa y desglosa las técnicas de pulverización de contraseñas que usan los actores de amenazas hoy en día. Entender las herramientas y técnicas de pulverización de contraseñas que usan los atacantes es clave para crear estrategias efectivas de detección de pulverización de contraseñas, ya sea que el objetivo sea un entorno tan grande como el de Microsoft, o una pequeña empresa.
Pulverización de contraseñas vs. fuerza bruta: no son el mismo ataque
Si observamos la matriz de MITRE ATT&CK, los ataques de pulverización de contraseñas caen bajo la técnica 'Brute Force (T1110)', pero en la práctica, la pulverización de contraseñas y la fuerza bruta son muy diferentes desde una perspectiva de caza de amenazas. Esta organización tiene total sentido desde el punto de vista de la matriz ATT&CK y de la agrupación lógica.
Sin embargo, al observar Brute Forcing (T1110) frente a Password Spraying (T1110.003) desde una óptica de caza de amenazas, la diferencia entre estas dos técnicas se vuelve muy clara.
Analicemos esta dinámica un poco más a través de una representación visual de cómo sería el patrón de pensamiento de caza de amenazas para un ataque de fuerza bruta:
Dado que un ataque de fuerza bruta genera múltiples autenticaciones fallidas dirigidas a una cuenta en particular, nuestras hipótesis o preguntas de caza girarán en torno a los aspectos cubiertos en el gráfico anterior.
Por lo general, buscamos una cantidad por encima del promedio de intentos de autenticación fallidos que provienen de una sola dirección IP o que apuntan a un usuario en particular. Desde la perspectiva de un actor de amenazas, sí existe un objetivo común entre los ataques de fuerza bruta y los de pulverización de contraseñas: credenciales válidas. Sin embargo, si observamos el patrón de pensamiento para una caza de pulverización de contraseñas, podemos ver una diferencia drástica con respecto a un ataque de fuerza bruta, en particular desde un punto de vista de caza de amenazas.
Veamos un patrón de pensamiento visual para cazar la pulverización de contraseñas y contrastémoslo con el patrón de pensamiento anterior sobre la caza de ataques de fuerza bruta:
Aunque probablemente estemos lidiando con el mismo tipo de telemetría (eventos de autenticación) y, en términos generales, busquemos anomalías de autenticación, las técnicas de caza y los patrones de pensamiento usados difieren drásticamente al buscar ataques de fuerza bruta en comparación con ataques de pulverización de contraseñas.
Un aspecto clave al cazar ataques de pulverización de contraseñas es entender cómo luce lo “normal” para una organización, porque es poco probable que veas 500 intentos de autenticación fallidos para una sola cuenta de usuario durante un ataque de pulverización de contraseñas, como sí ocurriría durante un ataque de fuerza bruta. Además, destacar únicamente los intentos de inicio de sesión fallidos puede no aportar mucho valor para detectar ataques de pulverización de contraseñas, ya que los usuarios son humanos y suelen olvidar sus contraseñas o quedar bloqueados de sus cuentas con cierta regularidad.
Otra dinámica interesante aquí es que las estrategias de caza para fuerza bruta y pulverización de contraseñas difieren bastante de la caza orientada a detectar secuestro de sesión. En un escenario de secuestro de sesión, asumimos que el usuario víctima tiene una sesión válida en el entorno de Microsoft 365, por lo que podemos observar aspectos como múltiples agentes de usuario, sistemas operativos u organizaciones/ASN de IP usados por un solo ID de sesión.
Sin embargo, un usuario que ha estado inactivo dentro de un entorno de Microsoft 365 aún puede ser víctima de un ataque de pulverización de contraseñas exitoso. En estos escenarios, podrías ver un evento de autenticación exitoso para una identidad de Microsoft 365 por sí solo, de forma aislada. Esta dinámica resalta aún más por qué los ataques de pulverización de contraseñas se prestan bien para esfuerzos de caza proactiva, con una persona real observando y analizando los resultados. De hecho, en este tipo de ataques, los matices importan.
Los nervios del jitter
Un tema común entre la caza de fuerza bruta y pulverización de contraseñas es el elemento temporal. Es decir, buscamos una cantidad anormal de eventos dentro de cierto período de tiempo. Con un ataque de fuerza bruta, esperamos que la mayor parte del ataque ocurra en forma de “ráfaga”.
Sin embargo, para evadir este tipo de detecciones, los creadores de herramientas populares de pulverización de contraseñas han incorporado capacidades de “jitter” para aleatorizar los intentos de autenticación. Los “jitters” buscan agregar intervalos de tiempo aleatorios entre los intentos de inicio de sesión
Herramientas como TREVORspray tienen capacidades integradas de jitter y retraso para evitar detecciones basadas en el tiempo, así como cualquier política de bloqueo:
Otras herramientas, como CredMaster, llevan esta dinámica un paso más allá e incorporan módulos que pulverizan cuentas específicamente durante el horario laboral, para no activar alertas del tipo “fuera del horario laboral”, como se ve en la Figura 4:
Estas técnicas evasivas complican los esfuerzos de caza de ataques de pulverización de contraseñas y también crean más distancia respecto a la caza de ataques de fuerza bruta estándar.
Llega la nube
Como hemos visto, las tácticas y técnicas en torno al ataque de pulverización de contraseñas se han mantenido a la par de las estrategias de caza y detección empleadas por los equipos defensivos.
A medida que las detecciones de ataques de fuerza bruta se volvieron habituales, los actores de amenazas pasaron a emplear estrategias de ataque de pulverización de contraseñas. A medida que los defensores construyeron detecciones en torno a esta dinámica, se necesitó un enfoque diferente para hacer que el ataque de pulverización de contraseñas fuera más sigiloso.
Con la nube cada vez más presente en nuestra realidad informática, las herramientas de ataque de pulverización de contraseñas comenzaron a aprovechar varios servicios en la nube para evadir las detecciones que buscaban múltiples eventos de autenticación desde una sola dirección IP.
Estas tácticas más recientes de ataque de pulverización de contraseñas ahora implican el uso de servicios en la nube: herramientas modernas como CredMaster y git-rotate usan infraestructura en la nube para rotar direcciones IP, lo que hace ineficaces los métodos de detección tradicionales.
Por ejemplo, herramientas como CredMaster usan AWS para rotar direcciones IP:
De manera similar, herramientas más nuevas como git-rotate usan acciones de GitHub para imitar esta dinámica:
Por suerte para los defensores, tanto AWS como GitHub publican sus rangos de IP, lo que facilita identificar a qué servicio en la nube pertenece una IP en particular.
Podemos determinar el rango de IP de las acciones de GitHub con el siguiente comando:
De manera similar, podemos obtener el rango de IP usado por la puerta de enlace de API de AWS:
Luego podemos comparar las IP encontradas mediante los comandos anteriores con la telemetría que tenemos disponible, para ver si alguna de las anomalías de autenticación en nuestros entornos coincide con servicios conocidos por ser usados de forma indebida para ataques de pulverización de contraseñas.
Lo interesante de esta dinámica, desde el punto de vista de la investigación, es que normalmente, al analizar la telemetría de inicio de sesión de Microsoft 365, quienes trabajamos en el lado defensivo solemos descartar rápidamente los valores de ASN que coinciden con servicios en la nube legítimos. Después de todo, ¿por qué debería considerarse sospechoso un inicio de sesión desde un bloque ASN propiedad de Microsoft?
La proliferación de herramientas de pulverización que utilizan servicios en la nube legítimos y confiables debería motivar a todos los que trabajamos en el espacio defensivo a cuestionar nuestras suposiciones de detección y caza, y a mirar más a fondo la telemetría que tenemos ante nosotros.
Obteniendo resultados
Hasta ahora, hemos estado hablando del ataque de pulverización de contraseñas a un nivel alto y táctico. Cambiemos un poco de enfoque y veamos la esencia del ataque de pulverización de contraseñas.
Podemos comenzar con la siguiente consulta en sintaxis ES|QL:
El equipo de caza de amenazas de Huntress utiliza esta consulta para identificar cualquier identidad de Microsoft 365 conectada a sus entornos que presente características sospechosas:
- Más de 1 valor de ASN en uso
- Más de 1 sistema operativo en uso
- Más de 1 navegador en uso
- Múltiples ubicaciones geográficas
Todas estas condiciones se agrupan tanto por el nombre de usuario como por los valores de ID de sesión. Los resultados a continuación contienen una captura de pantalla censurada de una identidad comprometida descubierta mediante esfuerzos de caza proactiva.
Podemos ver que se usó una VPN para realizar la autenticación, el agente de usuario programático sospechoso llama un poco la atención, y vemos autenticaciones desde dos estados. Por supuesto, por sí solo y sin más investigación, es imposible determinar si este evento singular es malicioso o benigno. Sin embargo, al comparar estos parámetros de autenticación con la actividad normal de los usuarios, se confirmó el robo de credenciales.
En otra caza de amenazas ejecutada, los analistas de Huntress buscaron autenticaciones de usuario provenientes de un espacio de IP perteneciente al servicio de puerta de enlace de API de AWS.
La búsqueda de este tipo de dinámica es relativamente sencilla:
Los resultados aquí son interesantes, y podría ser fácil descartar estos inicios de sesión como provenientes de un servicio en la nube legítimo y seguir con tu día. Sin embargo, si usamos una herramienta como aws-ip-lookup para examinar más de cerca las IP que generan los eventos de Microsoft 365, podemos ver que estos inicios de sesión se originan en el servicio de puerta de enlace de API de AWS:
Tras revisar más a fondo las identidades mencionadas, se determinó que sí ocurrió algún tipo de robo de credenciales, y se notificó a los clientes de inmediato, como se ve en la figura 8:
Detección de ataques de pulverización de contraseñas: cómo mantenerte protegido
Aunque en Huntress nos encantan las aventuras de caza de amenazas, preferimos encontrar cero vulneraciones al abordar los aspectos que hemos descrito hasta ahora.
Dicho esto, ¿qué puedes hacer hoy para protegerte de las técnicas de ataque de pulverización de contraseñas descritas arriba?
Según lo que observan el SOC de Huntress y los equipos de caza, muchos de estos intentos exitosos de ataque de pulverización de contraseñas probablemente se deban a que los actores de amenazas encuentran contraseñas filtradas de las cuentas de usuario que tienen como objetivo. Además, estas cuentas suelen tener contraseñas débiles o contraseñas que podrían encontrarse en otras filtraciones de datos.
Considera implementar la protección de contraseñas de Microsoft Entra, la cual evita que los usuarios establezcan contraseñas débiles conocidas o previamente comprometidas. Las restricciones de licenciamiento y costo podrían impedirte implementar estos controles técnicos, pero te recomendamos encarecidamente educar a los usuarios para que establezcan una contraseña única y segura en sus cuentas de Microsoft 365/Entra.
Además de la protección de contraseñas, se debe hacer todo lo posible por bloquear los protocolos de autenticación heredados dentro del inquilino, si es posible. La siguiente guía de Microsoft explica los pasos necesarios.
Las identidades dentro de los entornos de Microsoft 365 también deben protegerse con los métodos de autenticación multifactor más sólidos que las condiciones del negocio permitan. La siguiente guía de Microsoft describe cómo implementar una autenticación resistente al phishing en entornos de Microsoft 365. Dicho esto, una detección eficaz de ataques de pulverización de contraseñas requiere defensas en capas: la MFA por sí sola no basta cuando los atacantes rotan IP y limitan sus intentos.
Entendemos bien que, en entornos de pequeñas y medianas empresas (SMB), no todos los controles mencionados arriba son viables de implementar. Aun así, los socios y clientes de Huntress pueden estar tranquilos sabiendo que los analistas de Huntress están siempre atentos a cualquier técnica de los actores de amenazas que pueda usarse para comprometer identidades y entornos de Microsoft 365.
Conclusión
A medida que las técnicas y métodos de operación de los actores de amenazas evolucionan, es importante que quienes estamos del lado defensivo de la ciberseguridad nos mantengamos al día con estos métodos y evolucionemos constantemente nuestras propias técnicas de detección y caza.
¿Quieres profundizar aún más en las técnicas de los actores de amenazas? ¡Únete a nosotros en Tradecraft Tuesday! Nada de productos ni discursos de venta, solo tradecraft.