Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Buscador

Entradas Mensuales

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Foro de elhacker.net - Noticias

elhacker.NET en Facebook

Entradas populares

PostHeaderIcon Ofuscación de Macros maliciosas en Documentos Word




Últimos trucos de ofuscación de Malware con documentos de Word con Macros. Un docmento adjunto con word (.doc) y con una sorpresa (una macro) ya es una técnica muy habitual y bien conocida, y además muy vieja, ya que éste mismo mes el Virus I Love You cumplía 15 años. Si bien la última moda era usar macros con documentos XML para ofsucar el contenido tal y como explicamos en el blog hace unos meses, ahora los nuevos "trucos" son por ejemplo crear un fichero .mth, añadir datos codificados con Base64 y renombrarlo a .doc





¿Qué es una macro?

Una macro es un conjunto de comandos o instrucciones enviados al programa, que se ejecutan secuencialmente una tras otra. De hecho macro es la abreviatura de macroinstrucción.
Se usan para agrupar acciones repetitivas y rutinarias.

Sirven básicamente para automatizar las tareas realizadas con más frecuencia.

Los Programas de Microsoft Office siempre han sido uno de los blancos más vulnerables desde el primer virus de macro

El propósito de las macros es automatizar ciertas tareas repetitivas por ejemplo, pero ñas pero macros también pueden acceder a la VBA shell de comandos para ejecutar comandos y programas arbitrarios. Pero también podrían utilizar el comando KILL VBA para eliminar archivos en su disco duro.

Son una especie de comandos que se crean y guardan, pudiéndolos ejecutar mediante un botón en la Barra de acceso rápido o una combinación del teclado.

Las macros pueden utilizar funciones como AutoExec o AutoOpen para ejecutarse automáticamente cada vez que abra un documento.

Con frecuencia, las macros se utilizan para lo siguiente:
  • Acelerar las tareas rutinarias de modificaciones y formatos.
  • Combinar varios comandos; por ejemplo, para insertar una tabla con un tamaño y bordes específicos, y con un número determinado de filas y columnas.
  • Hacer que una opción de un cuadro de diálogo sea más accesible.
  • Automatizar series de tareas complejas.

Para crear macros puede utilizar la grabadora de macros para grabar una secuencia de acciones, o bien, puede crear macros desde el principio escribiendo código de Visual Basic para Aplicaciones (VBA) en el Editor de Visual Basic.

Habilitar o deshabilitar Macros en documentos de Office (Word, Excel, Access, Outlook, PowerPoint, Visio y Publisher)





Documentos MS Office 97-2003

La mayor parte de los documentos de MS Office 97 hasta 2003 utilizan el mismo formato de archivos subyacente llamado archivo binario (CFB) Formato de archivo de Microsoft Compuesto, o simplemente OLE2 formato de archivo.


  • Word 97-2003:"Macros", en la raíz del documento OLE
  • Excel 97-2003: "_VBA_PROJECT_CUR",  en la raíz del documento OLE
  • PowerPoint 97-2003: VBA macros están guardados en la propia estructura del binario, no en el almacenamiento OLE.

Documentos MS Office 2007 y superiores

Los documentos MS Office 2007+ el formato de archivo, también llamada MS Open XML, son muy diferentes, ya que están hechas de archivos XML almacenados en archivos Zip.

Sin embargo, las macros VBA se suelen almacenar en un archivo binario OLE en el archivo Zip, llamada "VBAProject.bin".


OLE file vbaProject.bin


Trucos Macros con Malware



O incluso más sencillo:

  • Abrir un word con Macros
  • Guardarlo como MHTML desde Word
  • Renombrarlo de .mth a .doc

OleDump y otras herramientas no reconocen este truco ni tampoco muchos de los antivirus.

A continuación se muestra cómo el archivo .mhtml ve como cuando se ve desde un editor de texto.

Destacado en rojo es un base64 parte ActiveMime donde el archivo de documentos de Office malicioso está oculto. Cuando nos identificamos esta campaña, la mayoría de los productos antivirus no detectan las macros maliciosas. Sospechamos que los criminales lo hacen a propósito usar .mhtml para evadir la detección de los antivirus.



Veamos una muestra analizada con VirusTotal:

https://www.virustotal.com/en/file/b7823adf544e8aa6eaaf38bf7d371a63baa8b12da5847825b2b5d5801733b6cc/analysis/

Tan sólo 1 antivirus de un total de 57 es capaz de detectar el Macro maligno.



Ejemplo visto con PeStudio:


En lo que respecta a los archivos de Office, puede simplemente abrir el archivo en Notepad ++, por ejemplo, y verá la .mso adjunto al final. Lo nuevo aquí es que se trata de un archivo de Word con macro MHTML (s).

Podemos usar olevba para extraer y decodificar automáticamente el objeto .mso.

Puedes utilizar la tabla de códigos de caracteres ASCII para averiguar lo que este malware está haciendo exactamente, por ejemplo, la primera línea de Chr $ (104) & Chr $ (116) & Chr $ (116) & Chr $ (112) es simplemente "HTTP ".

Otra opción es utilizar un programa Python realizado por Xavier Mertens, deobfuscate_chr.py.

Otro ejemplo reciente de este tipo de Virus es el Dridex analizado por el grupo de Cisco, Talos.

Dridex es un troyano bancario, una evolución de Cridex, que Talos ha descubierto recientemente.

Un supuesto documento de Word ilegible:



Que por detrás usa un macro la llamada del cmd.exe, aprovechando la potente PowerShell de Windows, descarga y ejecuta un ejecutable malicioso desde una dirección IP no modificable.



Otro ejemplo:

Los archivos se copia cayó a la carpeta local% AppData%, crea un mutex, y establece una conexión con los servidores de C2 a través del puerto 8080. Una vez que se establece una conexión, el host envía un XOR mensaje que contiene el nombre del equipo, versión del sistema operativo cifrado, y los programas instalados actualmente, incluido el número de versión. El servidor C2 responde con una descarga de DLL que se copia en el sistema infectado como un archivo .tmp. El DLL se ejecuta a continuación a través de la línea de comandos con un comando similar al siguiente:

 "Rundll32.exe" C: \ DOCUME ~ 1 \ ADMINI ~ 1 \ LOCALS ~ 1 \ aplic ~ 1 \ 4A.tmp "NotifierInit '

Tras la ejecución se inyecta el código Dridex en Explorer.exe y se elimina el archivo original. Esto inyecta código tiene capacidades C2 y sigue en contacto con el servidor. Los cambios en esta variante se asocian principalmente con esta comunicación continua y la construcción de las peticiones HTTP POST. La cabecera de la POST se genera seleccionando el agente de usuario, tipo de contenido y datos referenciales de una lista no modificable.

Herramientas para analizar ficheros ofimáticos online


Listado gentileza de SecurityByDefault.com:

Herramientas para analizar ficheros ofimáticos offline


Podemos usar algunas herramientas para detectar y analizar virus de Macros:

 



 Formatos Soportados:
  • Word 97-2003 (.doc, .dot)
  • Word 2007+ (.docm, .dotm)
  • Word 2003 XML (.xml)
  • Word MHTML, aka Single File Web Page (.mht)
  • Excel 97-2003 (.xls)
  • Excel 2007+ (.xlsm, .xlsb)
  • PowerPoint 2007+ (.pptm, .ppsm)
 Ejemplo:


Resultados:

  • OLE: the file type is OLE, for example MS Office 97-2003
  • OpX: the file type is OpenXML, for example MS Office 2007+
  • XML: the file type is Word 2003 XML
  • MHT: the file type is Word MHTML, aka Single File Web Page (.mht)
  • ?: the file type is not supported
  • M: contains VBA Macros
  • A: auto-executable macros
  • S: suspicious VBA keywords
  • I: potential IOCs
  • H: hex-encoded strings (potential obfuscation)
  • B: Base64-encoded strings (potential obfuscation)
  • D: Dridex-encoded strings (potential obfuscation)

  •   officeparser (proyecto Open-Source escrito en  Python 2.x)
Ejemplo de uso:

officeparser.py --extract-macros
Formatos Soportados:
  • Word 97-2003: Si
  • Excel 97-2003: Si
  • PowerPoint 97-2003: No
  • Word/Excel/PowerPoint 2007+: Si

Consideraciones


El nuevo formato de archivo introducido con Office 2007  ya no permite que los documentos estándar guardados con el sufijo "x" (.docx, .xlsx, .pptx y) contengan macros. Sólo se permiten los documentos que terminan con el sufijo "m" tengan macros.

A partir de Office 2010 las macros están deshabilitadas por defecto.

Prevención


Si su organización no depende de macros para hacer las cosas más "poderosas" con Office, yo recomendaría que VBA se elimine por completo. VBA es una parte componente opcional de las Funciones compartidas de Office. VBA se puede eliminar mediante el establecimiento de la función de "no disponible".



Si su entorno requiere VBA entonces no permitas que las macros de fuentes no confiables se puedan ejecutar.

 En lugar de habilitar la característica directamente como le sugiere el documento malicioso, examinar el código del documento primero a través de la ficha Programador (Developer)

 La ficha Programador se puede activar a través de Archivo> Opciones. En el cuadro de diálogo Opciones de Word seleccione Personalizar cinta de opciones de la izquierda y poner una marca al lado de desarrollador.




En Word 2007, la opción para activar la ficha Programador se puede encontrar bajo Popular en el cuadro de diálogo Opciones de Word. En pocas palabras una marca de verificación junto a Mostrar ficha Programador en la cinta de opciones. Haga clic en la ficha Programador y seleccione Visual Basic en la barra de herramientas. Con ello se abre la interfaz de programador de VBA y revelar el código de la macro.



Presionar MAYÚS al abrir un archivo


Si no desea infectarse con un virus de macro, mantenga presionada la tecla MAYÚS cuando abra un archivo que podría estar infectado con un virus de macro. Si presiona MAYÚS evitará que se ejecuten las macros automáticas; si hay algún virus de macro presente, no se cargará.


Vía:
http://bartblaze.blogspot.com.es/2015/05/new-malicious-office-docs-trick.html
https://www.trustwave.com/Resources/SpiderLabs-Blog/Malicious-Macros-Evades-Detection-by-Using-Unusual-File-Format/

Fuentes:
http://www.decalage.info/en/vba_tools

3 comentarios :

FRank Saltac dijo...

O.K., tengo un archivo de word que me pide que active los macros, se activaron las macros pero sigue haciendo los mismo, por lo que pienso que es un codigo malicioso, existira algun paquete que pueda detectar el problema sin que se tenga que ser un experto programador?

el-brujo dijo...

Lee donde pone "Herramientas para analizar ficheros ofimáticos"

yons jairo Quintero Martinez dijo...

como grabar una macro en una USB pero que me sirva en otro equipo

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.