Waledac, análisis de un botnet peer-to-peer (I de II)

martes 5 de enero de 2010
Desde la Universidad de Mannheim junto con el laboratorio de seguridad de la Universidad de Viena se ha hecho un estudio de uno de los botnets mas peligroso del año 2009: Waledac.

Este estudio o proyecto ha tenido por nombre: "Walowdac - Analysis of a Peer-to-Peer Botnet" y nos adentra en una de las mayores amenazas en Internet de hoy en día.

Para la realización de este estudio, se utilizo un clon del botnet llamado Walowdac, el cual emula y estudia el comportamiento del botnet real Waledac.

¿Qué es un botnet y para que se utiliza?

Un botnet es una red de equipos comprometidos controlados por un atacante. Los botnets son utilizados para realizar ataques distribuidos de denegación de servicio (DDoS), ataques de spam, ataques automatizados, etc.

¿Cual ha sido su evolución?

Las primeras generaciones de los botnet no eran mas que máquinas infectadas (zombies) conectadas a un cerebro (maquina principal) el cual se encargaba de mandar las señales al resto de máquinas infectadas. Estos botnets se basaban en estructuras centralizadas y de ahí a que su conocimiento sea alto gracias a las técnicas de botnet tracking.

La segunda generación de botnets evitan las arquitecturas centralizadas utilizando mecanismos de comunicaciones peer-to-peer como el famoso botnet Storm Worm predecesor de Waledac. Así pues es mucho mas difícil seguir su rastro ya que nos encontramos ante una autentica red de equipos descentralizados.

¿Cómo funciona Waledac? ¿Cómo se propaga?
 


La estructura de Waledac tiene como poco 4 capas diferentes las cuales podemos ver en la siguiente imagen:


En el nivel mas bajo de la jerarquía de Waledac, podemos encontrar los equipos llamados spammers. Estos equipos son los encargados de mandar los correos de spam y de phising. La diferencia entre los spammers y el resto de equipos del botnet es que los spammers no tienen una IP pública debido a que están detrás de un router con NAT y no se puede acceder a estos directamente desde Internet. El beneficio de esto es que por mucho spam que manden los spammers y generen una gran cantidad de tráfico, no es fácil seguirles la pista

En el siguiente nivel encontramos a los repetidores, estos equipos son el punto de entrada de los equipos que van a formar parte del botnet y su futuro punto de referencia. Debido a esto los repetidores necesitan tener una IP publica accesible. Un repetidor se puede considerar como un mediador entre la primera capa y la tercera capa del botnet. Los spammers contactan con los repetidores para adquirir nuevas tareas o para informar de su trabajo. Estas peticiones de trabajo son enviadas por los servidores Back-end.

Los servidores Back-end se encargan de responder a las peticiones finales de los spammers y de enviar las peticiones a los repetidores. Además también realizan funciones de servidores proxy.

Por encima de los servidores Back-end y en la parte superior de la jerarquía de Waledac, se cree que existe una mother-ship, la cual podríamos decir que es la encargada de gestionar todo el botnet y de actualizar el resto de servidores con nuevas funcionalidades.

Mecanismos de propagación

Los bots de Waledac no tienen ningún mecanismo integrado de propagación. Esto quiere decir que no buscan en sus redes locales para infectar a mas máquinas. Waledac es mucho mas simple que todo esto, simplemente se propaga mediante ingeniería social. De ahí a que los spammers se encarguen de enviar frecuentemente emails con URLs que apuntan a las últimas versiones de Waledac. Para incrementar la probabilidad de infección en nuevos equipos, los spammers envían bonitos correos de felicitaciones o postales.

En la imagen siguiente, podemos ver como es el ciclo de infección de Waledac:




El número de cada linea de la imagen indica el ciclo que sigue la infección de Waledac. La infección se puede resumir con los siguientes pasos:
  1. El spammer cada cierto tiempo pide a los repetidores una nueva tarea a realizar
  2. Los repetidores envían estas peticiones a los servidores Back-end
  3. Los servidores Back-end responden a esta petición con una tarea a realizar, por ejemplo: "Manda Spam"
  4. Los repetidores envían esta información a los spammers para que la ejecuten
  5. Los spammers envían correos infectados a máquinas sin infectar
  6. La máquina sin infectar recibe el correo y presiona en el enlace
  7. El repetidor recibe la petición del equipo sin infectar y le pide el binario al servidor Back-end
  8. El servidor Back-end le envía el binario al repetidor
  9. El equipo sin infectar recibe el binario de Waledac
Dependiendo del nivel de acceso que se tenga a la máquina recién infectada, esta será puesta como repetidor o como spammer

En la siguiente parte del artículo abordaremos la forma de medir el número de infecciones de este botnet en el proyecto y los resultados de estas mediciones, las cuales nos sorprenderán bastante.

Un saludo

3 comentarios:

nilart dijo...

Para que todos los entendiéramos mejor yo habría puesto Skynet en lugar de Backend-Server :P Pero vamos, que el artículo es muy interesante.

Asfasfos dijo...

Te refieres para que lo entiendan los freaks como tu ¿no? jajaja!!!

jaliagab dijo...

Ja ja ja esto es solo para "usuarios avanzados"

Publicar un comentario en la entrada