MISP (II): Feeds y eventos

Buenas conejetes,

La verdad que he recibido un montón de “feedback” (como se dice en el ámbito de la consultoría) sobre la entrada anterior de MISP. Es emocionante ver de primera mano cómo realmente este tipo de artículos que realizamos en FWHIBBIT puede ayudar a realizar otros proyectos de compañeros de pasión y profesión.

En esta entrada vamos a profundizar un poco más en el uso de MISP, ¡¡que además viene cargado de algunas novedades con la última actualización!!


Arrancamos MISP

En la entrada anterior, vimos como cargar nuestra instancia de MISP gracias a los contenedores Docker. Aunque esto no pretende ser un tutorial de Docker, lo primero que vamos a aprender es a levantar un contenedor previamente inicializado, ya que si apagamos nuestro equipo anfitrión, se parará el docker y el servicio. Como ya hicimos en la entrada anterior, arrancamos nuestro servicio:

service docker start

 

Comprobamos que nuestro contenedor está parado, y procedemos a inicializarlo indicando el ID del contenedor de la siguiente manera:

docker start "Container ID"

 

Como podemos ver, el container está levantado de nuevo por lo que ya podríamos acceder a nuestro panel de MISP:

Una vez levantando, ya podemos volver a interactuar con MISP desde el propio entorno gráfico.

 

Activación de feeds

Una vez cambiada la contraseña de administrador, lo siguiente que deberemos hacer es activar los feeds. Y bien, ¿qué son feeds? Básicamente son recursos (obtenidos de fuentes remotas o locales) que generan terceros con información y que podemos recoger para añadirla en nuestra instancia de MISP. Esta información viene estructurada en formato MISP, CSV o texto plano, y contiene indicadores que pueden importarse automáticamente en MISP en intervalos predefinidos.

Importar estos feeds es muy sencillo, se podrá añadir cualquier URL remota o local, y así reunir gran cantidad de fuentes externas de información sin necesidad alguna de programación.

Para poder añadir y administras los feeds, deberemos ir a la ruta del menú Sync Actions/List Feeds,  abriéndose así un listado de todos los feeds disponibles por defecto:



Podremos seleccionar tantos feeds como deseemos según nuestras necesidades. En este caso, seleccionamos y habilitamos todos los feeds predefinidos para así tener más opciones de encontrar relaciones más adelante. Marcamos directamente la casilla Id, y pulsamos sobre el botón Enable Selected:

Para añadir nuevos feeds, deberemos elegir la opción Add Feed en el menú lateral, desplegando así un formulario:

Es importante configurar correctamente según nuestras necesidades el valor Lookup Visible, ya que si no está activo, la correlación tan sólo se te mostrará a ti, mientras que si se activa, todas las correlaciones se mostrarán al resto de usuarios.

En caso de que un indicador de un feed coincida con un indicador de un evento de MISP, se mostrará como Feed hits en la descripción general del evento, pero esta correlación no se mostrará en el gráfico del evento.

 

Crear un evento

Una vez está todo bien configurado y tenemos los feeds preparados, ya podemos comenzar a crear eventos. ¿Y qué es un evento? No es más que el registro de una muestra con sus IOC (indicadores de compromiso) que hayamos descubierto o se nos haya remitido desde un SIEM, IDS o IPS, y así poderlo correlacionar con nuestra lista de feeds.

Para crear un evento, podemos hacerlo o bien desde el menú Events Actions/Add Event, o desde el menú principal Home, y en el menú lateral pulsar sobre Add EventHay que tener en cuenta que a la hora de añadir un evento, este será privado y restringido para las organizaciones incluidas en la instancia local de nuestra configuración de la distribución, hasta que sea publicado.

Como podemos ver, para añadir un evento deberemos completar la siguiente información:

  • Fecha de la creación del evento.
  • Distribución. Este campo determinará si el evento será visible por tu organización, por tu comunidad (organizaciones que son parte de la comunidad MISP a la que se pertenece), por comunidades conectadas a nuestra comunidad, o a todas las comunidades.
  • Nivel de amenaza (alto, medio, bajo, indefinido).
  • Estado en el que se encuentra el análisis (inicial, en curso, completado).
  • Información relevante sobre el evento.
  • Información adicional del evento, como puede ser un ID relacionado a otro programa (TheHive), o un identificador único universal (UUID).
  • GFI sandbox, donde podremos añadir la muestra para que sea analizada por esta famosa herramienta.

Para la prueba, vamos a coger una muestra de malware reciente de la página VX Vault, y suponemos que la hemos recibido de una fuente externa. Marcamos como nivel de amenaza Medio debido a que en un análisis inicial vemos que es un troyano (APT malware), y como información del evento indicamos que afecta a sistemas Windows, además del nombre del fichero:


Tras pulsar al botón Add se nos mostrará el evento creado. Una vez hecho esto, se nos mostrará la información general del evento, y podremos incorporar más información, como por ejemplo los IOC  de la muestra, a los que MISP se refiere como Atributos:

Para añadir un atributo nuevo, pulsamos sobre el botón «+» (más) de la imagen anterior o sobre el menú de la izquierda en Add Attribute, abriéndose así un nuevo formulario. En este caso, vamos a indicar el hash md5 de la muestra, por lo que lo rellenamos de la siguiente manera:

      

Como podemos ver, existen una gran variedad de categorías distintas a la hora de añadir un atributo, por lo que deberemos elegir la correspondiente dependiendo de la información que tengamos. Además, podremos indicar que este atributo sirva para un IDS.

Si marcamos la opción BatchImport, podremos añadir varios valores al mismo tiempo que se categoricen de la misma forma, mientras los indiquemos en líneas diferentes (en la caja Value) convirtiéndose así automáticamente en atributos separados.

En nuestro análisis, también descubrimos que se había utilizado un packer específico, por lo que lo incluimos de igual manera como atributo. Del mismo modo, podemos ver que la muestra contiene contiene tres secciones distintas con su correspondiente hash, añadiéndolo como atributo y seleccionando la opción de Batch Import tal y como se muestra:

También descubrimos un dominio y una dirección IP con la que estable conexión, que añadimos en forma de atributos, resultando el siguiente listado final de atributos:

Podemos añadir tantos atributos como deseemos según la muestra y los indicadores de compromiso que obtengamos. Otros elementos importantes a la hora de crear un evento son los objetos. Podemos crear un objeto si no tenemos una categorización clara del atributo que queremos añadir a nuestro evento. Los objetos disponen de gran cantidad de categorías y subcategorías para definir de una manera más exacta nuestro indicador:

  

Un ejemplo de uso de los objetos podría ser que en vez de haber creado un atributo con el hash de la muestra, podríamos haber creado un objeto que tenga como elementos tanto el hash como el nombre de la muestra:


Ya tenemos toda la información necesaria sobre nuestro evento, ahora sólo nos falta publicarlo. Para ello, utilizaremos el panel de la izquierda pulsando sobre Publish Event:



Y para que no sea una entrada muy densa y larga, ¡la dejamos aquí! Hemos aprendido a seleccionar y añadir feeds, así como a crear eventos y añadir sus indicadores. En la siguiente entrada podremos ver como correlacionar los eventos de MISP, el potencial que tiene como programa incident-response (ya que de momento todo lo hemos realizado con el usuario admin), y alguna cosilla más 🙂

 

gonx0

2 comentarios en «MISP (II): Feeds y eventos»

    1. Hola Iván,
      Gracias por tu comentario. Sí, la idea es continuar con esta serie de artículos. Si tienes alguna duda o requerimiento al respecto, te animamos a que la plantees.
      Un saludo!

Los comentarios están cerrados.