Saltar al contenido

Blog de ciberseguridad

Malware flash que podría caber en un mensaje de Twitter

Análisis de un archivo Flash malicioso de tamaño extremadamente reducido

Analizamos una muestra de malware Flash de menos de 140 bytes, un tamaño tan reducido que su código podría caber en un mensaje corto. La muestra emplea técnicas de ofuscación para dificultar su detección y el análisis estático.

Esto no significa que alguien pueda infectarse por leer el código en una red social. El riesgo aparecería al abrir enlaces maliciosos o ejecutar el archivo preparado por el atacante.

Qué revela el análisis hexadecimal

La primera vista muestra un archivo Flash comprimido, reconocible por la cabecera CWS.

Vista hexadecimal del archivo Flash comprimido

Al descomprimirlo aparece la cabecera SWF y varias cadenas de texto, entre ellas /:$version y _root.

Código descomprimido de la muestra Flash

Etiquetas Flash y código oculto

El análisis de las etiquetas del archivo dirige la atención hacia DoAction y ShowFrame. La primera contiene el código ActionScript; la segunda provoca la ejecución de las acciones definidas.

Listado de etiquetas de la muestra Flash

El desensamblado revela instrucciones desconocidas y el uso de ActionPush para introducir datos en la máquina virtual de ActionScript. La longitud declarada de la etiqueta no coincide con lo que muestran inicialmente las herramientas, una técnica pensada para confundir a los desensambladores.

Código ActionScript oculto frente al análisis estático

Tras corregir el archivo para eliminar los obstáculos al análisis, aparece el código que estaba oculto.

Código revelado después de corregir la muestra Flash

Qué hace realmente la muestra

La muestra comprueba la versión de Flash Player y abre otro archivo Flash adaptado a ella. Ese segundo archivo puede contener exploits específicos, por lo que el componente inicial actúa como un descargador capaz de abrir la puerta a otras amenazas.

Instrucción utilizada por la muestra para comprobar Flash Player

Todo el mecanismo cabe en poco más de 130 bytes, una demostración de que el tamaño de un archivo no determina su peligrosidad.