Malware; Ofuscación MS Office (I)


 

Malware, O-MS-Office, 1, BLOG - 002

La “última” moda (desde no hace muchos <meses>) en la distribución de «malware» viene en forma de documentos de <MS Office> con macros que llegan a tu bandeja de entrada. Si estas macros se llegan a ejecutar, intentaran descargar un ejecutable y lanzarlo para infectar el sistema. Para dificultar el trabajo de los analistas, los autores de estas macros ponen distintos obstáculos. En este <post> vamos a mostrar los sistemas de ofuscación y cifrado que han surgido en los últimos meses en este tipo de documentos. Con lo cuál – más «rápido que deprisa» – veamos como está el patio en cuanto a ofuscación de <malware> en macros de «MS Office«.

Malware, O-MS-Office, 1, BLOG - 003

Hace años, muchos años, se puso de moda infectar ordenadores usando macros en documentos de Office. MS reaccionó y puso una serie de sistemas de seguridad que hacían saltar un pop-up que el usuario tenía que aceptar para que se ejecutase una macro, así que los malos decidieron dejar de usar macros y explotar vulnerabilidades en Excel o en Word como método de infección.

Diez años después, se está volviendo a ver muchísima actividad maliciosa que utiliza macros para descargar una muestra de malware y ejecutarla, infectando así el sistema.

Se desconoce la razón de esta vuelta a la viejas costumbres, hay varias teorías.

La primera teoría la leí hace no mucho y dice que es una forma de evitar detecciones por parte de los antivirus. Otra teoría dice que tiene que ver con los controles de seguridad que implementó MS a partir de Windows 7 (recordad, Windows XP ya no tiene soporte y no se usa en ninguna parte, guiño, guiño) . Ambas teorías son validas, pero yo añadiría otra más: es mucho más barato y simple escribir una macro que un exploit.

Malware, O-MS-Office, 1, BLOG - 004

Para que una macro embebida en documento de MS Office infecte un equipo, esta macro necesita realizar las siguientes acciones;

Malware, O-MS-Office, 1, BLOG - 005

Una forma de hacerlo en Visual Basic Script (vbs), el idioma que utilizan las macros de Office, es la siguiente;

Malware, O-MS-Office, 1, BLOG - 006

Este tipo de ofuscación es muy simples de entender y de encontrar. Para hacer el trabajo de los analistas más difícil, los escritores de estas macros utilizan distintas técnicas de ofuscación. Una de las más comunes es meter código basura.

El código basura es un conjunto de líneas de código que no hace nada pero dificulta la comprensión de este por parte del analista de malware.

Veamos algunos ejemplos;

Algunos autores llenan las macros de comentarios, esto es bastante fácil de “limpiar” con una expresión regular, pero es bastante desagradable a la vista;

Malware, O-MS-Office, 1, BLOG - 007

Estas líneas de código simplemente ocultan;

Malware, O-MS-Office, 1, BLOG - 008

Esto nos lleva al siguiente método de ofuscación: los nombres raros.

En el trozo del código anterior, la variableQEfChJYE‘ no es más que un contador, la típicai” de for (i=0;…), pero hace más complicado de leer el código para el analista.

Es muy típico también meter código basura. El código basura es código que no hace nada (tal y como dije antes) o que simplemente está ahí pero que nunca se va a ejecutar.

Un ejemplo de código que no hace nada es el siguiente;

Malware, O-MS-Office, 1, BLOG - 009

Todos los “GoTo” del código sobre estas líneas saltan a la siguiente línea de código, por lo tanto, lo único que están haciendo es meter ruido en el código.

La única línea que es útil en ese trozo de código es;

Malware, O-MS-Office, 1, BLOG - 010

Veamos un ejemplo de código que no se ejecuta;

Malware, O-MS-Office, 1, BLOG - 011

Si nos paramos a analizar todos esas sentenciasif‘, veremos que ninguna de ellas se va a cumplir nunca;

Malware, O-MS-Office, 1, BLOG - 012

Un número nunca puede ser igual a ese número más uno;

Malware, O-MS-Office, 1, BLOG - 013

4142 nunca es menor que 44;

Malware, O-MS-Office, 1, BLOG - 014

Malware, O-MS-Office, 1, BLOG - 015

Salu2


TonyHAT - 435

 

2 comentarios en “Malware; Ofuscación MS Office (I)”

Deja un comentario