Hispasec descubre OUTLOOK.PDFWorm, el primer gusano que se presenta en
un archivo PDF (Portable Document Format), el conocido formato de
Adobe Acrobat. No es la única novedad: este espécimen se distribuye
utilizando funciones de Outlook nunca vistas antes en un gusano.
Aunque es un virus de laboratorio que apenas ha visto la luz, se trata
de una importante semilla que puede hacer proliferar este tipo de
virus insertados en archivos PDF, un formato hasta ahora considerado
seguro por los usuarios.
Diseñado como prueba de concepto, este gusano no está optimizado para
su distribución masiva. Entre otras limitaciones de diseño, es
necesario que el usuario a infectar tenga instalado Outlook y una
versión completa de Acrobat, ya que no funciona sólo con Acrobat
Reader, que es la aplicación de distribución gratuita que la mayoría
de los usuarios suele tener instalada.
El desarrollador de este gusano es Zulu, un argentino ampliamente
conocido en el mundo vírico por sus constantes innovaciones en el
sector de los i-worms, autor entre otros de «BubbleBoy», «Freelinks»,
«The_Fly», «Monopoly» y «Life_Stages». A continuación vamos a
describir algunas de las funcionalidades más destacadas de
OUTLOOK.PDFWorm.
Así llega…
El creador se ha tomado algunas molestias para dotar a este espécimen
de cierto polimorfismo en su aspecto a primera vista. El gusano nos
puede llegar adjunto en un correo electrónico con uno de los
siguientes textos que elige al azar para componer el asunto, cuerpo y
nombre de archivo con el que se envía:
Asunto (elegido al azar entre):
«You have one minute to find the peach»
«Find the peach»
«Find»
«Peach»
«Joke»
Con una probabilidad del 50%, el asunto puede ir precedido de la
cadena «Fw:» para simular un reenvío y/o con el signo «!» al final,
mientras que existe una posibilidad de 1 entre 3 de que el texto del
asunto vaya escrito en mayúsculas en su totalidad.
Cuerpo (elegido al azar entre):
«Try finding the peach»
«Try this»
«Interesting search»
«I don’t usually send this things, but…»
[o el texto elegido para el asunto]
Al igual que con el asunto, el gusano puede realizar algunas
modificaciones en el cuerpo del mensaje, como comenzar con la cadena
«> «, convertir todo el texto en mayúsculas o terminar con el signo de
exclamación «!». Por último, con una probabilidad del 80%, puede
incluir alguno de los siguientes emoticones: » :-)», » :)», » =)» o
» :-]».
El nombre del archivo adjunto se elige entre los siguientes:
«find.pdf»
«peach.pdf»
«find the peach.pdf»
«find_the_peach.pdf»
«joke.pdf»
«search.pdf»
Con una probabilidad de 1 entre 3, el nombre del archivo puede
aparecer en mayúsculas o, con esa misma probabilidad, escribir en
mayúscula sólo la primera letra.
Intenta engañarnos simulando un juego…
Cuando el usuario abre el archivo adjunto, para lo que necesita tener
instalado Acrobat, puede visualizar una pantalla que simula un juego
a manera de broma:
«You have un minute to find the peach!»
[¡Tienes un minuto para encontrar el melocotón!]
Debajo de este texto, aparece un gráfico compuesto de cuadrícula de
18×13 con miniaturas de traseros desnudos. Puede ver la imagen en
http://www.hispasec.com/pdfworm.gif
A continuación, se nos invita a hacer doble clic en un icono para ver
la solución del juego, lo que en realidad activará el gusano, escrito
en Visual Basic Script, que viaja adjunto en el archivo PDF.
Por último, encontramos una nota que intentará impedir que el usuario
ejecute el script desde una versión incompleta de Adobe Acrobat, como
es el caso de Acrobat Reader.
«Note: Acrobat full version (not Acrobat Reader) is needed to show de
solution.»
Si se intenta ejecutar desde Acrobat Reader, el gusano no puede llevar
a cabo su acción y aparecen mensajes de error indicando que algunos
métodos o funciones no están disponibles.
El gusano toma el control…
Si el usuario tiene la versión completa de Adobe Acrobat y hace doble
clic en el icono, se ejecuta el gusano desarrollado en Visual Basic
Script. Existen tres versiones que se diferencian principalmente en la
extensión y uso de cifrado según el formato utilizado: 1.0 en VBS
(Visual Basic Script), 1.1 en VBE (VBScript Encoded) y 1.2 en WSF
(Windows Script File), pero todas realizan prácticamente las mismas
funciones.
La primera acción del gusano, para no alertar al usuario y seguir la
simulación del supuesto juego, consiste en crear un archivo .JPG y
mostrar esta imagen, que puede ver en http://www.hispasec.com/pdfworm2.gif
Después, el gusano comienza su rutina de propagación, para lo que
primero debe localizar el archivo PDF en el que viajar adjunto. Esto
se hace necesario porque Adobe Acrobat utiliza un directorio temporal
de Windows para almacenar y ejecutar el archivo adjunto recibido
inicialmente (el .VBS, .VBE o .WSF según versión), y el gusano no
conoce la trayectoria exacta de la ubicación del PDF en el que
viajaba.
Para localizar el archivo, el virus utiliza como referencia la
extensión y el tamaño, buscando archivos PDF entre 168.230 y 168.250
bytes. En el código del gusano encontramos dos rutinas para este
procedimiento, una que utiliza Word en el caso de que el usuario lo
tenga instalado en el sistema y que consigue realizar la búsqueda en
todas las unidades existentes, mientras que la otra rutina, si no se
utilizan las funciones de Word, busca recursivamente en los
directorios a través de código en Visual Basic Script.
Rutina de propagación…
Una vez localizado el archivo PDF en el que viajará adjunto, el gusano
busca las direcciones de correo a las que autoenviarse. El método
utilizado es otra de las innovaciones nunca vista en otro espécimen,
y que se diferencia de la típica rutina basada en objetos de Outlook
que pusiera de moda Melissa. En esta ocasión, se recorren todas las
carpetas de Outlook y todos los contactos de la libreta de direcciones
(buscando hasta las tres primeras direcciones de cada contacto),
reuniendo en una variable dimensionada todas las direcciones de correo
electrónico detectadas.
A continuación, realiza un filtrado de todas las direcciones
recolectadas en la variable dimensionada para evitar duplicados y
también filtra la dirección del usuario ya infectado que recoge de la
configuración SMTP existente en el registro de Windows. Mantiene un
límite máximo de 100 mensajes por infección y evita propagarse dos
veces desde un mismo sistema, para lo que deja la siguiente marca
en el registro de Windows que indicará la infección:
HKLM\Software\OUTLOOK.PDFWorm\»Version 1.x. By Zulu»
El número máximo de las 100 direcciones recolectadas se incluye en el
campo CCO (con copia oculta) de un mensaje de correo electrónico cuyas
características (asunto, cuerpo y archivo adjunto) ya se han descrito
al principio de este análisis. Por último, se asegura de borrar el
mensaje una vez enviado, así como el archivo PDF situado en la carpeta
temporal, para evitar que el usuario los detecte.
Últimas consideraciones…
Cómo suele ser habitual, Zulu no ha incluido ninguna rutina
destructiva. El objetivo del gusano consiste en demostrar la
posibilidad de que los archivos PDF puedan contener virus, troyanos
u otro código dañino.
A partir de ahora, los usuarios deberán de extremar las precauciones
con los archivos PDF no solicitados, mientras que los programas
antivirus tendrán que soportar un nuevo formato para proteger a sus
usuarios. Hasta la fecha ninguna de estas aplicaciones es capaz de
detectar este gusano, ni mucho menos limpiar un equipo infectado.
bernardo@hispasec.com
Deja una respuesta