The_Fly, un interesante ejemplar

Texto: Javier Guerrero Díaz


Gracias a "Microsoft Outlook" no dejan de aparecer virus, gusanos y troyanos que aprovechan la funcionalidad de este cliente de correo y en este caso también la del sistema de Scripts de Windows y la de algunos clientes de IRC, para viajar por todo el mundo.

Se trata de un I-Worm basado en los lenguajes JavaScript y WindowsScriptingHost, capaz de autoenviarse por e-mail mediante "Outlook" y a través de los clientes de IRC mIRC y PIRCH98. El intruso aparece como fichero de ayuda compilado de Windows (CHM) de nombre THE_FLY.CHM, y su ejecución provoca el siguiente aviso por parte de 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?"

Cuando se pulsa sobre el botón "NO", el gusano muestra el siguiente mensaje:

"The picture couldn't be shown. ActiveX wasn´t allowed, please reload and select to use it".

El texto viene a decirle al usuario que no pudo mostrar la imagen por no tener activado ActiveX, y le invita a volver a ejecutar el fichero pero esta vez permitiendo los controles ActiveX. Por supuesto, esto causará no sólo la aparición de la imagen en cuestión, sino también la activación del gusano y su instalación en el sistema. Para ello, comienza creando un objeto de tipo "FileSystemObject" que le permitirá realizar operaciones sobre ficheros, mediante la siguiente línea:

Bible = new ActiveXObject("Scripting.FileSystemObject");

The_Fly es capaz de transmitirse a sí mismo por e-mail y por el IRC

Hay que decir que no hay que sorprenderse por el contenido de las líneas que conforman el código de este gusano, ya que se hace uso de un gran número de palabras de tipo religioso para declarar las diferentes variables de que está compuesto.

Tras esto, se copia al directorio Windows con el nombre THE_FLY.CHM y a Windows\System con el nombre DXGFXB3D.DLL, si bien este último fichero no es en realidad una librería como su extensión indica, sino el mismo archivo CHM renombrado. EL código de estas operaciones es el siguiente:

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"));

Finalmente, crea un tercer archivo en Windows\System llamado MSJSVM.JS al que añade una serie de instrucciones JavaScript que posteriormente utilizará para llevar a cabo sus acciones. El código sería:

Jesus = Bible.CreateTextFile(Bible.BuildPath(Bible.GetSpecialFolder(1),"MSJSVM.JS"),true);

La última operación de instalación consiste en la creación, en el Registro de Windows, de una nueva entrada en la rama "HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run", de tipo cadena, nombre "JavaScript VM" y contenido "C:\WINDOWS\SYSTEM\MSJSVM.JS". Las instrucciones son:

Islam = new ActiveXObject("WScript.Shell");
Islam.RegWrite("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\JavaScript VM",Bible.BuildPath(Bible.GetSpecialFolder(1),"MSJSVM.JS"));

Con la excusa del nuevo año apareció toda una legión de troyanos y virus

Esto provocará que el gusano se ejecute cada vez que el sistema operativo arranque, asegurando la activación de "The_Fly" en cada sesión de Windows.

Autoenvío mediante Outlook

El intruso crea un objeto de tipo "Outlook.Application" que le permite acceder a la libreta de direcciones de este cliente de correo, y recorrerla mediante un bucle, creando un nuevo e-mail al que adjuntará el fichero THE_FLY.CHM, rellenando el campo BCC con los alias obtenidos de la libreta de direcciones, el campo asunto con la cadena "Funny thing" y el cuerpo con la frase "If you ride a motorcycle, close your mouth". El código empleado sería como este:

Hinduism = new ActiveXObject("Outlook.Application");

for (Vushnu = 1; Vushnu <= Judaism.AddressLists.Count; Vushnu++) {}
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"));

El empleo del campo BCC (Blind Carbon Copy) hace que cuando se reciba el mensaje, no sean visibles el resto de recipientes a los que ha sido enviado. Así, el usuario no sabe que ese mismo correo lo han recibido otras personas además de él.

Envío mediante IRC

"The_Fly" también es capaz de viajar a través del IRC, y lo hace enviándose automáticamente a todos los usuarios que entren en el canal de conversación donde se encuentre el usuario contaminado. Para ello, trata de localizar en la máquina a dos de los clientes más utilizados, el mIRC y el PIRCH, y una vez encontrado el directorio donde se halla el programa en cuestión, crea un fichero de nombre SCRIPT.INI para el mIRC, o EVENTS.INI para el PIRCH, sobreescribiendo el original en caso de existir; aquí se puede apreciar parte del código que lleva a cabo esta operación:

if (Prayer.FileExists(Prayer.BuildPath(Jude,"MIRC32.EXE")) == true) {
Exodus = Prayer.CreateTextFile(Prayer.BuildPath(Jude,"SCRIPT.INI"),true);
Jesus.WriteLine("Exodus.Close();

Payload visual

Además de la imagen ya citada, durante el minuto 30 de cualquier hora, el gusano visualiza en pantalla una ventana conteniendo el siguiente mensaje a modo de rutina de programación:

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

Los ficheros de ayuda de Windows también pueden contener código maligno

Como puede apreciarse, el autor del gusano es Zulu, que ya cuenta en su haber con otros ingenios de este tipo basados en lenguaje Script, habiendo sido alguno de ellos comentado en Virusmanía en otras ocasiones.

Cómo eliminar al intruso

Al igual que en la mayoría de gusanos de este tipo, resulta bastante fácil eliminar a "The_Fly" si ha infectado. Para ello, simplemente hay que localizar y borrar del Registro la entrada que permite la ejecución del intruso, y es la siguiente:

Clave: HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run

Nombre: JavaScript VM

Contenido: "C:\WINDOWS\SYSTEM\MSJSVM.JS"

No hay que olvidar también borrar los tres archivos creados por el gusano, que son THE_FLY.CHM, DXGFXB3D.DLL y MSJSVM.JS, y por último para evitar riesgos, conviene eliminar también el e-mail que trajo a "The_Fly" a la máquina en cuestión.