Buscar este blog

sábado, 9 de enero de 2016

¿Cómo se comunica una computadora zombi con su botmaster?


Ahora que conocemos un poco más sobre cómo funcionan las botnets y las estructuras más utilizadas por los botmasters es hora de darle una mirada a los protocolos de comunicación más utilizados por este tipo de amenaza.
Después de que un atacante logra comprometer la seguridad de un dispositivo, la amenaza instalada va a intentar comunicarse con su centro de comando y control para enviarle información robada o para hacerle alguna solicitud, como por ejemplo de actualización.
Por lo tanto si se hace un monitoreo de las conexiones de red de una computadora zombi se podría identificar una actividad inusual, ya que es en este punto donde todos los datos salen de los procesos maliciosos, que pueden estar asociados incluso con procesos legítimos del sistema, y quedan expuestos para ser identificados si se logra determinar el modelo de comportamiento adecuado. Pero para llegar a este punto primero debemos entender cuáles son las formas de comunicación más utilizadas por las botnets.

Formas de comunicación de las botnets

Cuando una botnet trata de comunicarse con su centro de comando y control (C&C) puede seguir una metodología push o una metodología pull. La metodología elegida por el atacante va a determinar las características de actualización e intercambio de información con los equipos zombis.
En el caso de la metodología push la comunicación se establece desde el C&C y se envían los mensajes a los equipos infectados. Es decir, para estas comunicaciones el C&C es siempre quien inicia la comunicación, aunque los equipos infectados no tengan ningún tipo de información que transmitir. De esta manera los equipos infectados están suscritos a canales de información y cuando un nuevo contenido está disponible en uno de estos canales, el C&C envía la información a las víctimas.
En contraposición, en la metodología pull, el C&C envía información bajo demanda. Por lo tanto los equipos víctimas son quienes inician la comunicación.
Debe quedar claro que la diferencia entre ambas metodologías es quién establece la comunicación. Por lo tanto en la metodología pull, donde es la víctima quien inicia la comunicación, el código malicioso instalado tiene programadas frecuencias de actualización o envío de datos. Así cualquier comunicación con el C&C estará sujeta a esta frecuencia.
Para los atacantes, la implementación de una metodología push suele ser más rentable, pues no es necesario que el código malicioso se esté ejecutando en el equipo de la víctima, ya que si el proceso malicioso se mantiene inactivo cada vez que llegue una nueva notificación lo activará nuevamente. Además con este modelo se evitan conexiones regulares con el servidor central, lo que reduce la posibilidad de generar modelos de tráfico que puedan ayudar a su detección.

comunicacion-botnet-trafico

Protocolos de control

Asociada a la metodología de comunicación que utilice cada botnet, se puede encontrar una variedad de protocolos sobre los cuales se hace el intercambio de información entre los equipos infectados y el C&C. Dentro de los protocolos más utilizados encontramos IRC, P2P y HTTP, así que vamos a hacer una revisión de sus características y algunas de las familias de botnets que los utilizan.

Los inicios en IRC

En el caso de las botnets basadas en este protocolo, los equipos víctimas se conectan de forma periódica a un canal IRC y quedan a la espera de instrucciones. Por la naturaleza de este protocolo necesitan tener un cliente IRC, que viene dentro del mismo código malicioso y que les permite acceder a los protocolos de chat.
Las primeras botnets basadas en este protocolo fueron de las primeras en tener éxito, sobre todo cuando los bots eran utilizados como mecanismos que permitían ejecutar ataques DDoS (Denegación de Servicio Distribuido) basados en simples clientes de IRC.
Una de las principales botnets que afectó Latinoamérica y que utilizaba este protocolo es Dorkbot. Esta botnet contacta el C&C por IRC para registrar un nuevo bot y comenzar a recibir órdenes. Además la forma más común de llevar este paso era obtener el control de uno o varios servidores IRC para enviar las órdenes de los demás nodos de la red. Es importante resaltar que con la participación del Laboratorio de ESET y un esfuerzo conjunto se logró la interrupción de la botnet Dorkbot.

Funcionalidades en HTTP

Con el uso de este protocolo el botmaster informa a los bots sobre los comandos que deben ejecutarse actualizando el contenido de una página web que es visitada frecuentemente por los equipos infectados. El uso de este protocolo, al igual que el anterior, expone a los nodos que participan en la comunicación ya que los accesos a las páginas web son rastreables y por lo tanto se pueden llegan a identificar y bloquear las URL.
La botnet Zeus es uno de los códigos maliciosos más conocidos que utilizan este protocolo para las comunicaciones con los equipos infectados. Esta botnet evolucionó a partir de un troyano especializado en el robo de información bancaria utilizando la técnica de Man-In-The-Browser para capturar la información de los formularios de sitios en los cuales se realizan transacciones financieras. Por las características de Zeus, los atacantes que la utilizaban podían interceptar tráfico del navegador web o incluso de otros protocolos como FTP o POP3.

Migrando a redes P2P

p2p-botnet

Dada la periodicidad y características en las comunicaciones que utilizan los protocolos anteriores, con un apropiado monitoreo de red era posible detectar la actividad maliciosa. Para solventar este problema, los atacantes implementaron botnets que operaban bajo protocolos P2P, de tal forma que el botmaster pueda cambiar el servidor de control de acuerdo a sus preferencias, haciendo que rastrear la actividad maliciosa sea una tarea bastante compleja.
Las botnets que utilizan este protocolo por lo general se propagan en archivos infectados en redes punto a punto. Además de la dificultad de rastreo, presentan una complejidad adicional, pues es más difícil interrupir su operación al no tener un núcleo desde el que se distribuye toda la información.
Para más información sobre cómo funcionan las botnets puedes ver el siguiente video.

Detecciones a partir de tráfico de red malicioso

Si bien es cierto que cada protocolo presenta características particulares que lo pueden hacer más o menos propenso a la intercepción, monitorización y estudio de las actividades maliciosas, todos ellos en algún punto son factibles de modelizar para sus detecciones.
Es precisamente en este punto donde la evolución de la soluciones de seguridad va más allá de detección de binarios y se empieza a enfocar en el análisis de comportamiento de características como el tráfico de red. Por lo tanto, tener una solución de seguridad que incorporen estas nuevas características hace que se pueda proteger el dispositivo o equipo desde la instalación de un código malicioso hasta la identificación de acciones peligrosas que ocurran.

No hay comentarios.:

Publicar un comentario