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

6 de julio de 2011

Cuando se hace un análisis de malware, es muy común encontrar muestras que usan todo tipo de ofuscación con el objetivo de ocultarse del antivirus que protege tu ordenador. Esto es especialmente verdad en los casos de malware escritos en Flash (más específicamente, ActionScript). Flash es muy popular entre los desarrolladores de malware actualmente, ya que la gente está usando este formato de manera masiva diariamente. En muchas ocasiones, los usuarios ni siquiera son conscientes de que es Flash lo que hace que puedan ver esos efectos tan bonitos que pueblan sus pantallas. Recientemente, hemos tenido acceso a una muestra que usa un truco bastante bueno para ocultar su propósito ante las miradas de quien quiere mirar sus entrañas. Lo que resulta más interesante es que la muestra es actualmente más pequeña de 140 bytes, lo cual significa que podría caber en un mensaje de Twitter. Esto no es usual entre los ficheros Flash, que tienen a ser considerablemente más grandes. Pero no os asustéis, esto no quiere decir (ni mucho menos) que alguien se pueda infectar mirando el código en Twitter, a no ser que se expanda a través de links maliciosos, pero eso es otra historia.

Aparte de lo pequeño que es… ¿qué más hay que llame la atención? Vamos a echar un vistazo. Aquí tenemos la vista hexadecimal:

final1_packed1

Nara raro que ver aquí, porque estamos viendo un fichero flash comprimido (mirad la cabecera CWS al principio). Bien, vamos a descomprimirlo y volvamos a mirar:

final2_unpacked

Ahora mucho mejor. Podemos ver la cabecera descomprimida (SWF) y tenemos varias cadenas de texto justo al final del fichero, destacando “/:$version” y “_root”. En un primer vistazo no parece demasiado sospechoso, pero hay más. Hemos estado ejecutando esta muestra en algunas de nuestras herramientas para hacernos una mejor idea de qué hay en el fichero.

final3_taglist

Como se puede ver, el primer tag se muestra como “Unknow” (desconocido). Por razones de compatibilidad, Flash omite todo tag que no reconozca, así que podemos obviarlo también. Del resto de tags, los únicos que nos interesan son DoAction y ShowFrame. Éste último es importante porque hace que Flash Player ejecute todas las acciones definidas después de él (simplificando un poco). En el tag DoAction es donde está toda la magia. Contiene código ActionScript, el cual tiene varias propiedades, desde un simple juego de puzzle hasta un reproductor de vídeo. Dado que aquí no hay nada que mirar para encontrar código malicioso, vamos a probar suerte y mirar más a fondo este tag particular. Un rápido desensamblado revela algunas cosillas interesantes:

final4_hidden

Ooops, ¿qué es esto? Inmediatamente podemos decir que hay algo raro en este código. Primero, hay numerosas instrucciones que no son conocidas. Mejor todavía, observamos la instrucción ActionPush que se usa para inyectar datos en la máquina virtual ActionScript. En este caso, se inyectan los datos a través de un “constant pool”, que es simplemente un nombre bonito para un array de cadenas. Pero, ¿dónde está definido el array? Se usa una instrucción ActionConstantPool para definirlo, pero no está en el código anterior. ¿Quiere esto decir que el código no funcionará? Por supuesto que no. Para esclarecer el secreto, debemos mirar un poco más profundamente. En la lista de tags podemos ver que el tag DoAction debería tener 103 bytes, pero el offset más largo en nuestra lista es de sólo 47. Después de parchear el archivo, removemos los posibles obstáculos y vemos qué ocurre:

final5_revealed

Interesante. Esta acción nos hace comprobar los trucos usados para defenderse de los desensambladores y de cualquier análisis estático. Así pues, ¿qué hace esta muestra? Cuando se ejecuta, vemos que ocurre lo siguiente:

final6_code

Esta muestra simplemente comprueba la versión de tu reproductor de flash y abre una película flash adecuada, que puede contener exploits que funcionen en una versión particular del reproductor. Así, se puede decir que es un downloader, algo que abre una puerta en tu ordenador y deja entrar a los “bichos malos”. Todo esto, en poco más de 130 bytes de flash.

 

Este post es una traducción y adaptación de un artículo escrito en el blog oficial de avast! en inglés.

Copyright © 2005-2020 Anti-Virus.es Todos los derechos reservados. Aviso legal - Avast y sus logos son marcas registradas de Avast Software, s.r.o.

licensemap-markerlaptop-phonemenu-circlecross-circlearrow-left-circlearrow-right-circlelayers linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram