jueves, 3 de enero de 2008

Bots, algunos detalles

Los bots son la peor amenaza actual en la red. No sería demasiado importante si no fuera porque un bot en particular puede infectar decenas de miles de máquinas en relativamente muy poco tiempo y luego una persona puede controlarlos (a todos) en forma centralizada.


Bots: su uso típico
Para comenzar podemos explicar el concepto de botnet, "red de bots"; que es una red de pcs comprometidas ("infectadas" se diría si estuviésemos hablando de virus). 

Un bot es un spyware? Sí y no, sí porque realiza algunas tareas donde puede recabar información de la PC y no porque a veces el software del bot solo se dedica a acceder sin autorización a la PC y establecer comunicaciones subrepticias hacia la red.

Una botnet es sumamente valiosa para alguien que controle el total de pcs, algunas aplicaciones típicas son: 

- Spamming: usando las pcs para enviar el correo desde muchas IPs/dominios no bloqueados y que no figuran - todavía - en listas de dominios baneados).

- DDOS (Ataque Distribuído de Denegación de Servicios): donde usando muchas pcs se bombardea con tráfico un determinado servicio/s (haciendo que todas las pcs intenten acceder simultaneamente a un sitio por ejemplo).

- Keylogging: se guarda todo lo que se ingresa desde el teclado a un archivo y luego de lo envía a un punto central, donde el receptor puede buscar información relevante (claves, nros. de cuentas bancarias, etc.)

- Espionaje de tráfico: un bot puede revisar el tráfico de una pc buscando,archivando y enviando información relevante similar al keylogging.

- Distribución de más "malware": un bot puede intentar infectar más PCs con bots, virus, etc.

- Instalación de addons de publicidades y Browser Helper Objects (BHOs). Por ejemplo un operador de un sitio negocia con algunas empresas que le paguen por clicks recibidos en avisos. Con la ayuda de una botnet, dicho operador puede "automatizar" un clikeo frecuente de los avisos desde muchas PCs desde la botnet, incrementando sus ganancias y haciendo indetectable el fraude (las IPs de origen de los clicks pueden hacerse lo suficientemente pseudo-aleatorias para ello, según el tamaño de la botnet).

- Abuso de Google AdSense: algo parecido a lo anterior, pero sobre el sistema de publicidad de Google. Es relativamente poco común debido a la necesaria asociación de una persona real con una cuenta de Google a ser "abusada", estableciendo por ello una vía para la toma de medidas directas contra la persona (denuncia).

- Manipulación de estadísticas y juegos en línea: Debido a que cada nodo de la botnet tiene diferente IP, los mecanismos web de prevención de fraude basados en IP origen son sobrepasados, pudiendo fácilmente inclinar una encuesta en línea a favor de cierto tópico. El abuso de bots en juegos en línea es una línea de investigación seria actualmente, pero sin embargo debido al limitado uso debido a la sofisticación del ataque y las reglas de privacidad de los sitios atacados (sitios de apuesta en línea por ejemplo), ha habido pocas detecciones efectivas y la publicidad consecuente.

- Robo Masivo de Identidad: Utilizando la combinación factible de las varias tareas antes descritas se puede montar un mecanismo de robo de información suficiente para llegar a reemplazar o mimetizar el comportamiento online de una persona con fines ilícitos (utilizando todas sus claves, nombres, alias, cuentas de correo, cuentas de mensajería, cuentas bancarias y cuentas de pago en linea - paypal, etc.). Adicionalmente, el anonimato efectivo de las IPs dinámicas de PCs hogareñas (teniendo en cuenta las múltiples leyes de muchos países, la múltiples jurisdicciones policiales y múltiples jurisdicciones legales involucradas), las hace perfectos websites de phishing (sitios para robar información bancaria y otras) dinámicos, que aparecen y cambian de ubicación en la red tan aleatoriamente como sus dueños prenden y apagan sus PCs.


Modos de Infección
La pregunta que siempre queda sin responder es cómo se llega a infectar una pc. Una respuesta es obvia para cualquier especialista en seguridad pero para nada obvio desde el punto de vista del usuario hogareño.

Hay múltiples modos de infectar las PCs con bots. Normalmente un bot utiliza mecanismos automatizados para buscar e implantarse a sí mismo en una PC. Lo hace escaneando Internet en busca de PCs hogareñas, las que normalmente no están tan parcheadas o aseguradas como servidores o estaciones de trabajo empresariales conectadas a la red.
 
Otros modos, no automatizados tienen que ver con la interacción normal del usuario hogareño con Internet. Visitar páginas no seguras, abrir correos (spam especialmente), abrir attachments de correos (un ppt, flash, etc.), aceptar y abrir un archivo enviado vía mensajería (msn, yahoo, aol, etc.). El usuario hogareño no suele entender que muchas veces, aunque un remitente de correo sea conocido, una táctica muy normal de los bots es enviar correos con attachments desde máquina ya bajo control; otra posibilidad es utilizando un cuenta MSN en funcionamiento, enviar una imagen para que sea abierta en la PC de un conocido (que confía plenamente en un archivo enviado desde un contacto conocido).


Mecánica de Infección
Una vez descubierta la PC, según la sofisticación del bot, se prueba desde algún típico problema de seguridad asociado a puertos específicos, por ejemplo:
 
42 - WINS (Host Name Server) 
80 - www (vulnerabilities in Internet Information Server 4 / 5 or Apache)
903 - NetDevil Backdoor
1025 - Microsoft Remote Procedure Call (RPC) service and Windows Messenger port
1433 - ms-sql-s (Microsoft-SQL-Server)
2745 - backdoor of Bagle worm (mass-mailing worm)
3127 - backdoor of MyDoom worm (mass-mailing worm)
3306 - MySQL UDF Weakness 
3410 - vulnerability in Optix Pro remote access trojan (Optix Backdoor)
5000 - upnp (Universal Plug and Play: MS01-059 - Unchecked Buffer in Universal Plug and Play can Lead to System Compromise)
6129 - dameware (Dameware Remote Admin - DameWare Mini Remote Control Client Agent Service Pre-Authentication Buffer Overflow Vulnerability);

[Puedes ver información de background sobre algunas de estas vulnerabilidades buscando en los Boletines de Seguridad de Microsoft:

MS03-007 Unchecked Buffer In Windows Component Could Cause Server Compromise
MS03-026 Buffer Overrun In RPC Interface Could Allow Code Execution
MS04-011 Security Update for Microsoft Windows
MS04-045 Vulnerability in WINS Could Allow Remote Code Execution]

llegando en algunos casos a un análisis de vulnerabilidades para determinar si posee alguna que el bot tenga disponible para usar. Luego de esto la PC es "explotada" (se le aplica un software que hace uso de la vulnerabilidad para obtener acceso no autorizado a la PC), luego de tener acceso, el bot de la PC recien infectada realiza una serie de tareas, típicamente:
 
 - implantar una puerta trasera para acceder luego a la máquina (puede ser un rootkit o algo menos sofisticado)
 - abrir una vía de comunicación con el "comando central" de la red bots.
 - ponerse en stand-by para ordenes del comando central una vez que ha sido exitosamente agregada a la red bots.
 
 Siempre un paso adelante
 Algunos bots llegan hasta a descargar y parchear las vulnerabilidades que han utilizado y/o detectado al ingresar a la máquina. Incluso llegan a añadir archivos propios a la lista de excepciones de antivirus/antispyware/firewalls para asegurar un uso sin molestias de parte del software de seguridad de la PC, que luego de eso sigue funcionando casi normalmente.
 
 Muchos bots nuevos incorporan tremendos mecanismos que les permiten recibir actualizaciones y modificar sus archivos para camuflarse de los antivirus y antispyware.
 
 Los bots más exitosos sin embargo no son estándares, es decir fueron creados o fuertemente modificados por alguien y por ello la mayoría del software de seguridad no lo detectará. Por qué? simplemente porque el software de seguridad trabaja sobre software (bots, virus, etc.) que en general ya se ha difundido masivamente. Un nuevo bot o uno muy modificado puede incorporar nuevos mecanismos para engañar al soft de seguridad; luego de ese paso y con la PC ya incorporada a la red de bots, solo es cuestión de que el "manager" de la red de bots mantenga el código del bot un paso por delante de las actualizaciones del software de seguridad.
 
 Referencia:

 http://www.honeynet.org/papers/bots/

Dardo A. Valdez (yaco)

1 comentario:

MagnoBalt dijo...

Me gusto muy completo Yaco el articulo.
Saludos