Threat Hunting: Probability based model for TTP covering (Parte I)

Las tareas de Threat Hunting como búsqueda de lo desconocido ha abierto la puerta a un sinfín de interpretaciones y metodologías de análisis proactivo, además de formular múltiples preguntas sobre cómo organizar la búsqueda y poder medir el tipo de servicio que se ofrece.

La investigación, que se presentará en tres partes, tiene como objetivo analizar las tareas de la revisión proactiva con el fin de establecer un modelo de desarrollo de Unidades de Inteligencia en función de la cobertura de las técnicas descritas en la matriz de MITRE ATT&CK, así como un modelo matemático para la planificación de las tareas de Threat Hunting basado en la probabilidad de detección para la eficiencia de las horas de analista. Puede leerse el estudio al completo aquí.

La Unidad de Inteligencia en Threat Hunting

En la seguridad gestionada convencional el objetivo es la detección de amenazas de manera automática. Es decir, la detección del mayor número de amenazas con la menor tasa de falsos positivos. En este caso, idealmente, el valor de la inteligencia es siempre incremental, es decir; existe una relación directamente proporcional entre el número de reglas (correctamente calibradas) y la calidad del servicio, pues cuanto mayor número de reglas se dispongan, mayor número de amenazas será posible detectar. Es decir, la regla tiene que identificar de manera inequívoca un patrón malicioso. No es así para el Threat Hunting.

[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…]

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…]

Threat hunting (VI): cazando sin salir de casa. Creando nuestra víctima

Ver entradas anteriores: I: intro 1, II: intro 2, III: Kibana, IV: Grafiki, V: Jupyter Notebooks.

Bienvenidos a esta nueva entrada sobre nuestro laboratorio doméstico, que poco a poco va creciendo más y más.

En este artículo se hablará sobre la creación de una máquina de pruebas a la que poder hacer todo tipo de perrerías sin miedo, y se abordarán las configuraciones necesarias para registrar todo lo que pasa en ella.

En la segunda entrada se habló de los repositorios de eventos que existen, más concretamente del proyecto Mordor y del repositorio EVTX-ATTACK-SAMPLES.

Estos repositorios son muy útiles para poder entender y aprender sobre cómo se comportan muchas amenazas, y facilitan mucho el trabajo, pero cuando el trabajo te lo dan hecho no se aprende igual. Con una máquina propia se pueden probar técnicas que vayan surgiendo y comprobar cómo son detectadas en el laboratorio.

Hay que tener en cuenta que no va a ser una máquina virtual en la que se debería ejecutar malware, dado que el nivel de aislamiento no va a ser el suficiente para garantizar la seguridad del equipo anfitrión.

[Read more…]

Threat hunting (V): cazando sin salir de casa. Jupyter Notebooks

Ver entradas anteriores: I: intro 1, II: intro 2, III: Kibana, IV: Grafiki.

¿Os acordáis cuando en la primera entrega hablábamos sobre lo que es y lo que no es el Threat Hunting? Pues una parte esencial de él es la generación de inteligencia.

De nada sirve que seamos los mejores detectando comportamientos anómalos. Si toda esa inteligencia adquirida no se transforma en información estructurada y repetible habremos perdido una de las partes más valiosas del proceso.

Estructurada, para que cualquiera que no sea el autor pueda utilizarla y entenderla. Repetible de la manera más cómoda posible, para que los equipos de detección puedan generar alertas con ello o para que cualquier otro analista pueda realizar las consultas de la manera más cómoda posible.

En nuestro laboratorio vamos a utilizar otra de las partes de HELK, los todo poderosos Jupyter Notebook.

[Read more…]

Threat hunting (IV): cazando sin salir de casa. Grafiki

Ver primera, segunda parte y tercera parte.


Teoría de Grafos: Análisis relacional de las Redes Sociales

Hoy traigo un artículo sobre algo muy especial para mí.

En la entrada anterior hablamos sobre la explotación de la información con Kibana y su utilidad en ver de un vistazo posible anomalías. Después de mucho trabajar con Kibana, dedicándole muchas horas a crear visualizaciones y dashboards, había una visualización que echaba de menos: ¡los grafos!

En ese sentido, hace tiempo que leí la frase “Los defensores piensan en listas. Los atacantes en grafos“.

Aunque puede levantar mucha controversia, de ser eso cierto nos dejaría a los defensores en una clara desventaja. En un mundo en el que cada vez las amenazas son más complejas, ser capaces de “unir los puntos” marca la diferencia entre encontrar nuestra amenaza o no.

De esta idea y de un aumento de mi tiempo libre por el confinamiento, surgió Grafiki. Vamos a verlo.

[Read more…]

Threat hunting (IV): hunting without leaving home. Grafiki

See first, second and third part.


Teoría de Grafos: Análisis relacional de las Redes Sociales

Today’s post covers something very special to me.

In the previous entry we saw the exploitation of information with Kibana and its usefulness in seeing potential anomalies at a glance. After a lot of work with Kibana, spending many hours creating visualizations and dashboards, there was one visualization that I missed: the graphs!

In that sense, I read some time ago the sentence “Defenders think in lists. Attackers think in graphs“.

Although it can raise a lot of controversy, if that were true it would leave us, defenders, at a clear disadvantage. In a world where threats are increasingly complex, being able to “connect the dots” makes the difference between finding our threat or not.

From this idea and an increase in my free time due to lockdown, Grafiki emerged. Let’s take a look at it.

[Read more…]