viernes, 8 de enero de 2016

Analizando el archivo: "860C4231.doc"

Para enseñar a analizar un documento ofimático, me suministraron el siguiente documento:

Nombre:                860C4231.doc
MD5:                    E8BD65668D68410ADACEE9463EB1489E

Información sobre el archivo ofimático suministrado.

Al intentar realizar un análisis estático del mismo, me encontré que la herramienta basada en Python que habitualmente utilizo no reconocía el documento como "objeto OLE ", y por lo tanto no podía analizar el documento.

Reporte del fallo suministrado por la herramienta de análisis.

A consecuencia de eso, me plantee abrirlo sin ejecutar las macros para posteriormente volverlo a guardar.

Proceso de guardado tras la apertura sin activar la ejecución de las macros.

Y esta vez, sí pude analizar el documento.

Información suministrada por la herramienta de análisis.

A partir de aquí, personalmente prefiero analizar la lógica que contienen las macros, empezando por la función que se ejecuta nada más abrir este tipo de archivo.  Más concretamente el procedimiento: "AutoOpen", que suele encontrarse en el "stream" de nombre: "ThisDocument"

Procedimiento "AutoOpen" contenido en el stream: "ThisDocument".

NOTA: Es muy habitual encontrarse gran cantidad de código "de relleno", la intención ...  dificultar el análisis. Pero, lo "desarrolladores" de este tipo de documentos no se complican demasiado y tras dos/tres llamadas, podremos encontrar la función que inicia el proceso de "descarga" del verdadero malware.

Tras seguir el proceso de ejecución llegue al procedimiento: Aky1JsRD3md (al  segundo salto tras iniciar el proceso de ejecución), que se encuentra, para dicho documento, en el stream 18

Procedimiento: Aky1JsRD3md

Como en otros códigos ya analizados se pueden ver las funciones: Open, Send y ResponseBody, que nos indica que nos encontramos ante una petición de tipo HTTP, mediante la utilización de un objeto de tipo: XMLHTTP.

NOTA: La sintaxis de la función "Open" de dicho objeto es:

objeto.Open (Metodo, URL,  [Asincrono], [Usuario], [Contraseña]

[] : opcional

Más información: https://msdn.microsoft.com/es-es/library/ms757849(v=vs.85).aspx

Por lo que:

sxcsccccc.BHJKbkds7 = método (GET,POST)
sxcsccccc.BHJKbkds1 = <URL>
sxcsccccc.BHJKbkds4 = "XMLHTTP"

Por lo que tenemos que acudir a la macro: sxcsccccc, y buscar la función/ variable: BHJKbkds1.

Pero en dicha macro NO encuentre nada

Macro sxcsccccc.

Por lo que tuve que buscar en el resto de código vinculado a dicha macro, aunque pude intuir que estaba ante la presencia de un objeto embebido de tipo Frame.

Información sobre el objeto embebido.

Revisando los streams vinculados con dicho objeto, encontré la información que buscaba.


Información de uno de los stream vinculados con el objeto embebido.


Método:                 post
URL:                      179.60.144.21/jasmin/authentication.php

NOTA: Obtuve también información adicional,  que se corresponde con la ubicación donde se almacena el archivo descargado: %TMP%/tsx3.exe

Conclusiones

Estamos ante una nueva manera de ofuscar la información que contiene un lanzador de tipo ofimático.

Para ello utilizaremos un objeto embebido que contendrá la información necesaria para la descarga del verdadero malware.

Adicionalmente, aconsejo bloquear en vuestros sistemas:

Md5:                      E8BD65668D68410ADACEE9463EB1489E
URL:                      179.60.144.21/jasmin/authentication.php

Añadir que la URL NO se encuentra activa.


No hay comentarios:

Publicar un comentario