FORENSE - TRES SON MULTITUD

Reto original por parte de los compañeros de SANS ISC


Objetivos

Se nos entregan dos .zip. Uno de ellos contiene 3 emails en formato .eml con una serie de información. El segundo trae un pcap.

Nos piden lo siguiente:

  • Identificar y relacionar al protagonista de cada email con un host de la red mediante el pcap

  • Averiguar qué y cómo les ha ocurrido a cada uno


Preparativos

El ejercicio es sencillo. Aún así vamos a tomar todas las medidas necesarias para realizarlo de manera segura:

  • Máquina Virtual con FlareVM (la actividad maliciosa está dirigida a Windows)

  • Sin acceso a internet ni a la red LAN

  • VPN como medida de prevención pese a la falta de internet en el guest

Teniendo claro los requisitos a nivel de laboratorio, ahora toca preparar correctamente Wireshark.


La clave básica (y muchas veces subestimada por aquellos que empiezan) en cualquier análisis de tráfico, es la gestión de los datos que se nos presentan.


El ruido es nuestro primer enemigo

Para gestionarlo, un paso imprescindible es mostrar las columnas adecuadas. En mi caso he configurado el formato del Timestamp, he ocultado la columna de información y de número de frame. También he añadido algunas columnas personalizadas que me muestran el host de destino a nivel de URL entre otras. Esto es a gusto de cada uno pero recuerda modificar los parámetros antes de meterte de lleno. El ruido es tu primer enemigo. Acaba con él y tendrás media batalla ganada.


Entendiendo el entorno

Lo primero que haremos será observar el entorno en el que nos movemos. Esto incluye responder las siguientes preguntas

  • ¿En qué ventana de tiempo ha ocurrido todo?

  • ¿Cantidad de paquetes totales?

  • La topología de la red ¿Conocemos el terreno?

  • ¿Qué estamos buscando?

  • ¿Qué dicen las estadísticas de Wireshark?

  • Atención a los Endpoints

Habiendo respondido a estas preguntas, pasamos al lío.



Los Emails

Los emails que se nos presentan tienen como denominador común una víctima y un vector de ataque.


Usaremos Regex para extraer los emails de cada archivo:

egrep -o "[^[:space:]]+@[^[:space:]]+" $FILE | tr -d "<>" | sort | uniq

Tras esto, concluimos que los 3 emails que comparten dominio y parecen relevantes son:

  • macrus.cobb@enemywatch.net

  • agnes.warren@enemywatch.net

  • kevin.henderson@enemywatch.net


Utilizando DHCP y NBNS para encontrar hosts activos

Podemos utilizar el protocolo DHCP para encontrar los host activos en la red en el momento de la captura.

Tratándose de un entorno windows, en caso de que falle el DHCP por algún motivo o no consigamos capturar el momento donde el servidor asigna las IPs, también podemos consultar el NBNS.

DHCP
NBNS


Usando SMB para obtener la relación User/Host

Truquito patrocinado por Atenea :-P

El pcap tiene tráfico SMB, por lo que con un poco de suerte, si extraemos los hashes NTLM también obtendremos el usuario y el host que están intentando autenticarse. Esto no necesariamente tiene que ser cierto pero como mínimo nos dará un buen punto de referencia.


Usaremos NTLMRawUnHide


Ahí lo tenemos. Cada host coincide con cada uno de los emails principales extraídos en el primer paso.


Tirando del hilo - ¿Qué pasó con Macrus?

Macrus recibió un correo con un archivo en base64. Al pasarlo por Cyberchef obtenemos un .zip que dentro contiene:

Este malware intenta conectarse a un dominio llamado kamuchehddhgfgf.ddns.net así que introducimos el siguiente filtro en wireshark para confirmar:

ip.host == kamuchehddhgfgf.ddns.net

Y ahí comprobamos que efectivamente el host DESKTOP-NZ875R4 con IP 10.10.22.157 es el único que ha intentado hacer conexión, por lo tanto confirmamos:


2021-10-21-malicious-email-1102-UTC.eml == macrus.cobb@enemywatch.net == DESKTOP-NZ875R4

Tirando del hilo - ¿Qué pasó con Agnes?

Agnes recibió también un archivo en base64, que repitiendo el proceso con Cyberchef nos da un xls:

  • Document-1975072354.xls

  • md5sum: "e804c9b70c9358a57463169e043fe85c"

  • Hybrid-Analysis

El malware intentará conectarse a algunas IPs, así que utilizamos el siguiente filtro para confirmar la relación entre el email, el host, y el ataque:

ip.addr == 190.14.37.244 || ip.addr == 194.36.191.35 || ip.addr == 178.23.190.8

Confirmamos que el host DESKTOP-CFA3367 con IP 10.10.22.156 es el que se corresponde con el ataque.


2021-10-21-malicious-email-1739-UTC.eml == agnes.warren@enemywatch.net == DESKTOP-CFA3367

Tirando del hilo - ¿Qué pasó con Kevin?

Kevin recibió el email quizás más especial. Se le entregó en un formato donde se encontraba un link a googleapis con un enlace a un phishing.


El link ya está muerto, pero podemos acceder a los elementos descargados usando el menú object de Wireshark.


El archivo principal es un ejecutable:

  • main.php

  • md5sum: "9c9b58c38841af6f89ff90a746d63cec"

  • VirusTotal

El malware intentará haciend conexión a una serie de dominios que podemos filtrar con la siguiente sintaxis:

ip.host == tackleadvisors.com || ip.host == sobolpand.top

Confirmamos que el host DESKTOP-87WCE26 con IP 10.10.22.158 es el correspondiente a este ataque.


2021-10-21-malicious-email-2214-UTC.eml == kevin.henderson@enemywatch.net == DESKTOP-87WCE26