Ransomware ate my network (II)

Una breve explicación de esta serie con algunas notas aclaratorias se puede leer al comienzo del primer artículo.
Entradas de la serie:
=> Primera parte
=> Segunda parte
=> Tercera parte
=> Cuarta parte
=> Quinta parte

En el artículo anterior vimos cómo el MINAF había evitado por los pelos un ataque de ransomware, pero nos quedaban muchísimas preguntas por resolver.  En primer lugar, averiguar la identidad del grupo de ransomware que había afectado al MINAF. 

Para ello Ángela convierte la MFT del DC con mftdump.exe y realiza una búsqueda rápida de los ficheros v2.exe y v2c.exe, que parecían a priori los encargados de desplegar el ransomware. Da en el clavo porque encuentra los ficheros en la carpeta c:\temp\scheduler:

Rápidamente calcula sus hashes:

5994df288813a7d9588299c301a8de13479e3ffb630c49308335f20515ffdf57  v2c.exe
b2a304e508415d96f417ed50d26e0b987b7cbd9a77bb345ea48e803b5a7afb49 v2.exe
ffa8722a09829acd7ef8743688947f6ccb58d2ef v2c.exe
7320b34c07206fcaf1319d6ce9bef2b29648a151 v2.exe
eddc0e293b0f0ee90bab106f073a41c9 v2c.exe
91438699bed008be9405995f0a158254 v2.exe

Lo siguiente es comprobar si son conocidos. VirusTotal le da una respuesta rápida:

[Read more…]

Ransomware ate my network (I)

Una breve explicación de esta serie con algunas notas aclaratorias se puede leer al comienzo del primer artículo.
Entradas de la serie:
=> Primera parte
=> Segunda parte
=> Tercera parte
=> Cuarta parte
=> Quinta parte

Nota 1: Esta serie de posts es una narración de un análisis forense de un caso práctico de respuesta ante incidentes totalmente ficticio (pero contada, esperamos, de forma didáctica y con gracia y salero). Si queréis una versión con la misma dosis técnica pero con menos narrativa, podéis consultar el vídeo de la charla que el autor dio en las XIV Jornadas STIC del CCN-CERT, o echar un ojo las slides de la presentación.

Nota 2: Estos posts desgranan un taller de análisis forense englobado dentro de la respuesta ante un incidente. Habrá algunas cosas que se podrían hacer de manera más eficiente y elegante, pero la idea era hacerlas de forma sencilla para que sean fáciles de entender. Y como todo taller práctico, se puede aprovechar de varias maneras: podéis descargar desde LORETO las evidencias ya trabajadas para poder seguir el caso paso por paso, podéis descargaros las evidencias en bruto para hacer vuestra propia investigación … o podéis jugar al CTF DFIR que hemos preparado y que os irá desgranando el caso a medida que vayáis respondiendo a los diversos retos.


Hay pocos meses buenos para la ciberseguridad en una Administración Pública, y noviembre no es uno de ellos: hay que tener cerrados los proyectos, realizar informes de estado, asegurarse de que todo el presupuesto está ejecutado (y justificado con las facturas correspondientes).

Ángela de la Guarda, CISO del MINAF (Ministerio de la Alegría y la Felicidad) no ha tenido un año especialmente alegre: la pandemia obligó a desplegar a marchas forzadas teletrabajo para buena parte del personal, lo que causó una sobrecarga importante sobre todo el personal TIC … y más si cabe sobre su ella y su equipo, responsables de garantizar la seguridad de todos los sistemas.

Para más inri, en la consabida reestructuración con cada cambio de gobierno, al MINAF se le ha encargado la misión de “unificar todos los organismos estatales con competencias sobre la alegría y la felicidad”. Esto ha supuesto la absorción de varios entes de diverso tamaño, entre los que destaca la FFP (Federación de Festejos Patronales, encargada de la gestión de todas las fiestas de pueblo de España). La FFP tiene, por así decirlo … una visión más bien relajada de la ciberseguridad, lo que está haciendo que la asimilación haya sido altamente conflictiva. Al final las altas esferas han mandado, y el MINAF ha absorbido a la FFP “de aquellas maneras”.

Son las 17.00h, y Ángela está revisando correos para terminar el primero de una semana llena de informes y poder irse a su casa, cuando Salvador Bendito (analista de seguridad del MINAF) la llama al móvil: “Jefa, tenemos un problema muy serio. Ha saltado uno de los canarios: estamos perdiendo a los porteros. A todos ellos”.

[Read more…]

Threat hunting (IX): cazando sin salir de casa. Creación de procesos (III)


Buen día, ¿qué tal va la caza?

En el artículo anterior hablamos sobre dos técnicas comúnmente utilizadas para crear procesos e intentar evadir las medidas de seguridad, el PPID Spoofing y el Process Hollowing.

Aunque como se mencionó en el artículo anterior, es posible intuir que algo ha pasado mediante los eventos de Sysmon, no nos vamos a quedar ahí.

En esta entrada quiero hablaros de unos grandes desconocidos “los eventos ETW”.

ETW – Event Tracing for Windows

Los eventos ETW tienen una misión muy clara: ayudar a los desarrolladores y analistas de software a depurar y/o mantener sus aplicaciones.

Para realizar esta tarea en todos los niveles del sistema operativo, se pueden generar eventos tanto a nivel de kernel como a nivel de usuario, algo que utiliza de manera interna Windows para su depuración.

Es importante tener claro que su origen y su uso principal no está relacionado con la seguridad. Muchos eventos que serían muy útiles desde el punto de vista de un analista de seguridad no están disponibles, pero otros sí :-)

[Read more…]

¿Qué puede hacer la Inteligencia Artificial por nosotros? (O contra nosotros)

La IA es una de las tecnologías con más impacto social y económico que vamos a ver en los próximos años (ya estamos viendo). Algunos estudios (PwC, Accenture) estiman este impacto a nivel global hasta 2030 en unos 16 billones de USD (16 T$), liderado por China y USA.

Como era de esperar, todo el mundo se está subiendo a este carro y el mundo de la ciberseguridad no es una excepción. Pero ¿cuánto hay de realidad en los usos de la IA para la ciberseguridad? Vamos a hacer un repaso a las posibilidades, visto desde ambos lados del campo de batalla, el del atacante y el del defensor.

Se pueden aplicar técnicas de Machine Learning (ML) para la detección de vulnerabilidades en el software, usando herramientas de fuzzing. Lo hacen los atacantes y lo pueden hacer los desarrolladores, evitando que las vulnerabilidades lleguen a los sistemas en producción.

Uno de los recientes avances más exitosos de la IA es la capacidad de generar automáticamente textos “creíbles” bastante difíciles de distinguir de los escritos por humanos. Ya se está usando esta técnica para generar textos de fake news para generar contenido en sitios de noticias o comentar en redes sociales.

[Read more…]

Explotando datos de APT for fun and (no) profit (IV): conclusiones

Entradas de la serie “Explotando datos de APT for fun and (no) profit”:
=> I: adquisición y procesamiento
=> II: análisis simple
=> III: análisis no tan simple
=> IV: conclusiones

Hemos obtenido algunos datos para soltar frases en las charlas de APT (por favor, no olvidéis usarlos junto a las frases de “El Arte de la Guerra”, de Sun Tzu, que nunca pasa de moda, y comentar lo del eslabón más débil de la cadena y demás :). Con algo de tiempo, podemos obtener conclusiones más o menos interesantes, o más o menos estúpidas, en relación a las actividades, intereses, orígenes… de los grupos APT. Y explotando otros datasets (¿vamos a por MITRE ATT&CK?) podemos ampliar o complementar estas conclusiones.

Algunos de los datos que podemos concluir después de este pequeño análisis:

  • Parece claro que Rusia juega en la Liga de Campeones de las APT; es el país líder en todo tipo de actividades hostiles, desde el sabotaje hasta el espionaje o la delincuencia económica.
  • El líder de todos los grupos APT es también ruso: Turla, operando desde hace casi un cuarto de siglo (y en este caso sí que podemos confirmar que sigue vivo) y con un abanico de objetivos impresionante.
  • El grupo al que los analistas prestan más atención es también ruso: APT28, el más investigado y, casi por este motivo, el que más nombres diferentes tiene.
  • El número de actores con capacidades CNA se está incrementando en los últimos años, de nuevo con Rusia a la cabeza.
  • Aparte de los actores habituales, dos países han estado particularmente activos durante los últimos años: Irán y Corea del Norte.
  • Sería interesante identificar un nuevo parámetro para cada actor, similar a “visto por última vez”, que nos permita saber cuánto tiempo un grupo ha estado activo, o si lo está en estos momentos.
  • Usar diferentes nombres, en función de quién lo llama, para el mismo grupo es un caos a la hora de procesar datos; en este sentido, el esfuerzo de MISP para identificar un UUID por grupo es de agradecer (https://github.com/MISP/misp-galaxy/blob/main/clusters/threat-actor.json#L2434),  como bien nos ha indicado @adulau en Twitter.
  • Con algo de imaginación y gnuplot puedes tener tu propio Magic Quadrant de APT :)
  • Importante: esto es un simple post, no un artículo científico. No esperes verdades absolutas, no discutibles y que sienten cátedra aquí.
  • Y la última conclusión: AWK es nuestro amigo. Recordad:

Explotando datos de APT for fun and (no) profit (III): análisis (no tan) simple

Entradas de la serie “Explotando datos de APT for fun and (no) profit”:
=> I: adquisición y procesamiento
=> II: análisis simple
=> III: análisis no tan simple
=> IV: conclusiones

Una vez que hemos respondido a algunas preguntas tontas o simplemente sencillas, es el momento de plantearnos algunas más complejas, así que empecemos…

¿Los actores con capacidades CNA están incrementando sus actividades en los últimos años?

En las preguntas simples hemos identificado que el sabotaje o la destrucción no son las motivaciones más habituales en los actores de la amenaza. Pero estamos interesados en ellos, por lo que veamos sus actividades en el tiempo:

for i in `grep "Sabotage and destruction" [0-9]*.txt|awk -F: '{print $1}'`; do grep \"meta\",\"date\"\] $i|awk '{print $2}'|sed 's/\"//g';done|awk '{a[$0]++}END{for(k in a){print k,a[k]}}’ >years.cna

Dibujando los resultados, tenemos:

gnuplot> set boxwidth 0.5
gnuplot> set xtics 1
gnuplot> set ytics 1
gnuplot> set yrange [0:5]
gnuplot> plot 'years.cna' with boxes

Desde 2012, el número de actores con capacidades CNA -o al menos su salto a la fama- se ha incrementado de forma considerable: de 14 grupos totales, 9 han arrancado sus actividades en los últimos ocho años, por lo que podríamos decir que es una tendencia al alza. Por curiosidad, el actor más antiguo con capacidades CNA empezó en 2001. ¿Adivinamos su nombre? Efectivamente, Equation Group… 

[Read more…]

Explotando datos de APT for fun and (no) profit (II): análisis simple

Entradas de la serie “Explotando datos de APT for fun and (no) profit”:
=> I: adquisición y procesamiento
=> II: análisis simple
=> III: análisis no tan simple
=> IV: conclusiones

Con la información ya procesada y lista podemos empezar el análisis por la parte mas sencilla: las preguntas tontas y las preguntas simples que en muchas ocasiones nos planteamos. Allá vamos.

¿Cuáles son los grupos con más sinónimos?

La pregunta más tonta que siempre me he planteado es por qué usamos tantos nombres diferentes para el mismo actor. ¿Quién tiene el privilegio de ser el grupo con más nombres? Veamos:


$ for i in [0-9]*.txt; do c=`grep synonyms\", $i|grep -vi operation|wc -l `; echo $c $i;done |sort -n|tail -1
18 233.txt
$

El resultado es “233.txt”, que corresponde a APT 28, con 18 sinónimos; el segundo clasificado, con 16 nombres diferentes, es Turla. Casualmente, ambos de Rusia (veremos luego algunas curiosidades de Rusia).

Aparte de esto, una opinión personal: ¡18 nombres para el mismo grupo! Definitivamente, y una vez más, necesitamos un estándar para los nombres de actores hostiles. Esta puede ser tu primera frase cuando des una charla de APT: donde está un comité ISO cuando se le necesita?

¿Qué grupos son de mi país?

Aparte de los actores que todos tenemos en mente (Rusia, China…), ¿tenemos grupos españoles? ¿Tenemos grupos de otros países relevantes? El código ISO 3166-1 para España es ES, por lo que podemos buscar actores españoles -y de otros países- con una orden simple:

[Read more…]

Explotando datos de APT for fun and (no) profit (I): adquisición y procesamiento

Entradas de la serie “Explotando datos de APT for fun and (no) profit”:
=> I: adquisición y procesamiento
=> II: análisis simple
=> III: análisis no tan simple
=> IV: conclusiones

Cuando asistimos a charlas relacionadas con APT -o las damos-, a veces oímos frases como “la mayor parte de los actores se focalizan en robo de información” o “Rusia es uno de los actores más activos en el panorama”. Pero, ¿de dónde vienen estas frases? Hemos pasado una noche entera explotando datos relativos a APT por diversión (y for (no) profit) para proporcionar curiosidades, hechos, datos… que puedes usar desde ya mismo en tus charlas! :)

Desde 2019 el equipo de ThaiCERT publica en PDF “Threat Group Cards: A Threat Actor Encyclopedia” y proporcionan un portal de acceso libre (https://apt.thaicert.or.th/cgi-bin/aptgroups.cgi) con toda la información relativa a estos grupos, obtenida de fuentes abiertas. En este portal, además de navegar por los diferentes grupos y sus herramientas, se presentan estadísticas acerca de sus actividades (países origen, objetivos, herramientas más usadas…), y la mayor parte de estos grupos son considerados APT (en estos momentos, 250 de 329, con la versión de base de datos actualizada a fecha 20 de octubre de 2020). Pero, ¿y si necesitamos estadísticas o correlaciones específicas que no están en la página web?

[Read more…]

Threat hunting (VIII): cazando sin salir de casa. Creación de procesos (II)

Ver entradas anteriores: I: intro 1,  II: intro 2,  III: Kibana, IV: Grafiki, V: Jupyter Notebooks, VI: Creando nuestra víctima, VII: Creación de procesos (I)

¡Feliz días, cazadores!

En el anterior artículo vimos de una manera práctica la creación de procesos y algunas variaciones que existen sobre ello.

Hoy hablaremos sobre como los actores maliciosos utilizan variaciones en la creación de procesos para evadir detecciones.

Aunque técnicas para la ejecución de código hay muchísimas, aquí nos centraremos en las que implican interacción con la API de Windows, ya que son las más usadas por el malware tanto en binarios como en documentos maliciosos.

En la técnica de ATT&CK de Mitre “Native API” podemos ver cómo una larga lista de actores han sido observados utilizando estas técnicas, y no es de extrañar, ya que ejecutar código es algo básico.

Vamos a hablar, intentando profundizar un poco, sobre dos técnicas muy diferentes:

  • Parent Process ID Spoofing (PPID Spoofing)
  • Process Hollowing
[Read more…]

Threat hunting (VII): cazando sin salir de casa. Creación de procesos

Ver entradas anteriores: I: intro 1, II: intro 2, III: Kibana, IV: Grafiki, V: Jupyter Notebooks, VI: Creando nuestra víctima.

Buenas cazadores, ¿qué tal va la caza?

Espero que hayáis tenido tiempo para jugar con vuestro laboratorio y cada vez os sintáis más cómodos realizando consultas y analizado los datos.

Como dije en el artículo anterior, ahora toca bajarse al barro y empezar a entender qué es lo que está pasando en nuestro laboratorio. En este caso vamos a hablar de la creación de procesos, qué ocurre cuando se crea un proceso, qué formas hay de crearlos y los rastros que deja a su paso dicha creación.

Entendiendo el entorno

Windows se organiza en capas en lo que a interacción con el sistema se refiere.

Las capas superiores son con las que interactúa el usuario o los programas que él lanza, las capas inferiores las que utiliza el propio sistema operativo para funcionar.

Por motivos de seguridad, las capas superiores están bien documentadas y Windows ofrece facilidades para interactuar con ellas, pero con las capas inferiores la cosa cambia, no están documentadas y debido a la complejidad de su funcionamiento, es muy difícil o directamente no posible por seguridad.

[Read more…]