Localizando bots en una red local

Fecha de publicación 19/03/2017
Autor
Daniel Fírvida (INCIBE)
SpamHaus

Una de las tareas que tiene cierta dificultad a la hora de eliminar equipos infectados por una botnet en una red local es determinar e identificar cuál de ellos es el que pueda estar infectado. Es lo primero que debemos hacer antes de proceder a limpiar el equipo y es una tarea que no siempre es fácil.

Este tipo de situaciones, en las que tenemos que localizar un equipo infectado por una botnet pero no sabemos cuál de ellos es, se producen cuando no se ha detectado ningún indicio de infección, sino que se trata de una notificación externa, como por ejemplo una notificación que pueda realizar el equipo de Abuse o de seguridad del ISP que nos da conexión a internet, o algún organismo como un CERT.

Esas notificaciones suelen incluir la dirección IP externa con la que se conectan todos los equipos de esa red local a internet, la hora y fecha en la que se ha detectado una conexión a la botnet, y también el tipo de botnet o el virus que produce la infección, pero ningún dato sobre el equipo concreto que está infectado.

Spamhaus

La organización SPAMHAUS centrada en la lucha contra el spam a través de su proyecto CBL, centrado en la generación de listas negras de equipos infectados, tiene publicado un “how to” relativo a la detección de bots en una LAN que resulta muy completo y que resumimos a continuación:

CBL

¿Qué debemos y no debemos buscar?

  • Lo que buscamos es un ordenador de la red infectado, que está enviando trafico no legítimo fuera de la red para comunicarse con el resto de la botnet
  • Muchas veces los antivirus no nos ayudan para esto, porque entre los componentes del bot están algunos de tipo rootkit que evaden las soluciones antivirus.
  • Si se trata de un problema por envío de SPAM, la configuración de nuestros propios servidores de correo no resulta importante, normalmente esos emails se envían directamente desde el equipo infectado, no desde el servidor.

Detección a nivel de equipo local, estas recomendaciones para la detección deben probarse a nivel local de cada equipo de la red:

  • Herramientas tcpview/tcpvcon: Son herramientas para Windows desarrolladas por Microsoft y nos permitirán ver todos los programas que tienen conexiones de red abiertas, lo cual nos ayudará a determinar si ese equipo se conecta al exterior. Aunque estas herramientas funcionan en línea de comandos, al igual que netstat también tienen versión grafica.
  • Herramienta MyNetwatchman Seccheck: Nos permite identificar los procesos en ejecución y determinar si alguno de los ficheros en ejecución es malicioso, realizando un análisis de los mismos en la función “binary file upload”.
  • Herramienta HijackThis: Esta herramienta a diferencia de MyNetwatchman no permite realizar un análisis de los elementos detectados, genera un informe sobre el comportamiento del equipo. Este informe si puede analizarse a través de la pagina web http://www.hijackthis.cz/
  • Herramienta de Eliminación de software malintencionado de Microsoft (MSRT): Esta herramienta de Microsoft funciona en la mayoría de sistemas Windows y resulta bastante eficaz en la limpieza de bots que envían spam.

Detección a nivel de red:

  • Registros a nivel de cortafuegos: si el cortafuegos que utilizamos nos permite registrar las conexiones de salida podemos buscar que equipos están efectuando conexiones salientes a las direcciones o puertos utilizados en la botnet.
  • Routers con UPnP: Si el router que utilizamos tiene configurado UPnP se puede revisar la lista de equipos que hacen uso de esos servicios y comprobar cuales son legítimos y cuales no. Como regla general se recomienda deshabilitar UPnP.
  • Captura de trafico de red: Esto puede ser complicado según la arquitectura de red, o si los elementos de red como switches no permiten la configuración de puertos de monitorización o gestión conocidos como “port mirror” o también como “trunk”. La idea es capturar en modo promiscuo todo el tráfico de red y analizarlo con una herramienta como Wireshark, buscando las conexiones salientes a las direcciones o puertos utilizados en la botnet.
  • Detección de los C&C: Para el control de la botnet en muchos casos se utilizan servidores de IRC por lo que analizando el tráfico de red de salida se puede localizar a los equipos que utilizan esos protocolos. Otras botnets más avanzadas no utilizan servidores IRC, pero pueden utilizar conexiones a puertos anormalmente altos (superiores al 10.000)
  • Consultas MX: para enviar spam los equipos infectados necesitan consultar múltiples registros MX de los dominios destinatarios, por lo que en caso de disponer de un servidor DNS propio pueden consultarse los registros de consultas, o también obtener esa información mediante captura de trafico DNS.
  • Consultas NXDOMAIN: algunas botnets que cambian su C&C a través de múltiples dominios, pero si esos C&C están desmantelados los bots infectados con esa botnet harán ráfagas de consultas de DNS que obtendrán como respuesta "no such name” o “non-existant domain”. Analizando el tráfico o los registros del DNS pueden localizarse equipos infectados que generan muchas respuestas DNS de ese tipo.

Puede consultar el detalle completo de medidas que se recogen en el “how to” publicado por CBL en la página web https://www.abuseat.org/advanced