3/9/07

Nanspy Worm en mi laptop

Este post, es lo que llamaria un Estudio de Caso, sobre la detección y eliminación de un virus tipo Worm (gusano), y de paso un ejemplo práctico del uso de Wireshark en una situación de la vida real.

Resulta que la semana pasada la laptop de mi casa fue infectada por un virus, la conexión a Internet, empezo a dar problemas de manera intermitente, por lo que como acostumbro, decidi ejecutar Wireshark, para tratar de determinar el problema, al hacerlo, pude observar que la pc establecia conexión a algunos sitios en internet, y además estaba tratando de establecer conexión con todo el rango de Ips de la subnet de mi PC (es una red clase B, por lo que facilmente podría pasar varias horas escaneando las 65,534 posibles host y efectivamente dejando mi conexión a Internet practicamente inutilizable).

Inmediatamente desconecte el cable de red, y como no tenia el tiempo suficiente para lidiar con el problema, salio al rescate una distribución de linux en livecd, si eres lector frecuente de este blog, podrás imaginar, que lo que utilice fue Backtrack 2.0 por supuesto, no podia ser otro, con este estuve navegando en internet (que en realidad resulta ser la función principal de esta laptop), hasta que el sabado finalmente tuve tiempo para lidiar con el problema.

Pero antes de describir como logre solucionar el problema, quisiera comentar, porque un virus tuvo chances de infectar mi pc, la respuesta es muy sencilla, recientemente tuve que formatear la PC, y por ser algo viejita (Pentium III 650 MHZ, con 384 MB de RAM), decidi instalarle Windows 2000, con Service Pack 3 (que era el que tenia disponible) y pues aun no había tenido tiempo de instalar un antivirus, ni patchs de seguridad que fueran pertinentes, asi que utilizar un sistema operativo que para estas alturas ya esta casi obsoleto, y sin todos los parches de seguridad apropiados, es una invitación al desastre.

Valga decir, que estoy conciente de los riesgos y no tenia información trascendental en la PC, asi que la posibilidad de un virus era un riesgo que podía correr (aunque honestamente no estaba en mis planes que un virus infectara la máquina).

En cuanto a la desinfección, la estrategia fue sencilla, encendi la máquina sin conexión a la red y active el wireshark, luego conecte el cable y observe el tráfico que estaba capturando, nuevamente pude ver que la PC se estaba conectando a algunos sitios de red, bajo algunos archivos y luego empezo a escanear una subnet clase B buscando otros hosts para infectar (el tipico comportamiento de un worm), uno de los archivos que la pc bajo se llamaba bbot.exe (suena intimidamente no?), así que con esta información volvi a encender la máquina esta vez ejecutando Windows ME (si, esta laptop tiene los dos sistemas operativos, por razones que no vale la pena discutir en este post), ejecute internet explorer e hice una busqueda en Google, en poco tiempo, descubri que este es un archivo asociado al virus Nanspy, y esto me llevo a una página en Trend Micro donde se explicaba que hacía el virus y lo más importante como desinfectarlo.

Al infectar una PC, este virus instala un archivo en la carpeta del systema este archivo se llama mmsvc32.exe, también crea una llave en el registro, para asegurar su ejecución cada vez que se reinicie el sistema. Para eliminar el virus, es necesario detener el proceso MMSVC32.EXE, y también desinstalarlo del registro, el proceso se puede detener ejecutando el taskmgr (en mi caso, el proceso no se estaba ejecutando o no era visible desde el taskmgr), para eliminar el archivo seguir las siguientes instrucciones:


1. Ejecutar regedit

2. Localizar la llave HKEY_LOCAL_MACHINE>SOFTWARE>Microsoft>Windows>CurrentVersion>Run

3. En el panel derecho encontrar y eliminar la siguiente entrada:

Microsoft Network Services Controller = "%System%\mmsvc32.exe"


Con esto el virus se ha eliminado del sistema, pero el sistema sigue siendo vulnerable, y en cualquier comento puede ser infectado de nuevo, asi que el paso final, es instalar el parche pertinente, de acuerdo con la información proporcionada por Trend Micro, este virus se vale de una vulnerabilidad descrita en el boletin de seguridad de Microsoft MS03-039, donde también esta disponible el parche.


Siguiendo los pasos anteriores, logre eliminar el virus de la PC, he estado monitoreando el tráfico y ahora todo se ve bien, sin embargo, esta experiencia recuerda muchos puntos importantes que hay que tomar en cuenta, sobre todo, cuando las computadoras estan en un ambiente crítico.


1. Es imporante mantener el sistema operativo con los parches de seguridad al día, suena tedioso, a veces hasta imposible mantenerse al día con la aplicación de parches de seguridad, pero es inevitable, aún con los parches al día es probable que tengamos problemas, pero es necesario hacerlo.


2. Se debe ejecutar al menos un antivirus en la PC, y actualizarlo frecuentemente, nuevamente, podría no ser suficiente, pero es necesario hacerlo.


3. Extremar precauciones cuando se trata de sistemas operativos obsoletos, o para los que el soporte ya es limitado.


4. Es imporante disponer de alguna herramienta como Wireshark, que permita visibilidad en el tráfico y ejecutarla periodicamente.

5. Utilizar un Firewall para protección de la red, obviamente esto por si solo no es una solución, como mínimo debe ir acompañado de adecuadas políticas de uso de Internet y de recursos de red y debe monitorearse constante los logs.

6. Es necesario contar con un sistema de detección de intrusos, como Snort, que puede detectar actividad sospechosa en la red, especialmente para redes con un significativo número de computadoras.


Finalmente quiero aclarar que no soy experto en seguridad, conocimientos básicos en redes y sentido común, pueden ayudar a detectar problemas con gusanos informáticos, sin embargo, si no tienes mucha experiencia, y tu red tiene aplicaciones críticas, o información delicada, que puede representar la vida o la bancarrota de tu organización, lo mejor es buscar ayuda profesional y tomarse muy en serio el tema de la seguridad informática.

3 comentarios:

Ronald R. dijo...

Hola.

Estoy haciendo un estudio para mi universidad sobre gusanos y el wireshark. Seria mucha molestia que coloques algunos pantallazos sobre los pasos de como fuiste detectando al gusano.

Gracias.

Mi correo r_tarcano@hotmail.com

Leonel Munguia dijo...

Ronald,

Lo que puedo ofrecerte son unos pantallazos de Wireshark, solo debo buscar el archivo que capture en su momento abrirlo en Wireshark y capturar algunas pantallas, la otra parte de ver el registro ya no lo puedo poner porque ya esa maquina le cambie sistema operativo y en su momento no grabe pantallas, si encuentro el archivo voy a publicar un post al respecto, esperalo un dia de estos.
Saludos

Anónimo dijo...

cordial saludo leonel

mi nombre es jhon jairo , actualmente me encuentro realizando un analisis forense en router cisco, como prueba.
Yo configuro de la siguiente manera:

Dos Router Cisco 1721. RouterA y RouterB

RouterA
Router0> enable
Router0# configure terminal
Router0(config)# hostname RouterA
RouterA(config)# interface serial 0
RouterA(config-if)# ip address 192.168.10.3 255.255.255.0
RouterA(config-if)# clock rate 56000
RouterA(config-if)# no shutdown
RouterA(config-if)# exit
RouterA(config)# interface fastEthernet 0
RouterA(config-if)# ip address 192.168.15.1 255.255.255.0
RouterA(config-if)# no shutdown
RouterA(config-if)# exit
RouterA(configure)#router rip
RouterA(config-router)#network 192.168.15.0
RouterA(config-router)#network 192.168.14.0
RouterA(config-router)#network 192.168.10.0
RouterA(config-router)#Exit
RouterA(config)#ip route 192.168.15.0 255.255.255.0 192.168.10.0
RouterA(config)#Exit
RouterA# copy running-config startup-config

RouterB
Router0> enable
Router0# configure terminal
Router0(config)# hostname RouterB
RouterB(config)# interface serial 0
RouterB(config-if)# ip address 192.168.10.4 255.255.255.0
RouterB(config-if)# no shutdown
RouterB(config-if)# exit
RouterB(config-if)# interface fastEthernet 0
RouterB(config-if)# ip address 192.168.14.1 255.255.255.0
RouterB(config-if)# no shutdown
RouterB(config-if)# exit
RouterB(config)# router rip
RouterB(config-router)#network 192.168.15.0
RouterB(config-router)#network 192.168.14.0
RouterB(config-router)#network 192.168.10.0
RouterB(config-router)#Exit
RouterB(config)#ip route 192.168.14.0 255.255.255.0 192.168.10.0
RouterB# copy running-config startup-config



PRÁCTICAMENTE ESTOY CONFIGURANDO LO BÁSICO ENTRE LOS 2 ROUTERS Y PUEDO OBSERVAR QUE SI HAY CONEXIÓN HACIENDO PING ENTRE LAS DOS LANs.



Para realizar un análisis forense se debe presentar algún problema antes.

Las preguntas son las siguientes:

·La plataforma en la que trabajo es Windows, desde Windows causar problemas al Router.

·Yo utilizo el Wireshark para el análisis del trafico de red.

·Puedo detectar algún problema con este sniffer. ¿Qué tipos de problemas?

·Como puedo causar algún problema en esos Router, la memoria es una IOS

ROM: Sistema de bootstrap, Versión 12.2 (7c), RELEASE SOFTWARE (fc1)

ROM: C1700 Software (C1700 –IPBSE-M), versión 12.3 (16), RELEASE SOFTWARE (FC4)

· Me puede recomendar un software de ataques de fuerza bruta con un manual de cómo utilizarlo si esta en español le agradecería


Una vez realizado este ataque o ataques procederlos analizar.



· Yo tengo entendido que todo sistema operativo tiene archivos log, es donde se guardan los problemas presentados, entonces quisiera saber donde se ubican en la IOS del router.

Yo realizo lo siguiente:
router(config)#logging on
router(config)#logging buffered 16000

Pero es muy poca la información que muestra, porque solo visualizo cuando una interface está arriba (up) o está abajo (down), entonces no se qué es lo sucede, si lo realizado es lo correcto o estoy equivocada.