Conoce a tu Enemigo:
Gusanos en Guerra

El no tan amistoso mundo del Ciberespacio

Traducción del texto: Know your enemy (Worms at War), disponible en
Honeynet Project
http://project.honeynet.org
Última modificación: 9 Noviembre del 2000

Licencia de la traducción

Se da permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia Libre de Documentación GNU, versión 1.2 o cualquier versión posterior publicada por la Free Software Foundation (Fundación para el Software Libre); este documento no tiene secciones invariantes, textos de portada ni de contraportada. Se incluye una copia de dicha licencia en la sección titulada "Licencia de Documentación Libre GNU"

Este texto nació de pura curiosidad. Nuestra Red Trampa (N. del T. del inglés Honeynet) fue machacada a base de escaneos al puerto TCP 139 y al puerto UDP 137. La red era escaneada entre 5-10 veces en un día en esos puertos, algo pasaba. El propósito era aprender qué buscaban estos escaneos. ¿Qué había en Internet que causara toda esta actividad? Basados en los puertos, asumimos que los escaneos buscaban vulnerabilidades basadas en Windows. El plan era montar un equipo trampa (N. del T. del inglés honeypot) con Win98, sentarse y esperar. No tuvimos que esperar mucho tiempo. Esto es una continuación de las series Conoce a tu Enemigo.
 

El Montaje
Durante un periodo de un mes (20 Sep - 20 Oct) confirmamos 524 escaneos sólo de NetBIOS en la red de nuestra red trampa. Estos escaneos consisten en sondeos UDP al puerto 137 (Servicio de Nombres NetBIOS), habitualmente seguidos por sondeos TCP al puerto 139 (Servicio de Sesiones NetBIOS). Esto es un gran número de escaneos sondeando por un sistema específico, algo pasaba, así que decidimos saber qué era. La red de la red trampa no se anuncia en Internet. Sólo ponemos los sistemas en nuestra red, nos sentamos y esperamos. Esto significa que la mayoría de escaneos recibidos son escaneos aleatorios que probablemente sondean parte de Internet. Estas son las mismas amenazas que ofrece su sistema. Como estos escaneos sondeaban sistemas basados en Windows, probablemente se centren en propietarios comunes con una conexión en casa por DSL o por Cable. No estamos hablando de espionaje corporativo o pintadas (defacing) de Web, estamos hablando de que el objetivo son simples propietarios. Fuimos curiosos, ¿Quién estaba realizando estos escaneos?,¿Cuál era su propósito? y ¿Por qué tan numerosos escaneos? ¿Era un trabajo coordinado? ¿Eran gusanos? Muchas preguntas. Así que decidimos averiguarlo y añadimos un equipo trampa con Windows98 a nuestra colección. Hicimos una instalación por defecto de Windows98 y compartimos el disco C:. Un equipo trampa con Windows98 no suena atractivo, sin embargo se pueden conseguir diversas cosas con un sistema como este.

  1. Windows98 representa un largo número de sistemas conectados a Internet, y este número está creciendo rápidamente. Típicamente, estos son sistemas con una seguridad muy débil, ya que los propietarios son los únicos que usan estos sistemas. Lo que la gente no comprende es el riesgo que corren estos sistemas, ya que muchos de estos tienen conexiones dedicadas hacia Internet.
  2. Este era nuestro primer equipo trampa basado en Microsoft. El plan era empezar de forma simple y aprender desde ahí.
El 31 de Octubre, el sistema fue instalado, se habilitó la compartición y se conectó a Internet. Entonces nos sentamos y esperamos, la espera no fue larga.

El Primer Gusano
Menos de 24 horas después recibimos nuestro primer visitante. El sistema 216.191.92.10 (host-010.hsf.on.ca) escaneó la red en busca de sistemas Windows. Nos encontró y empezó a interrogarlo. Primero empezó por averiguar el nombre del sistema y determinar si se había habilitado la compartición, entonces nos sondeó en busca de binarios específicos en el sistema. Su finalidad era determinar si un gusano en concreto estaba instalado, y si no, entonces lo instalaría. En este caso, el gusano en concreto no estaba instalado. El gusano es conocido como el "Gusano Win32.Bymer ". El propósito de este gusano es sacar partido de sus ciclos de CPU para ayudar a un individuo en el concurso distributed.net. Distributed.net es un grupo que usa procesadores inactivos de computadores distribuidos para varios retos (como romper el Reto RC5-64). La gente es recompensada con premios si consiguen superar el reto. Cuantas más computadoras y ciclos de CPU tenga bajo su control, mayores posibilidades de ganar. En nuestro caso, alguien nos ha "sacado voluntarios" para el proyecto instalando el gusano en nuestro sistema.

Un individuo (en este caso, bymer@inec.kiev.ua), creó un gusano auto- replicante que encontraría sistemas Windows vulnerables e instalaría el cliente de distributed.net en sistemas confiados. Una vez instalado y ejecutado, el gusano utiliza sus ciclos de CPU en un intento de ayudar al autor con el concurso. Mientras tanto el gusano empieza a sondear en busca de nuevos sistemas vulnerables de los que apropiarse. La finalidad es tener acceso a tantas computadoras y ciclos de CPU como sea posible. Este proceso aumenta exponencialmente cuantos más sistemas son comprometidos. Echémosle un vistazo al ataque usando los paquetes capturados del tráfico de la red (en este caso, usamos el sniffer del IDS snort). Para un análisis más avanzado del protocolo NetBIOS, utilice un analizador de protocolos, como la utilidad gratuita Ethereal. A lo largo de la traza del sniffer que podemos ver más abajo, el sistema 172.16.1.105 es la dirección IP del equipo trampa.

El gusano empieza chequeando para ver si el fichero dnetc.ini está en el sistema. Este es el fichero de configuración estándar para el cliente de ditributed.net. El fichero de configuración le dice al servidor principal quién pertenecen todos los ciclos de CPU del cliente. Esta es además la persona que probablemente creó el gusano. Aquí vemos la traza de paquetes donde el sistema remoto (nombre NetBIOS: GHUNT, cuenta GHUNT, dominio HSFOPROV) copia el fichero de configuración en nuestro equipo trampa.

11/01-15:29:18.580895 216.191.92.10:2900 -> 172.16.1.105:139
TCP TTL:112 TOS:0x0 ID:50235  DF
*****PA* Seq: 0x12930C6   Ack: 0x66B7068   Win: 0x2185
00 00 00 5B FF 53 4D 42 2D 00 00 00 00 00 01 00  ...[.SMB-.......
00 00 00 00 00 00 00 00 00 00 00 00 00 C8 57 1C  ..............W.
00 00 82 D1 0F FF 00 00 00 07 00 91 00 16 00 20  ...............
00 DC 1C 00 3A 10 00 00 00 00 00 00 00 00 00 00  ....:...........
00 00 00 1A 00 5C 57 49 4E 44 4F 57 53 5C 53 59  .....\WINDOWS\SY
53 54 45 4D 5C 64 6E 65 74 63 2E 69 6E 69 00     STEM\dnetc.ini.

Más abajo podemos ver la transferencia del archivo de configuración dnetc.ini. Note quién es el punto de contacto para esto, bymer@inec.kiev.ua. Este es el individuo que recibe el reconocimiento por los ciclos de CPU, y muy probablemente el autor del gusano que nos ataca.

11/01-15:29:18.729337 216.191.92.10:2900 -> 172.16.1.105:139
TCP TTL:112 TOS:0x0 ID:50747  DF
*****PA* Seq: 0x1293125   Ack: 0x66B70AD   Win: 0x2140
00 00 01 11 FF 53 4D 42 0B 00 00 00 00 00 01 00  .....SMB........
00 00 00 00 00 00 00 00 00 00 00 00 00 C8 57 1C  ..............W.
00 00 02 D2 05 00 00 E1 00 00 00 00 00 E1 00 E4  ................
00 01 E1 00 5B 6D 69 73 63 5D 20 0D 0A 70 72 6F  ....[misc] ..pro
6A 65 63 74 2D 70 72 69 6F 72 69 74 79 3D 4F 47  ject-priority=OG
52 2C 52 43 35 2C 43 53 43 2C 44 45 53 0D 0A 0D  R,RC5,CSC,DES...
0A 5B 70 61 72 61 6D 65 74 65 72 73 5D 0D 0A 69  .[parameters]..i
64 3D 62 79 6D 65 72 40 69 6E 65 63 2E 6B 69 65  d=bymer@inec.kie
76 2E 75 61 0D 0A 0D 0A 5B 72 63 35 5D 0D 0A 66  v.ua....[rc5]..f
65 74 63 68 2D 77 6F 72 6B 75 6E 69 74 2D 74 68  etch-workunit-th
72 65 73 68 6F 6C 64 3D 36 34 0D 0A 72 61 6E 64  reshold=64..rand
6F 6D 70 72 65 66 69 78 3D 32 31 37 0D 0A 0D 0A  omprefix=217....
5B 6F 67 72 5D 0D 0A 66 65 74 63 68 2D 77 6F 72  [ogr]..fetch-wor
6B 75 6E 69 74 2D 74 68 72 65 73 68 6F 6C 64 3D  kunit-threshold=
31 36 0D 0A 0D 0A 5B 74 72 69 67 67 65 72 73 5D  16....[triggers]
0D 0A 72 65 73 74 61 72 74 2D 6F 6E 2D 63 6F 6E  ..restart-on-con
66 69 67 2D 66 69 6C 65 2D 63 68 61 6E 67 65 3D  fig-file-change=
79 65 73 0D 0A                                   yes..

El siguiente fichero en ser transferido es el cliente de distributed.net, dnetc.exe. Es un ejecutable válido, no es de naturaleza maliciosa. Confirmamos esto tomando una firma MD5 del cliente encontrado en nuestro equipo trampa. Entonces descargamos el cliente desde distributed.net y calculamos el hash MD5 del cliente dnetc.exe. Los hash MD5 eran idénticos (d0fd1f93913af70178bff1a1953f5f7d), indicando que este código no es el gusano. Este es el binario que usa sus ciclos de CPU como parte del reto de distributed.net. Sin embargo, el gusano quiere usar este binario sin su permiso ni conocimiento, todo para el beneficio de su autor.

11/01-15:34:09.044822 216.191.92.10:2900 -> 172.16.1.105:139
TCP TTL:112 TOS:0x0 ID:33084  DF
*****PA* Seq: 0x129341A   Ack: 0x66B71C0   Win: 0x202D
00 00 00 5B FF 53 4D 42 2D 00 00 00 00 00 01 00  ...[.SMB-.......
00 00 00 00 00 00 00 00 00 00 00 00 00 C8 57 1C  ..............W.
00 00 04 26 0F FF 00 00 00 07 00 91 00 16 00 20  ...&...........
00 FE 1D 00 3A 10 00 00 00 00 00 00 00 00 00 00  ....:...........
00 00 00 1A 00 5C 57 49 4E 44 4F 57 53 5C 53 59  .....\WINDOWS\SY
53 54 45 4D 5C 64 6E 65 74 63 2E 65 78 65 00     STEM\dnetc.exe.

Después vemos el gusano siendo transferido, msi216.exe. Este es el gusano auto-replicante que de forma aleatoria sondea en busca de sistemas vulnerables y se copia él mismo. Este es el gusano que probablemente está causando el gran número de escaneos que estamos recibiendo.

11/01-15:37:23.083643 216.191.92.10:2900 -> 172.16.1.105:139
TCP TTL:112 TOS:0x0 ID:40765  DF
*****PA* Seq: 0x12C146A   Ack: 0x66C248B   Win: 0x20B2
00 00 00 5C FF 53 4D 42 2D 00 00 00 00 00 01 00  ...\.SMB-.......
00 00 00 00 00 00 00 00 00 00 00 00 00 C8 57 1C  ..............W.
00 00 02 F3 0F FF 00 00 00 07 00 91 00 16 00 20  ...............
00 C0 1E 00 3A 10 00 00 00 00 00 00 00 00 00 00  ....:...........
00 00 00 1B 00 5C 57 49 4E 44 4F 57 53 5C 53 59  .....\WINDOWS\SY
53 54 45 4D 5C 6D 73 69 32 31 36 2E 65 78 65 00  STEM\msi216.exe.

Por último, el gusano primero modifica y después sube un nuevo fichero win.ini. El gusano lo hace para que así el sistema ejecute el gusano al reiniciar. Recuerde, puede ser difícil ejecutar remotamente un fichero en sistemas Win98, así que este es el método del gusano para ser ejecutado. Lo hace añadiéndose al fichero de configuración de arranque c:\windows\win.ini y así ejecutarse durante el proceso de arranque. El nuevo win.ini es subido hacia nuestro sistema comprometido.

11/01-15:38:55.352810 216.191.92.10:2900 -> 172.16.1.105:139
TCP TTL:112 TOS:0x0 ID:1342  DF
******A* Seq: 0x12C6F55   Ack: 0x66C95FC   Win: 0x1FBF
00 00 0B 68 FF 53 4D 42 1D 00 00 00 00 00 01 00  ...h.SMB........
00 00 00 00 00 00 00 00 00 00 00 00 00 C8 57 1C  ..............W.
00 00 02 F9 0C 0D 00 61 19 00 00 00 00 00 00 00  .......a........
00 00 00 00 00 00 00 00 00 2C 0B 3C 00 2D 0B 00  .........,.<.-..
5B 77 69 6E 64 6F 77 73 5D 0D 0A 6C 6F 61 64 3D  [windows]..load=
63 3A 5C 77 69 6E 64 6F 77 73 5C 73 79 73 74 65  c:\windows\syste
6D 5C 6D 73 69 32 31 36 2E 65 78 65 0D 0A 72 75  m\msi216.exe..ru
6E 3D 0D 0A 4E 75 6C 6C 50 6F 72 74 3D 4E 6F 6E  n=..NullPort=Non
65 0D 0A 0D 0A 5B 44 65 73 6B 74 6F 70 5D 0D 0A  e....[Desktop]..
57 61 6C 6C 70 61 70 65 72 3D 28 4E 6F 6E 65 29  Wallpaper=(None)
0D 0A 54 69 6C 65 57 61 6C 6C 70 61 70 65 72 3D  ..TileWallpaper=
31 0D 0A 57 61 6C 6C 70 61 70 65 72 53 74 79 6C  1..WallpaperStyl
65 3D 30 0D 0A 0D 0A 5B 69 6E 74 6C 5D 0D 0A 69  e=0....[intl]..i

He aquí. El gusano ya está completo y el equipo trampa ha sido infectado. Todo lo que necesita pasar ahora es que el sistema se reinicie y el gusano surtirá efecto. Una vez que toma efecto, diversas cosas ocurren.

  1. El cliente de distributed.net empieza, usando los ciclos de CPU para el reto.
  2. El gusano empieza buscando otros sistemas vulnerables para reproducirse él mismo. Esto es lo que está causando todos los escaneos UDP 137 y TCP 139.
  3. El gusano añadirá las siguientes llaves al registro.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\Bymer.scanner HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\Bymer.scanner

Uno puede pensar que teniendo que esperar para que el sistema se reinicie no es una forma fiable de ejecutarse. Téngalo presente, los objetivos son sistemas Windows de sobremesa. ¿Cuán a menudo reinicia su Windows de sobremesa?

El Segundo Gusano
Es una semana ocupada, y nuestro segundo gusano vuelve el siguiente día. Este gusano es una variación parecida al primer gusano, su fin es conseguir el control de sus ciclos de CPU para ayudar a un individuo en el reto de distributed.net. La única diferencia con este gusano es que todos los ficheros están combinados en un único ejecutable, wininit.exe. Las instalaciones por defecto de Windows98 ya tienen un ejecutable c:\windows\wininit.exe instalado en el sistema. Este gusano llama de la misma forma en un intento de ocultarse, pero se instala en c:\windows\system\wininit.exe. Si alguien se tropieza con el binario, el autor espera que lo considere como parte del sistema operativo y no un gusano. Esta es una táctica bastante común en la comunidad blackhat. Una vez ejecutado, el gusano actúa igual que lo hace el anterior gusano. Más abajo puede ver nuestro equipo trampa siendo infectado por el segundo gusano, wininit.exe. El nombre NetBIOS del sistema remoto es WINDOW, la cuenta es WINDOW y el dominio LVCW.

11/02-21:41:17.287743 216.234.204.69:2021 -> 172.16.1.105:139
TCP TTL:113 TOS:0x0 ID:38619  DF
*****PA* Seq: 0x21CC0AC   Ack: 0xCE6736B   Win: 0x2185
00 00 00 5D FF 53 4D 42 2D 00 00 00 00 00 01 00  ...].SMB-.......
00 00 00 00 00 00 00 00 00 00 00 00 00 D0 4F 1F  ..............O.
00 00 84 EE 0F FF 00 00 00 07 00 91 00 16 00 20  ...............
00 20 BB 01 3A 10 00 00 00 00 00 00 00 00 00 00  . ..:...........
00 00 00 1C 00 5C 57 49 4E 44 4F 57 53 5C 53 59  .....\WINDOWS\SY
53 54 45 4D 5C 77 69 6E 69 6E 69 74 2E 65 78 65  STEM\wininit.exe
00

Una vez que el gusano se ha instalado, el sistema remoto modifica el fichero win.ini para asegurarse que se ejecuta al reiniciar. Note cómo este ejecutable añade al ya modificado c:\windows\win.ini, el cual tiene una entrada para el anterior gusano.

11/02-21:41:48.538643 216.234.204.69:2021 -> 172.16.1.105:139
TCP TTL:113 TOS:0x0 ID:21212  DF
******A* Seq: 0x22021C9   Ack: 0xCE68EC7   Win: 0x1FA3
00 00 0B 68 FF 53 4D 42 1D 00 00 00 00 00 01 00  ...h.SMB........
00 00 00 00 00 00 00 00 00 00 00 00 00 D0 4F 1F  ..............O.
00 00 84 F4 0C 0F 00 7F 19 00 00 00 00 00 00 00  ................
00 00 00 00 00 00 00 00 00 2C 0B 3C 00 2D 0B 00  .........,.<.-..
5B 77 69 6E 64 6F 77 73 5D 0D 0A 6C 6F 61 64 3D  [windows]..load=
63 3A 5C 77 69 6E 64 6F 77 73 5C 73 79 73 74 65  c:\windows\syste
6D 5C 77 69 6E 69 6E 69 74 2E 65 78 65 20 63 3A  m\wininit.exe c:
5C 77 69 6E 64 6F 77 73 5C 73 79 73 74 65 6D 5C  \windows\system\
6D 73 69 32 31 36 2E 65 78 65 0D 0A 72 75 6E 3D  msi216.exe..run=
0D 0A 4E 75 6C 6C 50 6F 72 74 3D 4E 6F 6E 65 0D  ..NullPort=None.
0A 0D 0A 5B 44 65 73 6B 74 6F 70 5D 0D 0A 57 61  ...[Desktop]..Wa

Durante el reinicio, este gusano, al igual que el anterior, se ejecutará y empezará los mismos procesos. Lo que hay que tener en cuenta es que los sistemas remotos que nos atacan no son backhats maléficos conquistando el mundo. Probablemente los sistemas remotos son elementos inocentes que fueron comprometidos. Los propietarios no tienen ni idea de que hay un gusano ejecutándose en su sistema, ni idea de que sus computadoras están siendo usadas para escanear y explotar otros sistemas vulnerables en Internet. Ellos usan estos sistemas como puntos de lanzamiento para conseguir el control de otros sistemas, como nuestro equipo trampa.

El Día Después
El siguiente día, otras variantes del mismo gusano sondearon nuestro equipo trampa. Primero determinan si la compartición está habilitada, y si lo está, comprueba si la misma versión del gusano ya está instalada. En ambos casos para este día, el gusano ya estaba instalado, así que los sistemas remotos nos dejaron en paz. El primer sistema remoto comprobó si el gusano wininit.exe estaba instalado. Más tarde en ese día, otro sistema comprobó si el gusano msi216.exe estaba instalado.

11/03-04:42:11.596636 210.111.145.180:2341 -> 172.16.1.105:139
TCP TTL:115 TOS:0x0 ID:12574  DF
*****PA* Seq: 0x2345C04   Ack: 0xE65CC94   Win: 0x2171
00 00 00 5D FF 53 4D 42 2D 00 00 00 00 00 01 00  ...].SMB-.......
00 00 00 00 00 00 00 00 00 00 00 00 00 D8 B5 1D  ................
00 00 81 3E 0F FF 00 00 00 07 00 91 00 16 00 20  ...>...........
00 3A 26 02 3A 10 00 00 00 00 00 00 00 00 00 00  .:&.:...........
00 00 00 1C 00 5C 57 49 4E 44 4F 57 53 5C 53 59  .....\WINDOWS\SY
53 54 45 4D 5C 77 69 6E 69 6E 69 74 2E 65 78 65  STEM\wininit.exe
00                                               .

Sistema remoto, nombre NetBIOS: MATTHEW, cuenta MYPLE, dominio MYPLE

11/03-16:39:38.723572 216.23.6.24:3946 -> 172.16.1.105:139
TCP TTL:113 TOS:0x0 ID:3309  DF
*****PA* Seq: 0x1A7105F   Ack: 0x10F8C0F2   Win: 0x2159
00 00 00 5B FF 53 4D 42 2D 00 00 00 00 00 01 00  ...[.SMB-.......
00 00 00 00 00 00 00 00 00 00 00 00 00 E0 AD 20  ...............
00 00 81 D9 0F FF 00 00 00 07 00 91 00 16 00 20  ...............
00 14 CE 02 3A 10 00 00 00 00 00 00 00 00 00 00  ....:...........
00 00 00 1A 00 5C 57 49 4E 44 4F 57 53 5C 53 59  .....\WINDOWS\SY
53 54 45 4D 5C 64 6E 65 74 63 2E 69 6E 69 00     STEM\dnetc.ini.

La diversión empieza al día siguiente, el 4 de Noviembre. Primero, empieza con el sistema 207.224.254.206 (dialupF206.sttl.uswest.net, nombre NetBIOS: SOCCERDOG, cuenta SCOTT, dominio RONS) comprobando para ver si dnetc.ini estaba instalado en nuestra red trampa. Determinó que el binario ya estaba instalado y dejó en paz al equipo trampa. Esto hace un total de 5 sistemas sondeando nuestro equipo trampa por parte de este gusano en 3 días. Más tarde en este día nuestro equipo trampa inicia una conexión http al sistema bymer.boom.ru. Esta conexión fue probablemente iniciada por el gusano intentando actualizar el servidor central. El sistema bymer.boom.ru fue probablemente en un tiempo el control central del gusano. Sin embargo, el nombre bymer.boom.ru ahora se resuelve en un dirección IP del RFC 1918, 192.168.0.1. Probablemente un intento del propietario del dominio para detener al gusano. Además, para que el gusano ejecutara esto, el sistema necesitaba haberse reiniciado en algún momento. Esto es una cosa que no entendemos, si el sistema fue reiniciado, y si así fue, cómo. Una de las desventajas de un equipo trampa basado en Windows es la limitada disponibilidad de información, debido a la no existencia de registros. Más abajo vemos al equipo trampa iniciando una conexión a bymer.boom.ru, muy probablemente el servidor central del gusano.

11/04-23:56:38.855453 172.16.1.105:1027 -> 192.168.0.1:80
TCP TTL:127 TOS:0x0 ID:65300  DF
**S***** Seq: 0x17AF8D9A   Ack: 0x0   Win: 0x2000
TCP Options => MSS: 1460 NOP NOP SackOK

Inmediatamente después de esto, el cliente dnetc.exe se conecta al servidor distributed.net y empieza una transferencia de datos. Esta es una parte del cliente de distributed.net y no parte del proceso de reproducción del gusano. Sin embargo, este es la finalidad del gusano, quemar ciclos de CPU y subir los resultados a distributed.net.

11/04-23:56:40.286898 172.16.1.105:1029 -> 204.152.186.139:2064
TCP TTL:127 TOS:0x0 ID:1301  DF
*****PA* Seq: 0x17AF8F47   Ack: 0xBE445ED3   Win: 0x2238
AE 23 E2 77 F6 42 91 51 3E 61 3F EE 86 7F EE 8B  .#.w.B.Q>a?.....
CE 9E 9D 28 16 BD 4B C5 5E DB FA 62 A6 FA A8 FF  ...(..K.^..b....
EF 19 57 9C 37 38 06 39 7F 56 B4 D6 C7 75 63 73  ..W.78.9.V...ucs
0F 94 12 10 57 B2 C0 AD 9F D1 6F 4A E7 F0 1D E7  ....W.....oJ....
30 0E CC 84 78 2D 7B 21 C0 4C 29 BE 08 6A D8 5B  0...x-{!.L)..j.[
50 89 86 F8 98 A8 35 95 E0 C6 E4 32 28 E5 92 CF  P.....5....2(...
71 04 41 6C B9 22 F0 09 01 41 9E A6 49 60 4D 43  q.Al."...A..I`MC
91 7E FB E0 D9 9D AA 7D 21 BC 59 1A 69 DB 07 B7  .~.....}!.Y.i...
B1 F9 B6 54 FA 18 64 F1 42 37 13 8E 8A 55 C2 2B  ...T..d.B7...U.+
CF 32 45 19 1A 93 1F 65 62 B1 CE 02 AA D0 7C 9E  .2E....eb.....|.
C5 46 78 29 F0 13 97 04                          .Fx)....

Una vez completada la carga, el gusano mete la quinta marcha y empieza a buscar en Internet por otros sistemas vulnerables para reproducirse y extenderse. De forma aleatoria elige direcciones IP y empieza a escanear estos sistemas en los puertos 137 y 139. El gusano identifica los sistemas vulnerables (parecidos a nuestro equipo trampa) y se reproduce en el sistema remoto. Sistemas comprometidos como estos son una de las razones para la gran cantidad de escaneos que hemos visto. Téngalo en cuenta, el entorno red trampa está diseñado para bloquear cualquier tráfico malicioso iniciado por un equipo trampa comprometido, así que estos escaneos nunca alcanzaron Internet. La red trampa es algo como un 'motel de carretera'. Deja entrar a los chicos malos, pero no los deja salir. Más abajo puede ver al gusano intentando encontrar otros sistemas vulnerables.

11/04-23:58:05.946299 172.16.1.105:137 -> 39.202.248.187:137
UDP TTL:127 TOS:0x0 ID:30485
Len: 58
0E 94 00 10 00 01 00 00 00 00 00 00 20 43 4B 41  ............ CKA
41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
41 41 41 41 41 41 41 41 41 41 41 41 41 00 00 21  AAAAAAAAAAAAA..!
00 01

Una cosa que encontré interesante fue que el fichero de configuración c:\windows\win.ini había sido modificado una vez más, muy probablemente por el gusano wininit.exe. El gusano eliminó la entrada del gusano msi216.exe del fichero de configuración de arranque, dejándose el control a él mismo. Además, el fichero dnetc.ini había sido modificado una vez más, cambiando la dirección de correo de bymer@inec.kiev.ua a la nueva dirección de correo bymer@ukrpost.net. Esto indica que el segundo gusano intentaba cargarse al primero eliminándolo de los ficheros de configuración. Esto muestra la naturaleza extremadamente agresiva de los gusanos, donde un gusano compite con otro gusano por bienes inmuebles, o en nuestro caso por ciclos de CPU.

Si quiere revisar los datos usted mismo, puede descargar el fichero win98.tar.gz. El fichero gzip contiene las capturas de snort durante cuatro días y todos los binarios de los gusanos del equipo trampa, incluyendo wininit.exe y msi216.exe. Tenga en cuenta que estos gusanos se encontraron 'en vivo', así que está trabajando con material malicioso. Sea extremamente cuidadoso al trabajar con ellos. Para aquellos que prefieran no liarse con los binarios de los gusanos, pueden descargar win98-wo.tar.gz. El fichero gzip contiene todo lo mismo que win98.tar.gz, excepto por los dos binarios del gusano wininit.exe and msi216.exe.

Conclusión
Hemos tratado cómo en un período de 4 días un sistema Windows98 fue comprometido por diversos gusanos. Estos gusanos son sondeos automáticos que identifican y explotan sistemas vulnerables, reproduciéndose exponencialmente. Sistemas como estos que probablemente escanean Internet en busca de vulnerabilidades NetBIOS. Esto no implica que cada escaneo NetBIOS que reciba sea un gusano automatizado. Ni que todos los gusanos están creados para distributed.net. Considere el hecho de que este gusano fuera modificado para buscar información confidencial en su sistema. El gusano podría fácilmente buscar documentos con las palabras finanzas, confidencial, secreto o NSS (Núm. Seg. Social). Una vez encontrados estos documentos, la información podría fácilmente ser enviada a una cuenta de correo anónima, canal IRC, o un servidor Web comprometido. Los ataques están limitados sólo por la imaginación de la comunidad blackhat.

Agradecimientos
En adición al Honeynet Project, este texto es el resultado del duro trabajo y gran inversión de dos personas. Un enorme agradecimiento para H Carvey y Ryan Russell. Ellos fueron los que más contribuyeron a la decodificación técnica de los eventos que ocurrieron aquí. Para información adicional sobre estas vulnerabilidades, tanto distributed.net como CERT han publicado advertencias.


The Honeynet Project