| Formulario de acceso |
|---|
| Anuncios |
|---|
|
|
| Análisis de tráfico con Wireshark (IV) |
|
|
| martes, 24 de octubre de 2006 | ||
|
Unos minutos después de encender el ordenador todo empieza a fallar. Los programas no arrancan, la conexión a internet es tan lenta que acaba con nuestros nervios, las ventanas se cierran solas, el disco duro no para de sonar ... No es dificil comprobar que la mayoría de los ordenadores de nuestra red no tienen este problema y llegar a la conclusión final: el ordenador aquejado de estos problemas está, a buen seguro, infectado con algún tipo de virus. Siguiendo patrones La forma más lógica de actuar de un programa spyware o de un troyano es requerir el acceso a la máquina de forma repetitiva para conseguir hacerse con los recursos de la misma y utilizarlos. La infección ha de haberse producido con anterioridad mediante la ejecución de algún tipo de código que no ha podido ser detectado por el antivirus o que ha pasado a través del código procesado por nuestro navegador web. Ya que nosotros llegamos a la máquina cuando dicha infección ya se ha producido, no será dificil encontrar paquetes que demuestren los intentos de conexión desde el exterior hacia algún puerto del ordenador infectado.
¿Qué significa esta traza? Aunque la pauta puede no ser idéntica, el programa que ha producido la infección ya ha estado conectado con el sitio que intenta aprovecharse de los recursos del "huesped". Al reiniciar el ordenador para comprobar qué pasa, mediante la captura de paquetes con Wireshark, antes de que todo empiece a ir mal, es muy probable que la dirección con la cual se han estado intercambiando datos por medio del programa intruso siga mandando sus peticiones como si nada hubiera pasado (al reiniciar, hemos parado la ejecución del virus) o puede que, simplemente, siga un patrón de peticiones hacia direcciones guardadas a la espera de que el agente infecioso vuelva a ejecutarse. De ahí los intentos de conexión con el puerto 24864 (en gris) y el envío de un paquete RST (en rojo) por parte del ordenador infectado, que no sabe qué hacer con esas peticiones y da por terminada la conexión. La pauta cambiará cuando el virus vuelva a estar activo en la máquina infectada y es aquí cuando determinaremos de forma clara que el ordenador esudiado está siendo objeto de alguna manipulación externa. Por ejemplo, si el ordenador está infectado con spyware, es muy probable que unos minutos después a lo largo de la traza capturada veamos un intento de conexión con la dirección que ha estado mandando peticiones, pero esta vez la conexión sí que será establecida de forma correcta. A buen seguro que dicha comunicación implicará la descarga de algún programa ejecutable que será el responsable del mal funcionamiento de todo el sistema. Y lo que es peor, el envío de datos confidenciales estará siendo un hecho a partir de este preciso instante. Será fácil averiguar qué programa es el causante de todo y localizarlo dentro de la traza capturada por Wireshark. Una vez hecho esto, se comprobará con un visor de procesos (por ejemplo, Process Explorer, de Sysinternals) que el programa en cuestión está en ejecución y se terminará el proceso. El rastro sobrante tendrá que ser eliminado mediante algún antivirus o antispyware. La huella de un gusano A modo de ejemplo, vamos a adjuntar a continuación una traza que captura la infección del sistema a manos del famoso gusano Blaster/Lovsan. Dicho gusano es detectado por primera vez en agosto del año 2003 y tiene como método de actuación el aprovechamiento de una vulnerabilidad en el interface RPC. Hasta la aparición del parche oficial, no era extraño recibir quejas de los usuarios de ordenadores afectados con este gusano por la aparición repentina de una pantalla similar a la siguiente imagen, que habitualmente desembocaba en el reinicio de la máquina:
La traza de infección de Blaster es la siguiente:
Podemos observar cómo se produce una petición hacia el puerto 4444 (abierto por el gusano al aprovecharse de la vulnerabilidad DCOM RPC) e inmediatamente comienza la carga y ejecución de comandos [PSH, ACK]. Wireshark pone a nuestra disposición una herramienta muy útil que nos permite seguir los paquetes de una traza de conexión, agrupándolos y mostrándolos, por ejemplo, en código ASCII. Si pulsamos con el botón derecho del ratón sobre alguna de las líneas de la traza, accederemos a un menú contextual con varias opciones. Si pinchamos sobre la opción Follow TCP Stream, obtendremos una ventana que nos mostrará el contenido del stream elegido. En nuestro caso, la salida será la siguiente: C:\WINNT\system32>start msblast.exe El fichero msblast.exe ha sido copiado al directorio C:\WINNT\System32 y ejecutado. A partir de aquí, el programa buscará a través de la red otras máquinas vulnerables a través del puerto TCP/135 e iniciará de nuevo todo el proceso. Si seguimos observando la traza en una red local, veremos como el gusano inunda la red con peticiones al puerto 135, llegando a saturarla por completo. Podemos ver igualmente cómo la máquina infectada atiende peticiones TFTP en el puerto UDP/69, convirtiéndose así en host de descarga del gusano. Como es obvio, el único modo de terminar con esta infección es a través del parche correspndiente y de la herramienta de eliminación de turno. Conclusión Si vamos a utilizar Wireshark para detectar intrusiones de programas maliciosos tipo spyware, keyloggers o gusanos, tenemos que tener siempre presente que dichos programas, tarde o tamprano, intentarán realizar una conexión con el exterior para enviar datos. Es por esto que los análisis deberán realizarse sin que la máquina efectúe ninguna operación guiada. Esto es, sencillamente, que dejemos la máquina arrancada a la espera de que la infección prospere. Será fácil entonces detectar una conexión por ftp para descargar algún programa residente, una conexión smtp que mandará algún e-mail con información privada, o peticiones de lo más variado hacia protocolos que permiten el intercambio de datos, como hemos podido observar en la infección del gusano Blaster. La herramienta de seguimiento de la información contenida en el paquete (Follow TCP Stream) nos permitirá analizar si sólo estamos infectados con un gusano o con spyware genérico, o, por el contrario, nos enfrentamos a una amenaza guiada y planificada de forma individual.
Sólo los usuarios registrados pueden escribir comentarios. Powered by AkoComment 2.0! |
||
| < Anterior | Siguiente > |
|---|










