Intentando analizar (sin mucho éxito) un documento Word Malicioso

Gabriel Martí
9 min readDec 27, 2020

--

Un Maldoc de la lista de “bichos” de Érica

Una gran parte del Malware enviado actualmente a las empresas utiliza la vía del correo electrónico, y el portador de ese malware es habitualmente un documento Word de Microsoft.

Hace ya unos días, Érica Aguado de ReanimandoWebs me hizo llegar uno de estos correos que llevan, como ella dice, “un bicho”. 😆

¿Por qué documentos Word?

Podría mostrar una larga lista de argumentos, pero uno de los principales es por su facilidad de insertar macros (un script de código) que permite ejecutar acciones sin intervención del usuario.

Bueno, maticemos esto … en algún momento puede que requiera intervención del usuario, pero se utilizan técnicas para engañar al usuario y una parte de estos acaban “picando”.

Eso no quiere decir que se puedan utilizar también otros formatos de documentos, como hojas de cálculo Excel, o archivos PDF.

El email con el documento “malicioso”

Así que, como he relatado, me reenvió un email que contenía el documento y que como podrá comprobar el lector, dicho documento siempre viene acompañando a un correo que intenta ser una petición de presupuesto, un envío de un pedido, una factura, etc. Cualquier cosa con el pretexto de engañar al usuario y hacerle creer que se trata de una petición legitima y que lleve al usuario a abrir el documento sin pensárselo dos veces.

Y aunque el correo puede parecer muy “correcto”, siempre hay que desconfiar de documentos recibidos de fuentes desconocidas y más cuando se insiste en una respuesta rápida tanto en el cuerpo del email, como en el nombre del documento.

¿Quien escribe en el nombre de documento para pedir un presupuesto el texto “Consulta urgente”? Ninguna empresa, para mí, que se preste a un mínimo de seriedad.

El formato de los documentos de Word

Tras descargar el documento en una Máquina Virtual preparada a tal efecto, procedo a analizar el contenido con diferentes herramientas.

Pero antes, veamos un poco sobre los formatos soporta Microsoft Word

Extracto de la lista de formatos soportados por Word.
Extracto de la lista de formatos soportados por Word.

Word ha ido cambiando con los años, y con ello también ha variado el formato de los archivos que genera por defecto. Las versiones anteriores hasta Word 2003 utilizaban la extensión “.doc que era un formato binario que también fue cambiando y evolucionando con los años.

Las versiones actuales, desde Word 2016, utilizan la extensión “.docx” y por lo tanto un formato diferente al binario anterior. En realidad, es un conjunto de archivos y carpetas en formato “xml”.

¿Como puede haber varias carpetas y archivos xml dentro de un solo archivo?

Toda esta estructura se puede guardar dentro de un archivo porque precisamente el documento “docx” es en realidad un archivo comprimido “zip” con una estructura concreta que contiene todos los archivos.

Con un editor hexadecimal se puede comprobar la firma de este archivo y veremos que coincide con la de los archivos zip que es 50 4B 03 04. A estas firmas de los diferentes formatos de ficheros también se las conoce como “magic numbers” o “magic bytes”.

Edición hexadecimal de documento docx que contiene firma de zip
Edición hexadecimal de documento docx que contiene firma de zip

Por lo tanto, con cualquier descompresor de zip se puede listar su estructura y descomprimirlo en una carpeta.

Contenido del fichero Word mostrado con unzip
Contenido del fichero Word mostrado con unzip

Usando algunas herramientas

Ahora bien, antes de proceder en “modo manual”, conviene saber que también hay algunas herramientas para analizar documentos Word (y Excel) maliciosos y que usé previamente para ver que detectaban.

OfficeMalScanner

Es una herramienta bastante antigua, y lo único que podemos hacer con el documento que nos ocupa es descomprimir el contenido tal y como lo haríamos con unzip, obteniendo exactamente la misma estructura y contenido.

Escaneado del documento con OfficeMalScanner
Escaneado del documento con OfficeMalScanner

Oletools

Con oletools, un conjunto de utilidades en Python, podemos inspeccionar y analizar el contenido OLE dentro de ficheros de Office. Pero los resultados arrojan que este documento recibido no tiene formato OLE y por lo tanto no tiene información añadida, y tampoco tiene Macros VBA.

Muestra de análisis del documento con oletools
Muestra de análisis del documento con oletools

¿Dónde está el contenido malicioso?

Tras probar y analizar con las herramientas anteriores y algunas otras adicionales, el documento aparentemente parece no tener nada malicioso.

¿Es seguro?

En realidad, no.

Las opciones son abrir el documento con MS Office o bien con LibreOffice, y la opción elegida en primer término es este último. Evidentemente con la ejecución automática de las macros deshabilitada.

Al abrir aparece una página en blanco simplemente con el texto “sdfsf” y si se examinan las macros no aparece ninguna.

Muestra del documento abierto con LibreOffice
Muestra del documento abierto con LibreOffice

Como no detecto ninguna actividad, decido abrir el documento con MS Word 2010, pero monitorizando la comunicación TCP para ver si detecto alguna cosa, y tras abrir el documento, que no muestra absolutamente nada (no como en LibreOffice) se muestra actividad de acceso a internet generada por la aplicación WINWORD.

Y como se puede apreciar en la captura, no existe ninguna macro en el documento.

Muestra de actividad hacia internet al abrir el documento Word malicioso
Muestra de actividad hacia internet al abrir el documento Word malicioso

¿Casualidad?

Como no me fiaba, he repetido el proceso varias veces, monitorizando Word sin abrir ningún documento. No había actividad. Después abriendo otros documentos seguros, también sin actividad. Y finalmente repitiendo la apertura del supuesto documento malicioso, y efectivamente, había actividad de conexiones hacia internet.

Muestra de conexión TCP al abrir el documento con MS Word

Analizando manualmente el contenido

Visto que hay alguna actividad, pasemos a ver que hay dentro del documento.

Tras descomprimirlo con cualquier herramienta de descompresión de archivos zip nos queda una estructura como la que se ve en la siguiente imagen.

Estructura de carpetas y archivos del documento una vez descomprimido
Estructura de carpetas y archivos del documento una vez descomprimido

No voy a detenerme en el contenido de todos los archivos XML, solo en los imprescindibles o más relevantes.

El fichero app.xml dentro de la carpeta docProps nos muestra que la plantilla usada por el documento es la estándar “Normal.dotm”, que el documento tiene 1 página y contiene exactamente 5 caracteres (los que hemos visto al abrirlo con el LibreOffice), que se ha creado con “Microsoft Office Word” y que la versión de la aplicación es la 15.0, es decir con Microsoft Office 2013 según la numeración de Microsoft.

Otro detalle es el elemento <DocSecurity> que al estar a 0, indica que este documento no lleva ninguna seguridad añadida, ni protección por contraseña, ni que esté bloqueado para escritura, ni que se recomiende abrirlo en modo solo lectura.

Información sobre el documento y versión de Word
Información sobre el documento y versión de Word

El fichero core.xml, también dentro de la carpeta docProps, nos revela otra información. Tenemos al nombre del supuesto autor del documento, y también de quien lo ha modificado la última vez, siendo el mismo en los dos casos, “HP 15”, nombre que evidentemente no nos revela a nadie en concreto, aunque si podríamos afirmar, por deducción, que es con un equipo HP. También, que el documento se ha revisado (editado y/o modificado) 3 veces, y que su fecha de creación y modificación es el 3 de Julio de 2018 a las 9:39 de la mañana. Es decir, no es reciente, se creó hace ya más de dos años, o bien el equipo con el que se ha creado tiene la fecha y hora modificadas a propósito.

Datos del autor y fecha de creación del documento
Datos del autor y fecha de creación del documento

Aquí tenemos lo que sería el cuerpo del documento en sí, dentro del archivo word/document.xml, donde se pueden ver los únicos cinco caracteres que componen el documento, “sdfsf”, y que no representan en absoluto ningún peligro.

Contenido del texto del documento Word
Contenido del texto del documento Word

Pero donde realmente se esconde lo que estaba buscando viene a continuación, en el fichero webSettings.xml.rels que se encuentra dentro de la carpeta word\_rels , y tiene un enlace externo que se atribuye como un vínculo a los estilos del documento definidos en document.xml.rels, y esto sí que es un indicio del malware, o al menos con sospecha infundada, al intentar descargar un contenido de internet.

Enlace externo referenciado desde webSettings.xml.rel
Enlace externo referenciado desde webSettings.xml.rel

Analizando el enlace malicioso

El enlace apunta a la siguiente URL https://hawkloger.shortcm.li/3tm1i9

¿Por qué digo que es malicioso?

Veamos, procedo a abrir el enlace, pero no funciona. ¡¡¡Vaya!!! 😥

Nota: Ya sabía que no funcionaba el enlace, por eso lo abro con el navegador. En condiciones normales no intentéis abrir con el navegador un enlace que supuestamente es malicioso bajo riesgo de poder infectar y dañar vuestro equipo informático.

Enlace “roto” que estaba dentro del documento docx
Enlace “roto” que estaba dentro del documento docx

Dicho enlace pertenece a un servicio de “acortador de enlaces”, un sistema habitualmente usado por muchas aplicaciones maliciosas para ocultar el verdadero destino de una url.

Por un lado, el hecho de que no funcione el enlace es buena noticia. La amenaza está contenida y se ha cortado por esta vía la propagación del malware. Por otro lado, a mí me ha fastidiado el poder profundizar en este malware enviado por email. 😭

No obstante, en las capturas del tráfico de WINWORD se mostraba accesos a servidores de Amazon. ¿Como es esto posible?

Con algunas comprobaciones de DNS del dominio shortcm.li se puede corroborar que está alojado en AWS (Amazon).

Y si incluimos el subdominio, en este caso tenemos unas IP concretas que pueden servir como IOCs.

Un poco más allá

Iba a dar ya por cerrado el asunto, pero se me ocurre probar otras cosas, como por ejemplo ver que me devuelven las cabeceras al hacer peticiones a este dominio, y curiosamente contiene una redirección hacia otra IP, 192.3.22.9 y que además descarga (o eso intenta) un ejecutable llamado “baron.exe”. 🤨
( http://192.3.22.9/hkcmd/baron.exe )

Consulta de cabeceras HTTP en petición a hawkloger.shortcm.li
Consulta de cabeceras HTTP en petición a hawkloger.shortcm.li

Si busco información de esta última IP veremos que está ubicada en la ciudad de Buffalo, NY, USA. Y que el ISP es ColoCrossing.

Hasta se puede saber que utiliza un Windows de 32 bits. ¿32 bits? 🙄 ¿Será una máquina virtual con un sistema viejo?

Información de la IP indicando que el equipo tiene sistema Windows 32bits
Información de la IP indicando que el equipo tiene sistema Windows 32bits

Si, es Malware

El sitio está confirmado como fuente de Malware, al menos reportado por URLhaus ( URLhaus | 192.3.22.9 (abuse.ch) )

Confirmación de sitio malicioso

Intentando descargar el Malware

Así que me dispongo a descargar de esta url el ejecutable que se muestra, pero voy a hacerlo desde la línea de comandos con wget para poder tener más control del proceso (y por qué me gusta).

Pero la descarga falla, bien porque ya no existe el fichero, o por cualquier otro bloqueo de la red.

Intento de descarga de baron.exe
Intento de descarga de baron.exe

Me quedo pues con la incógnita de si este archivo tiene relación con él anterior enlace acortado incluido dentro del documento Word, pues conviene recordar que este es un archivo que se descarga directamente sin incluir directamente el parámetro final de la url (“3tm1i9”) que es el identificador de la url acortada.

Simulación en un SandBox

Llegado este punto no podía hacer nada más, quedándome con las ganas de poner analizar el binario que probablemente descargara este documento Word.

Pero buscando por la red referencias a este enlace he encontrado un análisis en un SandBox hecho hace pocos días en el que se confirma lo comentado en los párrafos anteriores, y que me ha hecho replantearme en algún momento si publicar o no este artículo.

Análisis SandBox https://www.joesandbox.com/analysis/330666/1/html
Análisis SandBox https://www.joesandbox.com/analysis/330666/1/html

Espero tener más suerte (o ser más rápido) para otra ocasión.

--

--

Gabriel Martí

Ex-Docente CFGM, CFGS Ciberseguridad. Actualmente Consultor en Ciberseguridad. Intereses en robótica, ciberseguridad, reversing. Twitter @gmarti @310hkc41b