Detectar que equipo de nuestra red está enviando spam

Cuando el departamento Nemesys de Telefonica detecta que alguno de sus abonados está enviando spam, Telefonica corta el puerto 25. Habitualmente suele ser porque alguno de los equipos conectados a ese ruter está infectado por algún tipo de troyano (spammer). Esto no debería pasar si tenemos los antivirus y actualizaciones en condiciones… pero todos sabemos que no siempre es así. A veces incluso hemos desactivado expresamente la protección residente y lo hemos instalado nosotros, usando algún crack o soft de origen dudoso.

Cuando tenemos una red doméstica con uno o dos pc’s no es demasiado complicado cual es el equipo que está fastidiando (a menos que alguien no se haya conectado a nuestro wifi) pero cuando hablamos de una red empresarial con más de 20 equipos e incluso con sedes conectadas a la VPN la cosa se complica. Sería muy útil saber en qué máquina tenemos que concentrar nuestros esfuerzos.

Nuestro objetivo será saber desde que equipo estamos enviando correo fraudulento.
Para eso lo más fácil es analizar el tráfico de la red viendo que paquetes pasan por nuestro ruter viendo cuales salen por el puerto 25 y cuál es su origen.
En algunos ruters se pueden realizar estadísticas, pero si queremos un sistema que nos funcione para todas las redes necesitaremos un SNIFFER. Consiste en “pinchar” la red en un punto por el que pasen todos los paquetes (entre nuestra red y el router) y escuchar todo lo que pasa por ahí.

Luego filtramos los paquetes que cumplan con las condiciones que nos interesan (puerto 25) y analizamos su cabecera.

En ella sale la IP de origen y la de destino. Si la de origen es una IP de nuestra red y sabemos que no hay nadie trabajando o sencillamente analizamos el contenido del paquete y vemos referencias a productos farmaceuticos, paginas X, … que consideramos SPAM, ya solo tenemos que contrastar a que equipo pertenece la IP. Solo tenemos que desenchufarlo de la red y luego someterlo a nuestros procesos de limpieza o incluso formateo si lo vemos demasiado complicado.
Naturalmente tenemos que ponernos en contacto con Nemesys o nuestro comercial informando que hemos detectado el problema y lo hemos solucionado.

Materiales necesarios son:

  • Un hub (¡no vale un switch!)
  • Un cable de red
  • Un ordenador limpio (¿quizás un portátil?)
  • Windows XP o Linux
  • El software libre WireShark (Windows, anteriormente ethereal, http://sourceforge.net/projects/wireshark/files/ ) o Tcpdump (Linux)

Procedimiento:

* Ejecutamos Wireshark
* Vamos a Capture Options.
* Especificamos en que tarjeta de red queremos “escuchar”
* Como realmente no queremos escuchar todos los paquetes, sino que solo los que son de correo electrónico, ponemos en el cuadro Capture Filter: src or dst port 25. Con esto nos ahorraremos leer un montón de paquetes que no nos interesan, ganaremos en tiempo y recursos del sistema.
* Si queremos podemos guardar las capturas en un archivo. No es obligatorio. Detectar Spam

Le damos a Start… y a esperar. A medida que vayan saliendo paquetes analizamos el contenido
* Si alguien envía un correo electrónico recibiremos una captura.

Donde está el cuadro rojo saldrán las IP de origen, y donde el azul las de destino. Basta con comprobar si el correo es real o SPAM. En ese caso miramos cual es la IP de origen y … ¡Ya hemos identificado al culpable!