1/5/08

Nanspy Worm analizado con Wireshark

Los lectores mas fieles del blog recordaran que en septiembre del 2007, mi laptop fue infectada por el gusano Nanspy, un usuario me pidio colocar algunas pantallas del proceso de deteccion del gusano utilizando Wireshark y eso es lo que ha motivado este post, el cual ademas de ilustrar los pasos que me permitieron detectar la presencia de actividad anomala en mi laptop, tambien permite ver al Wireshark en accion y el uso de Follow TCP Stream una de las funciones muy utiles para en analisis de capturas en Wireshark.

Como se describe en el post original a finales de Agosto del 2007 empeze a obsever un comportamiento extraño en mi laptop (actividad en la tarjeta de red sin tener ninguna conexion a internet abierta), lo que me motivo a ejecutar Wireshark, tratando de encontrar las causas de este comportamiento extraño, practicamente con solo iniciar la captura pude darme cuenta que algo anomalo estaba ocurriendo, ya que se observo el siguiente trafico. Nota: con un click sobre la figura puedes verla en tamaño normal

Lo que se observa en la figura anterior, es el tipico comportamiento de un gusano tratando de encontrar victimas para infectar, la ip 192.168.0.148 es la direccion de la laptop y esta intentando establecer conexion con otros host que pertenecen al mismo rango (asumiendo que la mascara es 255.255.0.0), como se puede observar en la columna info, la laptop esta enviando paquetes con el bit SYN activado, en TCP es la primera accion para establecer contacto con el host de destino, algo mas que se observa en esta figura es que estos intentos son hacia el puerto 135, por la configuracion de mi red, ninguna de estas direcciones era alcanzable, de haberlo sido, se podria haber observado los siguientes pasos del gusano para tratar de infectar a otros hosts. Si esta hubiera sido una red corporativa, la probabilidad de infectar otros hosts hubiera sido muy alta, digo, si infecto a una maquina es muy probable que haya muchas maquinas mas vulnerables en la red. Habiendo visto esto, sabia que la maquina estaba infectada, en un tiempo posterior realize una nueva captura, pero esta vez con la intencion de ver el comportamiento desde el momento que se iniciaba la pc, para ello encendi la maquina sin conexion a la red, ejecute Wireshark y luego conecte el cable de red, de esta manera pude capturar lo que ocurria desde el inicio, vale recordar que esta pc ya estaba infectada, es decir lo que aqui esta ilustrado es el comportamiento de la maquina infectada no el proceso de infeccion. A continuacion se muestra la siguiente captura.


En esta captura se pueden observar al gusano en accion, los paquetes 3, 6 y 7 corresponden al TCP Hand-shake entre la laptop y la direccion 87.118.110.78 (en adelante la direccion sospechosa), es el procedimiento normal de cualquier conexion TCP, no voy a entrar en detalle ya que no es el proposito de este post, en el paquete 7 la conexion ya esta establecida y a continuacion en el 8 se observa algo inquietante, la laptop hace una peticion http HEAD y en el paquete 13 se observa la peticion http GET, esta tratando de obtener de la direccion sospechosa el archivo gate.exe, esto no suena nada bien, para observar con mayor detalle selecciono el paquete trece y a continuacion en el menu de Wireshark selecciono Analyze Follow TCP Stream, con este comando se despliega la data que finalmente es observable por la capa de aplicacion de la pila TCP/IP en un stream en particular, en este caso estoy interesado precisamente en observar que paso con esta peticion GET (y de paso tener mas detalles de la misma), el resultado del Follow TCP Stream se observa a continuacion


Lo que puedo deducir de este seguimiento es que la laptop esta tratando de bajar una actualizacion del archivo gate.exe ya que se trata de un GET condicional, otra pista se observa en la cuarta linea donde se ve User-Agent: mmsvc32.exe, finalmente observo que mi maquina ya tiene instalado este archivo, porque la respuesta al GET fue un HTTP/1.1 304 Not Modified, que es gate.exe y mmsvc32.exe, en estos momentos no tengo ni idea, hay que seguir investigando. Bajando un poco mas en el archivo de captura, encuentro otros GET sospechosos, a continuacion esta la figura que muestra el resultado de ejecutar nuevamente Follow TCP Stream sobre los paquetes que muestran nuevas peticiones GET.


Aqui se observa algo muy similar, nuevamente la laptop reviso para ver si hay alguna actualizacion de los archivos bbot.exe y psvc.exe, nuevamente aparece la linea mmsvc32.exe, como en el caso anterior, los archivos ya existen en la pec porque la respuesta es 304 Not Modified. Poco despues de estas interacciones, la laptop inicia nuevamente un SYN Scan, solo que esta vez ya no es es sobre un rango de direcciones locales sino un rango de direcciones publicas, mmm, este gusano en realidad esta tratando de propagarse, a continuacion la figura de estos intentos (afortunadamente fallidos) de infectar otro rango de direcciones


Ahora cuento con informacion suficiente para investigar que esta pasando, una busqueda de bbot.exe en google, me lleva hasta una pagina que me permite concluir que se trata de Nanspy, en la documentacion encontrada se hace referencia a mmsvc32.exe (mm, donde habia oido de este archivo?, por supuesto, lo vi en Wireshark), mi maquina esta infectada!. Esta fue la forma como utilize Wireshark para encontrar que estaba pasando con mi maquina, tal vez no sea la mejor manera, pero me sirvio, si observas un escaneo SYN como el de la figura reciente, investiga mas a fondo, lo mas seguro es que un gusano infecto tu PC.