miércoles, 18 de diciembre de 2019

En busca de mis dorados IOC's


Hace tiempo me enfrente a una campaña de Emotet, más concretamente a sus “downloaders”, como mucha gente.

Mi desesperación fue en aumento por gastar tanto tiempo en su análisis, y más allá cuando de repente su funcionamiento cambio y ya no podía manipular sus macros al ejecutar los archivos Word (.doc) en un entorno controlado, por que se eliminaban tras la primera ejecución.

NOTA: Me gusta entender lo que ejecuto, es mi forma de seguir aprendiendo.

Ya sólo me quedaba realizar un análisis estático de los mismos.

Esto siempre lo realizo mediante la apertura de los archivos como si fuera archivos comprimidos, aunque realmente son eso.

El problema que me encontré es que la información visualizada no mostraba el código Visual Basic de la macro y por lo tanto su análisis era imposible.

Así que se me ocurrió fue usar un editor hexadecimal para ver directamente su contenido, y ahí, ¡vi la luz!.

Visualización del archivo downloader de Emotet


Pude observar la existencia de un conjunto de caracteres de sumo interés


Cadena de caracteres encontrado

Se continúo mirando hasta que se llego al final de los caracteres.


Y se pudo ver que se trataba de una cadena codificada en base64

Por lo tanto lo único que sé tuvo que hacer fue extraer y eliminar el patrón, pero ¿qué patrón?

Si nos fijamos bien vemos que el patrón es: _!j@ , pero aún más … podemos decir que se aplica tres veces.

Veamos esto último, para ello cojamos del siguiente tramo de caracteres mostrado


Más concretamente los caracteres: 6_!_!j@_!j@j@A

Si  quitamos el patrón, la cadena nos queda: 6_!_!j@j@A , si quitamos de nuevo el patrón, la cadena nos queda: 6_!j@A y si lo quitamos de nuevo, la cadena nos queda: 6A

Es por esto, por lo que se ha comentado que el patrón se repite hasta 3 veces.

Sabiendo esto, se paso a extraer los comentados caracteres y eliminar el patrón tantas veces como sea necesario mediante la automatización. Para ello se elaboro la siguiente secuencia de comandos de bash:


Que permitió obtener el siguiente resultado:


Si nos fijamos bien, se trata de un script que guarda entre otras cosas la variable: Lxbvplwvfufaj, cuyo contenido es una serie de URLs


A través de estas URLs se pudo conseguir muestras para su análisis, y así configurar distintos IOCs para los sistemas de seguridad.

En cualquier caso …

Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.