botnet

¿Botnets?: tutorial para monitorizar la actividad de tus equipos.

¿Qué es una Botnet?

En primer término, hemos considerado conveniente plasmar un concepto de la manera más sencilla posible de lo que son las botnets. Con el fin de decir que no es más ni menos, que una serie o colección de ordenadores comprometidos y conectados a Internet, cada uno de los cuáles se encuentra ejecutando uno o más bots. Entonces, cuando un atacante logra comprometer un ordenador, usualmente hay un código (dentro del malware) que “imparte la orden” de convertirse en parte de una botnet. Así las cosas, el denominado “Botmaster” o, bien, “Botderder” controla esos ordenadores, de tal manera que los compromete mediante protocolos de red que se basan en estándares, como es el caso de IRC y HTTP.
Podemos decir que existen tres tipos de ataques de hackers:

  • De bajo riesgo: son ataques no sofisticados, que no generan daño financiero y que no roban datos.
  • De un riesgo más alto: se dan por el hecho de tener nuestro ordenador a una botnet, haciendo que nuestro ordenador sea parte de una red criminal.
  • De riesgo crítico: se trata de instalación de software, para robarnos datos y, en el peor de los casos, dinero de nuestras cuentas financieras. Aclaremos que este riesgo mayor, se presenta cuando nuestro ordenador se ha agregado a una botnet.

De otro lado, pero en la misma dirección conceptual, anotemos que los botnets pueden ser utilizados para llevar a cabo un ataque distribuido de generación de servicio, al que también se le denomina DDoS y, de esa manera:

  • Obtener los datos que se están buscando.
  • Enviar correo no deseado.
  • Y/o permitirle al atacante el acceso al “dispositivo-objetivo” y su conexión.

Ahora, el propietario de las botnets puede controlarla haciendo uso del software de comando y control, el que también recibe la denominación “C & C”. Anotemos, de paso, que la palabra “Botnet” es una fusión o combinación de “Robot” y de “Red”, al tiempo que normalmente es usada con una connotación negativa y maliciosa. Una vez plasmados los anteriores conceptos fundamentales, pasaremos a profundizar, un tanto, para anotar que una botnet es una colección lógica de dispositivos que se encuentran conectados a internet, como puede ser el caso de smartphones o dispositivos loT, cuya seguridad ha sido atacada y violada, al tiempo que el control ha sido cedido a un tercero.

Cada uno de estos dispositivos comprometidos que, como ya lo anotamos, es conocido como “Bot”, se crea cuando uno de estos dispositivos es penetrado por el software de una distribución de malware, esto es, un software malicioso. El propietario y/o el controlador de una botnet es capaz de dirigir, casi que su antojo, las actividades de dichos dispositivos comprometidos mediante canales de comunicación que son estructurados mediante protocolos de red basados en estándares, como es el caso de IRC y, también, el denominado “Protocolo de Transferencia de Hipertexto” o HTTP. Es preciso tener en cuenta, además, que las botnets son, cada vez más, alquiladas por los ciber-delincuentes, en su infortunada calidad de productos muy demandados, para toda una serie de fines o propósitos.

En lo que tiene que ver con la Arquitectura Botnet, digamos que ha ido evolucionando, como un esfuerzo para eludir su detección y su interrupción. Tradicionalmente, los programas bot se han venido construyendo como clientes, que se comunican a través de servidores preexistentes, lo que permite que el administrador del bot mismo lleve a cabo todo el control desde un lugar remoto. Sin embargo, en lo que respecta a las botnets más recientes, debemos tener en consideración que, actualmente, confían en las llamadas “Redes Peer-to-Peer” pre-existentes para comunicarse. Estos programas P2P (bots) adelantan las mismas acciones que el modelo cliente-servidor y no necesitan de un servidor central para efectos de la comunicación.

En esta imagen podemos apreciar el modelo cliente-servidor:

botnets

Fuente: Definición ABC

En base en la imagen anterior, vemos que una red está basada en el modelo servidor-cliente, en el que los clientes individuales solicitan recursos y servicios desde servidores centralizados, al tiempo que las primeras botnets de internet usaron el modelo mismo cliente-servidor para llevar a cabo sus respectivas tareas. Usualmente, estas botnets operan mediante redes, dominios o, bien, a través de websites Relay Chat. Así los clientes infectados con malware acceden a una ubicación predeterminada y esperan los comandos entrantes de (hacia) ese servidor. Entonces, el administrador del bot envía ciertos comandos al servidor y, a su vez, los transmite a los clientes, quienes ejecutan lo comandos y, de paso, informan sus resultados a ese administrador.

Veamos, en esta ocasión, lo que tiene que ver con las botnets IRC, para anotar que los clientes infectados se conectan, precisamente, a un servidor IRC infectado, al paso que se aúnan a un canal que ha sido designado, a priori, para C & C por parte del “pastor” de bot. Entonces, el bot Herder envía los comandos al canal mediante el servidor IRC, al tiempo que cada cliente recupera esos comandos enviados y, de paso, los ejecuta. Para terminar con el proceso, los clientes envían ciertos mensajes al canal IRC, incluyendo los resultados de sus respectivas acciones ejecutadas. Miremos, esta vez, una imagen de Peer-to-Peer (P2P):

botnet

Fuente: NEO-University of Málaga

Como lo podemos apreciar, una red Peer-to-Peer (P2P) en la que, dicho sea de paso, los nodos interconectados o “Peers”, comparten recursos entre sí, se establece sin necesidad de recurrir a un sistema administrativo centralizado. Ahora, para encontrar otros dispositivos infectados, el bot hace un sondeo discreto de las direcciones IP, hasta que logra entrar en contacto con otra máquina infectada. Así el bot que ha sido contactado, responde con información, como es el caso de su versión de software y una lista de bots conocidos. En caso de que una de las versiones de los bots sea más baja que la otra, se inicia una transferencia de archivos para actualizar por lo que, de esta forma, cada uno de los bots incrementa su lista de máquinas infectadas, al tiempo que se actualiza comunicándose, de manera periódica, con todos los bots conocidos.

En lo relativo a los componentes más importantes de las botnets, tenemos:

  • La Computadora “Zombie”: en el ámbito de la informática, un ordenador zombie es una computadora conectada a internet y que ha sido intervenida o comprometida por un hacker, mediante un virus informático o un troyano. Puede utilizarse, además, para llevar a cabo tareas maliciosas de manera remota. Las redes de botnets de ordenadores zombis se suelen utilizar (la mayoría de los casos) con el fin de difundir/propagar correos electrónicos no deseados (spam) y, también, para lanzar ataques de denegación de servicios. La gran mayoría de los dueños de los ordenadores “zombificados”, no son conscientes de que su sistema está siendo víctima de una infección, ni de que se le está utilizando de tal manera. A todo este proceso se le suele denominar “Scrumping”.
  • Los protocolos de control: IRC es un medio tradicional de C & C, gracias a su protocolo de comunicación. Para ser más explícitos, anotemos que un administrador de bots crea un canal de IRC, con la finalidad de que los clientes infectados se unan. Entonces, los mensajes enviados a este canal son transmitidos a todos los miembros de éste. Y el administrador tiene la posibilidad de configurar el tema del canal, para comandar la botnet.

Herramientas de monitorización de una red de equipos: cuando creemos que no trabajan por culpa de las Botnets

A propósito de este subtítulo, cabe un interrogante ineludible: ¿existe alguna manera de detectar que un ordenador está siendo utilizado en un ataque DDoS basado en botnet? Otros podrán formular el siguiente interrogante alternativo: ¿existe alguna herramienta como, por ejemplo, un software, que sea capaz de detectar tráfico extraño y/o inusual que esté explotando la actividad de ese ordenador (aparentemente) atacado? La respuesta es que en la actualidad no existe una manera fácil de detectarlo. Sin embargo, sí existen defensas en el ámbito de la prevención:

  • En primer lugar, debemos evitar la infección. A este respecto, es mucho lo que se ha dicho y escrito sobre las maneras de evitar las violaciones de seguridad. Así, por ejemplo, se han escrito innumerables guías de seguridad para usuarios inexpertos, como es el caso del endurecimiento de Windows o, bien, el endurecimiento de Linux o “Secure Linux Desktop”. Sin embargo, lo mejor es pensar qué elementos incluiríamos y a qué profundidad. Existen temas que por parecer obvios se pueden pasar por alto, pero deberían ser tenidos en cuenta. Así, por ejemplo, es bastante recomendable que las personas lean la “Guía de seguridad en línea del informe del consumidor”, en vista de que cubre muchos ítems que debemos conocer.
  • En segundo lugar, el comportamiento del usuario debe ser cauteloso, hasta el punto, incluso, en que es necesario:
    Adoptar buenas prácticas de contraseñas: todos deberíamos escoger dos contraseñas que sean muy fuertes, así: una para la (s) cuenta (s) de correo electrónico, teniendo en seria consideración que jamás debemos tener la misma para dos o más cuentas de correo (si es que tenemos más de una). Y, de otra parte, otra contraseña para otras actividades de las que usualmente desplegamos en la Red, como es el caso del registro en sitios web y otras similares. Para el tema de las contraseñas de las cuentas bancarias y de las pasarelas de pagos internacionales (como Paypal, Payonner, Skrill y demás), será muy recomendable elegir contraseñas diferentes a las anteriores y que, de paso, sean muy seguras, comprendiendo más de 9 o 10 caracteres, combinando mayúsculas, minúsculas, números y algunos símbolos.
    Anotemos, además, que todos deben ser conscientes de que, quien sepa la contraseña de un correo electrónico, de paso tiene acceso a cuentas bancarias, a Facebook y a muchos otros servicios de internet.- Utilizar el administrador de contraseñas del (o de los) navegador (es) que utilicemos, aprovechando que estos administradores nos permiten no tener que memorizar las contraseñas. Ahora, cuando el navegador nos pregunte si le permitimos que nos recuerde la contraseña, la respuesta debe ser “sí”. Una vez otorgamos esta autorización, podremos escoger contraseñas complejas que sean difíciles de adivinar por parte de terceros.- Debemos saber dónde ingresamos nuestras contraseñas: debemos marcar los websites sensibles en el tema de la seguridad, como los bancos y los proveedores de cuentas de correo. Cuando vayamos a iniciar sesión en ellos, debemos hacer clic en el marcador para, luego, ingresar la contraseña.- Jamás debemos descargar software de sitios desconocidos, para evitar recibir programas maliciosos.- Al momento de navegar, es preciso mirar hacia arriba (a la izquierda): debemos mirar hacia la barra de direcciones del navegador, para identificar el nombre del dominio del sitio por el que estamos navegando, y evitar sorpresas. Si vamos a ingresar información personal a ese sitio web y tenemos dudas sobre quién la recibirá, en esta barra encontraremos la respuesta.
  • En tercer lugar, debemos administrar el sistema: para tal efecto, es necesario:
    Trabajar con un navegador seguro. Chrome es el más recomendable, al tiempo que, si deseamos trabajar con Firefox, lo mejor es instalar HTTPS Everywhere.
    Habilitar las actualizaciones automáticas, para asegurarnos de que siempre se está ejecutando la mejor versión parcheada de todo el software.
    Habilitar las copias automáticas de seguridad, sin que sea necesaria nuestra participación.
    Si nuestro sistema operativo es Windows, es preciso instalar un antivirus gratuito o, lo que es lo mismo, no confiarnos en el software precargado que es una versión de prueba, cuya licencia expira luego de un tiempo. Y, una vez expirado, ya estaremos desprotegidos. Los antivirus gratuitos más recomendables, son Avast y Avira. Si tenemos un Mac, por ahora no es necesario instalar antivirus alguno.

Para terminar, anotemos que en Pandora FMS también podemos encontrar información valiosa y detallada, respecto de este tema de las botnets y, de paso, acerca de la manera de monitorizar nuestras redes, de cara a implementar las acciones necesarias para evitar ser infectados. Hacer parte (sin saberlo) de una red de bots o “Botnet” es muy peligroso para efectos de la seguridad de nuestros datos y, por sobre todas las cosas, de nuestros recursos financieros.

Shares