Análisis de documentos maliciosos en Microsoft Word

 

Resumen:

 

La propagación de correos electrónicos con archivos maliciosos en Microsoft Word adjuntos, continúan utilizando el mismo vector de infección, el cual se describe de manera detallada en una entrada anterior de este blog. En este análisis se revisa la muestra "Financial Statement.zip" que genera y ejecuta tres scripts en distinto formato (.bat, .vbs y .ps1). El script de PowerShell es el encargado de descargar y ejecutar a la muestra "x.exe" que a su vez tiene la funcionalidad de spyware (envía información del equipo infectado de manera codificada).

 

 

 

Análisis estático:

 

 

Las firmas para el archivo "Financial Statement.doc" son:

·         Md5: fe6234874bb4a10f48a44687d9dce3ce

·         Sha1: 74febb6c258a5f42ac85d2b4ecd59db39f9f0fea

·         Sha256: a8ee9b6f3dfd02957d2f9f8abada269cbf7257a0d5745f2bae63c2a6892b83c5

 

 

Para analizar este documento generado en Microsoft Word se utilizó la herramienta forense OfficeMalScanner, con la finalidad de extraer macros en Visual Basic.

 

Las macros son una serie de instrucciones en lenguaje de programación Visual Basic que se utilizan para automatizar tareas.

 

Al emplear la opción "info" de OfficeMalScanner, se muestra el mensaje de que el archivo no es un formato OLE (DOC, XLS o PPT) sino que es un formato ZIP basado en XML (DOCX, XLSX o PPTX) utilizado a partir de la versión 2007 de Microsoft Office.

 

La herramienta recomienda usar la opción "inflate" para revisar el documento por archivos binarios. A continuación se muestra que el tipo de archivo del documento es ZIP:

 

 

Una alternativa para revisar los elementos de algún documento XML en Microsoft Office es cambiar la extensión a ZIP y descomprimir el archivo. En una inspección rápida al documento malicioso, se observan dos imágenes en la ruta: Financial Statement.zip\word\media:

·         image1.jpeg

·         image2.jpeg

 

 

OfficeMalScanner descomprime el documento en la carpeta: %temp%\DecompressedMsOfficeDocument, extrae 17 archivos en total y uno de ellos es el binario vbaProject.bin. Visual Basic for Applications (VBA) es un paquete integrado en Microsoft Office para desarrollar macros en lenguaje Visual Basic para aplicaciones de Windows.

La recomendación que nos muestra es revisar el archivo binario con las opciones "scan" y "brute".

 

 

A continuación se muestra la ubicación del archivo binario "vbaProject.bin":

 

 

La revisión de OfficeMalScanner al archivo binario "vbaProject.bin" con las opciones "scan" y "brute" no muestra rastros maliciosos, aunque nuevamente nos hace una sugerencia, usar la opción "info" pero ahora sobre el binario.

 

 

Al aplicar el comando propuesto sobre el archivo binario, la herramienta encuentra código VB-Macro que extrae automáticamente en la carpeta "VBAPROJECT.BIN-Macros" en el archivo "ThisDocument".

 

 

El archivo "ThisDocument" puede abrirse con cualquier editor de texto y mostrará el código Visual Basic. A continuación se muestra la declaración de la función "h":

 

 

Al inicio de la función se definen variables de tipo cadena que almacenan tres categorías:

·         Nombre de usuario (en nuestro caso es "malware")

·         Nombres de scripts (formatos: "ps1", "bat" y "vbs")

·         Rutas en el sistema de archivos (carpetas "Temp")

 

Los nombres de scripts definidos al inicio de la función "h" son archivos que intentará generar el documento "Financial Statement.doc".

A continuación se muestran algunos de los elementos más importantes del archivo "adobeacd-update.bat" creado en la ruta "c:\Windows\Temp\" si la versión de Microsoft Windows es menor o igual a 5.5:

·         Uso del comando "ping" para el envío de una o dos peticiones ICMP (dependiendo el valor de la opción "-n") a             una dirección IP pública en China.

·         Ejecución del script "adobeacd-updatexp.vbs".

·         Ejecución del binario "444.exe".

·         Eliminación de los archivos "adobeacd-update.bat" y "adobeacd-updatexp.vbs" si es que existen en                         "c:\Windows\Temp\".

 

 

A continuación se muestran algunos de los elementos más importantes del archivo "adobeacd-updatexp.vbs" creado en la ruta "c:\Windows\Temp\" si la versión de Microsoft Windows es menor o igual a 5.5:

·         Petición por método GET para la descarga del binario "x.exe".

·         Localización del archivo descargado en "c:\Windows\Temp\" con el nombre "444.exe".

 

 

A continuación se muestran algunos de los elementos más importantes del archivo "adobeacd-update.ps1" creado en la ruta "c:\Users\malware\AppData\Local\Temp\" si la versión de Microsoft Windows mayor a 5.5:

·         Petición por método GET para la descarga del binario "x.exe".

·         Localización del archivo descargado en "c:\Users\malware\AppData\Local\Temp\" con el nombre "444.exe".

·         Ejecución del binario "444.exe".

·         Cambio de atributos a "ocultos" de los archivos "adobeacd-update.vbs", "adobeacd-update.bat" y                           "adobeacd-update.ps1".

 

 

A continuación se muestran algunos de los elementos más importantes del archivo "adobeacd-update.vbs" creado en la ruta "c:\Users\malware\AppData\Local\Temp\" si la versión de Microsoft Windows mayor a 5.5:

·         Ejecuta el script "adobeacd-update.ps1".

 

 

A continuación se muestran algunos de los elementos más importantes del archivo "adobeacd-update.bat" creado en la ruta "c:\Users\malware\AppData\Local\Temp\" si la versión de Microsoft Windows mayor a 5.5:

·         Uso del comando "ping" para el envío de dos peticiones ICMP a una dirección IP pública en China.

·         Establece la página de códigos activa en 1251 para cubrir lenguajes que usan el alfabeto cirílico como son: ruso,           bielorruso, bosnio, búlgaro, checheno, macedonio, serbio, tártaro, y ucraniano.

·         Ejecuta el script "adobeacd-update.vbs".

 

 

El archivo "x.exe" fue descargado del sitio web que se mostraba en el código de la macro.

 

 

Algunas características estáticas del archivo son:

·         Tamaño: 305 KB

·         Md5: 148f5259efd310a3598dd28dadba37d2

·         Sha1: 73a5e90d4c7d2ffd26c10cc16ad582c93078349e

·         Sha256: 5113d5ccd545796068f62b9508fb2a4ef4b88a389318adc397c65e2454e37353

 

 

Este sitio web como muchos otros pudo haber sido comprometido para alojar software malicioso.

 

 

 

Análisis dinámico:

 

 

El archivo "Financial Statement.doc" se abrió con la versión de Microsoft Office 2007 con salida a Internet. Al ser la primera vez que abre el archivo sólo se inicia el proceso WINWORD.EXE en Process Explorer.

 

 

Al inicio del documento se muestra el mensaje: "THIS DOCUMENT HAS BEEN SET TO BE BLUR DUE TO SECURITY REASON AND FOR YOUR SAFETY KINDLY CLICK OPTION/ENABLE CONTENT ABOVE TO VIEW PROPER DOCUMENT" donde una posible traducción sería "Este documento se modificó para mostrarse borroso como una medida de seguridad y por tu bienestar, por favor da clic en "Opciones/Habilitar contenido" en la parte de arriba para ver el documento de la forma adecuada".

 

Después de este primer mensaje, se observan dos imágenes borrosas que el atacante utiliza como señuelo para presionar al usuario y habilite la eyección del código en las macro. Las imágenes mostradas en el documento fueron identificadas al inicio del análisis.

 

 

Al final del archivo se muestra la siguiente nota: "THIS DOCUMENT IS A PROPERTY OF AN INSTITUTE, IS HEREBY NOT ADVISABLE TO BE SHARED OR EXPOSE TO ANY THIRD PARTY. PRIVATE TEXT HAS BEEN HIDDEN TO CAUTION AGAINST UNAUTHORIZED PERSON." donde una posible traducción sería "Este documento es propiedad de un instituto, por este medio se recomienda no compartirlo o exponerlo a terceros. Se ha ocultado el texto privado por precaución contra personas no autorizadas".

 

Para continuar con el análisis dinámico del archivo malicioso, se habilitaron las macro, se cerró el archivo y se volvió a abrir.

 

 

Al abrir por segunda ocasión el archivo en Microsoft Word se observa el proceso principal "WINWORD.EXE" y como subproceso "cmd.exe" donde se ejecutan las utilerías "PING.EXE" y "cscript.exe", comandos vistos en el archivo "adobeacd-update.bat".

 

 

Posteriormente, las dos peticiones ICMP terminan y con "cscript.exe" se ejecuta código en PowerShell, comando visto en "adobeacd-update.vbs". El script en PowerShell "adobeacd-update.ps1" es quien realiza la descarga del binario "x.exe".

 

 

A continuación se muestra la captura de tráfico de la descarga que fue satisfactoria:

Nota: El campo User-Agent también se encontraba definido en el script en PowerShell.

$down.headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25';

 

 

Una vez completada la descarga, desde el script de PowerShell se invoca una interfaz de línea de comandos para ejecutar el archivo "x.exe" descargado con el nombre "444.exe".  A continuación se muestra el árbol final de los procesos que fueron ejecutados:

 

 

Una vez que el binario "444.exe" se inicia se replica en la carpeta %temp% con el nombre "msgss.exe", inicia este ultimo ejecutable y se crea en el registro de Windows el valor "Outlook Express" para hacer persistente la muestra "msgss.exe".

 

 

A continuación se muestra el valor del registro desde la herramienta Autoruns:

 

 

Hasta este momento del análisis, en la carpeta %temp% se localizan los tres scripts que genera el documento en Word y la réplica del archivo "444.exe":

 

 

Archivo "adobeacd-update.bat" desofuscado:

 

 

Archivo "adobeacd-update.vbs" desofuscado:

 

 

Archivo "adobeacd-update.ps1" desofuscado:

 

 

Para el momento del análisis, VirusTotal indica que 7 de 54 motores antivirus detectan a "Financial Statement.doc" como malicioso. A continuación el reporte:

 

 

Al realizar un volcado de memoria del proceso "msgss.exe" se observa la siguiente actividad:

·         Definición de ciertas teclas

·         Separador "0USER0" (dependiendo del usuario infectado)

·         Uso del portapapeles de Windows

·         Servidor malicioso t*****eme.eu

·         Variable "text=" (almacena información que se envía del equipo infectado)

·         Bitácora "index.php" en el servidor malicioso

·         Valor del registro de Windows usado para persistencia

 

 

El tráfico de red asociado al servidor malicioso que fue identificado en las cadenas del volcado de memoria, se observa el envío por método POST de información codificada en la variable "text=" al archivo "index.php" alojado en el servidor malicioso.

 

La codificación se encuentra en formato: urlencoded

 

 

A continuación se muestra la información decodificada que se envía al servidor malicioso:

 

 

Para el momento del análisis, VirusTotal indica que 22 de 53 motores antivirus detectan a "x.exe" como malicioso. A continuación el reporte: