Malware de San Valentín

 

Durante los días festivos se incrementa la actividad maliciosa debido a que los atacantes suelen ser más exitosos al aprovecharse de los usuarios mediante engaños. El día de San Valentín es uno de los mejores ejemplos de esto; por lo que el equipo de análisis de malware del UNAM-CERT decidió publicar un reporte acerca de una muestra que, aunque no es reciente, ejemplifica muy bien los peligros de caer en fraudes de los creadores de códigos maliciosos.

 

El gusano Yaha, que también es conocido como Lentin, fue particularmente infeccioso para usuarios de Windows durante los años 2002 y 2003. Se propagaba vía correo electrónico con el asunto “Melt the Heart of your Valentine with this beautiful Screen saver” (que puede traducirse como “Derrite el corazón de tu enamorado con este hermoso protector de pantalla”) y contenía el archivo adjunto “Valentin.scr”.

 

 

Al descargar el supuesto protector de pantalla, el usuario veía un ícono similar al que se muestra en la siguiente imagen. Como se puede observar, el archivo hace referencia al sitio web www.love4u.com y al desplegar las propiedades del archivo se puede observar el número de versión, una descripción y los derechos de autor, aparentando ser un protector de pantalla real.

El archivo lo obtuvimos con extensión “exe”, que fue reemplazada por la extensión “.scr” para tener un archivo similar al que se descargaba del correo electrónico. Al ejecutarlo, varios mensajes de colores con frases relacionadas al día de San Valentín se muestran en toda la pantalla: primero una frase, luego una vibración y después la frase cambia. Esta animación continúa hasta que el usuario presiona una tecla o mueve el mouse. Los mensajes que se muestran en pantalla son los siguientes:

  • ·         Ur so cute today #!#!
  • ·         Ur My Best Friend#!#!
  • ·         I like U very much‼!
  • ·         True love never ends

Aunque este efecto puede parecer “lindo”, el malware realiza otras acciones menos agradables mientras el usuario observa la animación. A continuación se describen los detalles obtenidos de una de las variantes de la familia Yaha/Lentin.

Antes de volver a ejecutar la muestra para analizarla de forma dinámica, se realizó un análisis estático para obtener más información.

 

 

Análisis Estático

Primero abrimos el archivo con un editor hexadecimal; como era de esperarse el archivo contiene al inicio el número mágico de los archivos ejecutables para ambientes MS-DOS, 4D 5A, que en ASCII equivalen a “MZ”. Y un poco más abajo, se puede observar el encabezado de los Ejecutables Portables “PE”.

 

Más abajo en el archivo, se puede observar un detalle curioso: el creador de la muestra logró hacer que en el hexadecimal del archivo se mostrara un corazón invertido, como se puede observar en la siguiente imagen:

 

Analizando el  archivo con BinText, obtuvimos las siguientes cadenas, que ya habíamos visto en las propiedades del archivo. Como ya se mencionó, es probable que el creador tratara de hacer pasar su muestra como un protector de pantalla legítimo al añadirle información como “LegalCopyright” y “LegalTrademarks”.

 

El siguiente paso fue analizar si la muestra estaba empaquetada, para lo cual utilizamos la herramienta RDG Packer Detector, que detectó que el gusano estaba comprimido y protegido con UPX.

 

Sin embargo, al tratar de desempaquetarla con UPX, obtuvimos el siguiente error:

 

No fue posible desempaquetar la muestra de forma automática, así que se procedió a realizarlo de forma manual. Así que abrimos la muestra con OllyDbg y la primera instrucción que encontramos es PUSHAD (que manda el contenido de los registro de propósito general al stack en este orden: EAX, ECX, EDX, EBX, EBP, ESP, ESI y EDI), lo cual suele suceder cuando un ejecutable está comprimido con UPX. Nos desplazamos hacia abajo para encontrar la instrucción POPAD correspondiente. Las instrucciones que se encuentran entre el PUSHAD y el POPAD contienen la rutina de descompresión de UPX y después de eso llegaremos a la primer instrucción del ejecutable original, es decir, sin empaquetar.

 

Colocamos un punto de interrupción y dejamos que la ejecución continúe hasta llegar a ese punto. Presionamos F8 dos veces y, una vez terminada la rutina de descompresión, llegamos al punto de entrada original (Original Entry Point, OEP) de Yaha.

 

Para tener el ejecutable sin el empaquetador realizamos un volcado de memoria; sin embargo, los empaquetadores suelen destruir o modificar la tabla de direcciones de las llamadas al sistema, por lo que aún sin UPX, el ejecutable no va a funcionar como debe y la muestra no va a poder ser analizada. Por esta razón, es necesario reconstruir esta tabla, llamada Import Address Table (IAT). Esto se puede hacer utilizando la herramienta Import REConstructor y asignando la dirección del OEP, aunque por lo general la herramienta la encuentra sin ayuda.

 

Damos clic en el botón “IAT Autosearch” y, después de obtener el mensaje de que se encontró una dirección que podría ser de la IAT original, damos clic en el botón “Get Imports”. Por último, damos clic en “Fix Dump”, seleccionamos el archivo que Olly creó después de hacer el volcado de memoria y damos clic en “Open”.

 

ImpRec crea un tercer archivo que ya incluye la IAT reparada.

Abrimos el archivo malwaredump_.exe con la versión gratuita de IDA Pro y al analizar el grafo con las llamadas al sistema se encontraron varias referencias a correos electrónicos, como por ejemplo: el asunto del correo, el mensaje que contenía, la fecha de envío y funciones como recv, send, getservbyname. De acuerdo a la documentación de Microsoft, recv y send se usan para recibir y enviar datos por medio sockets y la función getservbyname recupera la información del servicio que corresponda al valor de name, en este caso es “mail”.

 

También descubrimos el nombre real del archivo, que al parecer es “friendship.scr”.

 

Y referencias a los servicios de correo de Hotmail y Yahoo.

 

Por último, escribimos la URL de la muestra en un navegador para saber si estaba o no activa y, contrario a lo que esperábamos dado que la muestra es vieja, el sitio web está activo aunque no parece tener algo relevante.

Utilizamos el servicio online tcpiputils (tcpiputils.com) para saber si el sitio estaba en alguna lista negra y, de acuerdo con los resultados obtenidos para el momento del análisis, el sitio www.love4u.com no es malicioso.

 

 

Análisis Dinámico

Al ejecutar la muestra con extensión “exe” en lugar de “scr”, asociada a los protectores de pantalla, se obtiene un mensaje de error como el que se muestra en la siguiente imagen.

 

Por medio de la herramienta Process Explorer se descubrió que al ejecutar el gusano también se iniciaba el proceso fwur.exe, cuya descripción también mencionaba que se trataba de un protector de pantalla.

 

Además, al ejecutar un archivo binario, excepto taskmgr.exe, se volvía a observar el mensaje de error diciendo que el protector de pantalla había fallado y debía cerrarse.

 

 

El proceso drwtsn32.exe que se inicia poco después de fwur.exe es, como menciona su descripción, un depurador de errores para Windows XP llamado Dr. Watson, que recopila información del equipo cuando se produce un error con un programa, en este caso el protector de pantalla falso.

 

A partir del reporte generado por la herramienta RegShot, descubrimos que la muestra creaba tres archivos: un ejecutable (.exe), una biblioteca de enlace dinámico (.dll) y un archivo de texto (.txt).

Windows, por medio de Dr Watson, crea archivos “.dmp” después que un programa o el sistema operativo ha colapsado, estos archivos suelen ser el volcado de la memoria RAM en el momento en el que ocurrió el error. Dr Watson también creó un log con información del sistema acerca de lo que causó los problemas con el protector de pantalla.

Como se puede observar, en los archivos creados por el malware se encuentra un archivo .txt, cuyo contenido se muestra en la siguiente imagen:

 

El archivo fwur.txt contiene la variante D de la familia de malware Yaha, el autor de la muestra y probablemente su país de origen.

Después de reiniciar el sistema volvemos a observar el mensaje de error del falso protector de pantalla.

 

Utilizando la herramienta Autoruns podemos observar que las dos llaves de registro que el gusano Yaha creó hacen referencia al archivo fwur.exe que es iniciado por el gusano.

 

Y que se localiza en el directorio C:\RECYCLER como archivo oculto.

 

El nombre de este archivo se genera de forma aleatoria; en otra ejecución su nombre cambió a cpkt.exe.

 

Para saber si se trataba de una copia de la pieza de malware analizada o de un ejecutable único, obtuvimos los hashes tanto de la muestra original como del archivo creado y, como se muestra en la imagen siguiente, ambos archivos son idénticos.

 

Afortunadamente, la mayoría de los antivirus detecta esta familia de malware, pero siempre es mejor tener cuidado, sentido común y pensar dos veces antes de ejecutar los archivos adjuntos para no caer en estafas.

 

Más información sobre el gusano Yaha se puede obtener en estos sitios web:

Are You Ready For a Summer Valentine?

Yaha