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 (III): cazando sin salir de casa. Kibana

Ver primera y segunda parte.


Kibana "Hello World" Example - Part 3 of the ELK Stack Series -

¡Buenas cazadores! ¿Qué tal va la temporada de caza?

Tras lo visto en anteriores posts, en este artículo vamos a continuar entendiendo y mejorando nuestro laboratorio de Threat Hunting.

Ya hemos aprendido a introducir nuestros datos sobre ataques reales y ahora aprenderemos a explotar esos datos. Poder visualizar los datos de una manera cómoda es, junto con la selección de buenas fuentes de datos, la parte más importante de un laboratorio. Todo el tiempo que invirtamos en una visualización intuitiva y agradable será tiempo ahorrado durante el análisis.

Ahora vamos de vuelta al laboratorio, esta vez vamos a aprender a manejar algunas de las funcionalidades de HELK que aún no hemos visto.

El Laboratorio – Visualización de datos

[Read more…]

Threat hunting (II): cazando sin salir de casa

Los datos

Ahora que, como vimos en la anterior entrada de esta serie, ya disponemos de una plataforma para almacenar los datos, hay que conseguir datos.

Una forma sería instalar máquinas virtuales de Windows con Winlogbeat y Sysmon, pero eso lo haremos más adelante. Ahora quiero hablar de Mordor.

Mordor

Este proyecto, mantenido también por Roberto Rodríguez y José Luis Rodríguez, es un repositorio de eventos pregrabados mientras se ejecutaban técnicas ofensivas en máquinas de laboratorio.

Como es de esperar, Mordor se integra perfectamente con HELK y nos permite disponer de datos muy interesantes para empezar a cazar a nuestras amenazas. Vamos allá.

[Read more…]

Threat hunting (I): cazando sin salir de casa

Muchas veces, hablando con amigos que se dedican a otras profesiones, les comento la gran suerte que tenemos los que nos dedicamos a la informática. Nosotros, a diferencia del 99% de las profesiones, podemos crear entornos realistas para hacer pruebas, aprender, practicar… y cuando terminamos con esos entornos podemos destruirlos y el gasto de material habrá sido cero. ¡Cuánta suerte tenemos!

A los que nos apasiona la seguridad informática aún tenemos más suerte; desde sus inicios la comunidad de la ciberseguridad se ha caracterizado por su defensa de la libertad de la información, el software libre y el aprendizaje colectivo, lo que ha hecho que estemos en el mejor momento de la historia para aprender sobre ciberseguridad.

En este caso, quiero hacer una guía para poder construir un laboratorio de Threat Hunting desde casa y a coste cero (sin contar en la inversión de nuestro equipo).

Antes de ponernos manos a la obra, vamos a hacer una breve introducción sobre el Threat Hunting, es importante asentar bien los cimientos de nuestro laboratorio.

[Read more…]