Los documentos maliciosos tipo Word, Excel o incluso PDF se propagan la mayoría de ellos por email. Por lo que tener una buena medida de email security es esencial pero hay algunos archivos que se saltarán esas restricciones.
En algún momento alguien te habrá enviado un documento muy sospechoso el cual te gustaría analizar. Para esos casos viene bien hacerlo no solo con el antivirus sino con otras herramientas.
En este caso, vamos a analizar los documentos DOCM o DOTM que contienen Macros (La M de DOCM es de macros)
Para poner un ejemplo practico, vamos a tomar este challenge de CyberDefenders
Los primeros pasos a tener en cuenta son:
1 - Poseer un laboratorio de Análisis de Malware
Para empezar siempre un Análisis de Malware, debes disponer de una máquina para ello. Puedes conseguir hacerte con la tuya aquí: Configurar laboratorios para Análisis de Malware
Con REMNUX podrás tener todas las herramientas necesarias.
2 - Instalación de programas necesarios
LibreOffice (Word, Excel, etc.) https://www.libreoffice.org/
En el caso de que no instales REMNUX debes descargar estas herramientas
Oletools
1
git clone https://github.com/decalage2/oletools.git
Oledump
1
wget https://raw.githubusercontent.com/DidierStevens/DidierStevensSuite/master/oledump.py
3 - Herramientas online a tener en cuenta
CyberChef para desofuscar
Any.Run realiza un análisis dinámico
VirusTotal revisión en mas de 60 antivirus
Después de descargar el documento, procedemos a hacerle un análisis de metadatos con olemeta (también podríamos hacerlo con exiftool) y ver su hash para luego poder mandarlo any.run o virustotal con el comando md5sum sample.bin
Podemos observar que su nombre original es ‘Normal.dotm’, se ha editado 1 vez, la edición no ha durado ni 1 minuto, tiene 1 página y 3 palabras. Con esto podemos sospechar bastante.
Ejecutamos oleid en el archivo para obtener más información y obtendremos que tiene Macros este DOTM
Podríamos saltarnos estos pasos anteriores y analizar el documento en busca de todos los macros posibles pero no entenderíamos a qué nos enfrentamos
Una vez sabemos que tiene macros, lanzamos oledump
Aquí podemos ver que en el stream 13 es un macro ‘vba’ que tiene un tamaño de 1367 y se encuentra en ‘Macros/VBA/diakzouxchouz’
Con el parametro ‘-s’ elegimos el stream que queremos seleccionar y ‘-v’ para hacer un vba decompression. En el stream 13 vemos que se utiliza la función document_open() que se ejecuta al abrir el archivo.
Para ver todos los Macros de una vez podemos utilizar olevba
Aquí nos muestra todos los Macros y su contenido. Como podemos ver, nos señala document_open() como algo importante a tener en cuenta.
En la parte final nos da una descripción de todo lo que ha podido encontrar, como un base64.
Ese base64 pertenece al ‘Macros/roubhaol/i09/o’ en el que vemos que se repite mucho una serie de caracteres.
Después de encontrar el patrón lo copiamos todo y lo llevamos a CyberChef
Reemplazamos 2342772g3&*gs7712ffvs626fq (si analizamos las macros podríamos saber que reemplaza este string), quitamos los null bytes, reemplazamos el string ‘powershell -e’ y obtenemos el base64. Con un poco de esfuerzo y borrando más, podemos ver como se comporta este malware.
El malware descarga un archivo de estas páginas que renombra al directorio C:\Users\usuario\337.exe
Para analizarlo en LibreOffice (deberías deshabilitar la ejecución de macros antes), vamos a ‘Tools’ y a ‘Edit Macros’
Viendo las otras herramientas sabemos que son mejores pero aquí podríamos debuggearlo y ver formularios
Si hemos sacado el md5 del archivo y lo hemos buscado en any.run veremos que ese mismo script de powershell se habría ejecutado.