N.d.A.: Esta serie de posts es una narración de un análisis forense de un caso práctico de respuesta ante incidentes totalmente ficticio. Una breve explicación con algunas notas aclaratorias se puede leer al comienzo del primer artículo.
Recursos: i) vídeo del taller que el autor dio en las XV Jornadas STIC del CCN-CERT, ii) slides de la presentación, iii) evidencias ya trabajadas para poder seguir el caso paso por paso, iv) evidencias en bruto para hacer investigación propia, v) CTF DFIR preparado que va desgranando el caso a medida que se responde a los diversos retos
=> Primera parte
=> Segunda parte
=> Tercera parte
=> Cuarta parte
=> Quinta parte
En el artículo anterior Ángela había descubierto que el borrador del documento para la felicidad mundial había sido exfiltrado a través de O365, y que los atacantes tenían privilegios de administrador global gracias a su control de la cuenta “emergencia”.
Dado que Inocencio Crédulo aparece referenciado en varias ocasiones, Ángela decide obtener un eDiscover de su usuario, y revisar los mensajes de correo. Lo que encuentra no le hace especialmente feliz, pero por lo menos resuelve una de las incógnitas presentes:
Inocencio no hizo lo que Ángela le había dicho y dejó el correo en su buzón (se apunta el tener una “charla” con él, aunque también reconoce que lo mejor habría sido dársela en papel para evitar exactamente este escenario), por lo que cualquier atacante que haya tenido acceso a su correo habría podido leer la contraseña de la cuenta. Un enigma resuelto pero que genera otra pregunta: ¿cómo tuvieron los atacantes acceso a la cuenta de correo de Inocencio Crédulo? Tenemos varias vías de investigación, pero siendo Inocencio un Administrador Global es posible que los logs de Hawk nos den algo más de información. UAL se centra más en eventos (cosas que han pasado), mientras que Hawk pone el foco en la configuración actual del tenant de O365. Por ejemplo, las reglas de correo, los permisos “extra” y el usuario adicional quedan registrados claramente en los logs de Hawk, y al ser específicos tenemos muchos menos eventos (más fáciles de buscar). A cambio, los logs de Hawk no nos dicen cuándo ocurrió esa operación (pero que tiene solución ya que podemos pivotar sobre la acción/usuario en los logs de UAL).
Una búsqueda rápida permite a Ángela encontrar una anomalía:
Se han concedido permisos sobre una aplicación llamada “Happy UE Meter”, con unos permisos tan interesantes como el de leer todo el correo del usuario que le de acceso. Si pivota sobre los logs de UAL, Ángela no tarda en confirmar sus sospechas:
Tiene toda la pinta de ser un “illicit consent grant attack”, un ataque en el que el atacante registra una aplicación en un tenant distinto, que solicita permisos del usuario para poder ofrecer uno o varios servicios. Piensa por ejemplo en una asociación de empresas que cree una aplicación para poder montar las reuniones. Los usuarios dan a esa aplicación permiso a ver la información de “libre/ocupado” de sus cuentas, y de esta forma se puede ver cuándo es mejor organizar las reuniones.
Sin embargo, usadas de forma maliciosa (casi siempre como final de una acción exitosa de ingeniería social) pueden dar permisos casi completos a los atacantes sobre la cuenta de usuario. Microsoft se ha percatado de ello, y desde noviembre de 2020 solo permite a los usuarios estándar aceptar aplicaciones de un conjunto de proveedores de confianza, siendo necesario que la apruebe un administrador global de la organización … como Inocencio.
Si revisamos el correo de Inocencio, encontramos lo que parece el enlace de la aplicación:
… y el correo está enviado desde la cuenta de Pepe Contento. La trama parece complicarse. Si revisamos los mensajes de Teams podemos ver claramente lo que ha pasado:
[Nota del autor]: O365 de verdad que intenta echar una mano. Estos son los mensajes que recibió Inocencio y que tuvo que aceptar voluntariamente:
Pero claro, si un directivo/alto cargo te pide que instales esa aplicación urgentemente… ¿qué harías tú en su lugar?
[Nota del autor]: Ángela no lo sabe, pero esto es lo que hicieron los atacantes en el momento en el que Inocencio dio permisos a esa aplicación:
Paso1: recibir el token con los permisos de acceso necesarios dentro de la herramienta O365 Stealer (la empleada para realizar esta parte del ataque):
Paso 2: realizar una enumeración de usuarios, y localizar dos que posiblemente sean especiales (no siguen la nomenclatura habitual):
Paso 3: buscar en el buzón de correo de Inocencio Crédulo correos con esas keywords, y encontrar las credenciales:
Paso 4: iniciar sesión, comprobar que eres Administrador Global y descorchar la botella de champagne…
Lo que ha sucedido está claro: alguien con acceso a la cuenta de pepe.contento ha convencido a Inocencio Crédulo para que instalara una app maliciosa, dándole permisos sobre su cuenta de correo. A continuación solo han sido necesarias un par de búsquedas para encontrar las credenciales de la cuenta de emergencia… y lo que ya sabemos.
El que la respuesta a una pregunta genere otra pregunta parece algo habitual en este incidente (los atacantes a lo mejor son gallegos, piensa Ángela). Ahora toca averiguar de qué forma los atacantes se han hecho con la cuenta de Pepe Contento (alto cargo del MINAF, y como muchos altos cargos… “peculiar” en su forma de trabajar con las TIC). Ángela realiza otro volcado de eDiscover y analizar los correos. El primero que le parece interesante lo reconoce, porque ella misma lo recibió:
El problema clásico del correo: si los filtros antispam son muy laxos, entra mucho correo basura y los usuarios se quejan. Si son muy estrictos, algún correo legítimo se queda en cuarentena, y los usuarios se quejan. Lo que a Ángela no le gusta nada de nada, es el siguiente correo:
Ángela está 100% segura de que no le ha mandado ese correo a Pepe Contento (si alguien necesita relajarse con urgencia es ella, desde luego). Más si el enlace no apunta a donde dice apuntar (regla nº1 de concienciación de usuarios, revisa los enlaces):
Y en ese enlace nos encontramos con lo que podemos imaginarnos:
Un phishing de lo más simplón, así es como ha empezado todo este incidente. Bueno, por lo menos se han tomado la molestia de suplantar su identidad, porque si revisa con detalle las cabeceras encuentra algo muy interesante:
El dominio MLNAF, escrito en minúsculas, se parece mucho al del MINAF. Con una licencia E5 las políticas anti phishing habrían detectado la similitud de dominios y lo habrían bloqueado, pero bastante tenemos con una E3.
Sabiendo cómo los atacantes pudieron conseguir las credenciales de Pepe Contento, ahora solo queda saber cuándo comenzó de forma efectiva la intrusión (es decir, el primer inicio de sesión de pepe.contento con una IP no conocida):
El 17 de noviembre por la mañana, pocas horas antes de que la DG recibiera el USB con el borrador del plan para la Felicidad Mundial. ¿Coincidencia? Quién sabe.
Ángela ya tiene una imagen completa de lo que han hecho los atacantes, así que puede pasar de la fase de análisis a la de contención, erradicación y recuperación. Los resultados, en el siguiente artículo…