Forense de Botnets

  • Posted on: 5 June 2020
  • By: ReYDeS

La primera botnet Eggdrop fue descubierta en 1993, y se utilizaba para compartir información del usuario por canales protegidos. La botnet estaba basada en el protocolo IRC. Posteriormente las botnets evolucionaron hacia estructuras más complejas y sofisticadas. Muchas pequeñas a grandes botnets han sido desarrolladas con múltiples características y funcionalidades. Otras botnets adoptaron diferentes arquitecturas y continuamente evolucionaron con diversos protocolos C&C.

Muy pocas botnets son desarrolladas desde cero, pues la mayoría de las botnets descubiertas fueron versiones modificadas de algunas anteriores. La primera generación de botnets evolucionaron para utilizar servidores web para C&C y HTTP como protocolo de comunicación. Estas botnets centralizadas exhiben similitud en el tráfico C&C, conduciendo a la exposición de los servidores, y por lo tanto sufren de un único punto de falla. El incremento en la tasa de detecciones de botnets impulsó a los autores de malware a desarrollar botnets descentralizadas, para superar las debilidades de un único punto de falla. Las botnets distribuidas están basadas en las redes P2P. La arquitectura P2P conduce hacia una red complicada y un control ineficiente. Entonces surgieron botnets híbridas con características deseables de una arquitectura centralizada y distribuida.

Las botnets utilizan varias técnicas encubiertas durante las diferentes fases de su ciclo de vida. Las botnets explotan muchas fallas, vulnerabilidades, y técnicas de ingeniería social. Cada día una gran cantidad de vulnerabilidades son explotadas en diferentes aplicaciones, con el propósito de infectar las computadoras con malware.

La botnets se diferencian por su arquitectura C&C. El componente C&C de la arquitectura de la botnet es utilizada para controlar los bots desde un sistema remoto. Esto forma la arquitectura de las botnets, y los diferencia de otros tipos de malware.

Los botnet masters comprometen sistemas para configurar los servidores de C&C, con el propósito de emitir comandos y obtener resultados desde los bots. Las botnets son usualmente clasificadas de acuerdo a su arquitectura C&C. Con el transcurrir del tiempo los autores de bots han desarrollado canales de C&C basándose en diferentes estructuras de la red. Se pueden proponer tres topologías de comunicación diferentes en las botnets; centralizada (basada en IRC y HTTP), descentralizada (basada en P2P), y aleatoria.

Las botnets emplean una arquitectura de múltiples capas, lo cual mantiene al atacante en el fondo, y por lo tanto hace más difícil llegar hasta él. En las botnets P2P de capas parcialmente descentralizadas, algunos pares son controlados por el atacante para entregar y diseminar comandos o información hacia otros pares bot. Las botnets P2P se aprovechan de la infraestructura flexible auto organizada, y agregan fácilmente pares bot además de reemplazarlos con otros hosts.

Las botnets pueden propagarse o comunicarse utilizando ya sea métodos basados en la inserción o extracción. Los métodos basados en inserción emplean técnicas para el escaneo de red, de tal manera se encuentren hosts vulnerables e infectarlos para convertirlos en un bot. Este método refleja la naturaleza de auto propagación de las botnets. Conficker y Simda son ejemplos bien conocidos de este tipo de botnets. El método de inserción es un método activo, pues escanea e infecta automáticamente nuevas máquinas para aumentar el número e victimas. En los métodos basados en extracción, los bots se propagan con la ayuda de los usuarios u otros métodos, es decir, métodos los cuales no se propagan por si mismos. En este método los bot masters comprometen servidores web, suben los códigos maliciosos, y dirigen al usuario a descargar códigos maliciosos (ingeniería social). Estos métodos distribuyen los códigos del bot mediante máquinas ya infectadas, utilizando un esquema PPI (pago por instalación). A diferencia de los métodos basados en inserción, los métodos basados en extracción son pasivos, pues implican acciones humanas u otro malware para infectar nuevas máquinas. MegaD y Srizbi emplean métodos basados en extracción. Las botnets recientes utilizan una metodología basada en extracción para infectar nuevas máquinas. Este cambio en la propagación de la botnet de inserción a extracción, ha hecho la prevención y la investigación sean más difíciles. Tales botnes son llamadas botnets de descarga. BredoLab y Botsniffer son algunos ejemplos de tales botnets.

El análisis forense de botnets es una ciencia la cual exhibe el proceso de obtener huellas para identificar, adquirir, analizar, atribuir y mitigar las amenazas de las botnets. El forense de botnets obtiene la causa raíz de las brechas de seguridad. Esto puede iniciar desde una simple evidencia para un ataque DDoS, correos phishing, hasta otra información maliciosa. El forense proporciona una visión importante de como las botnets se comportan. Además la información obtenida puede ser útil para incluso identificar nuevas instancias de botnets. La investigación puede tomar lugar desde los servicios ejecutados en el host y actividades sospechosas o vulnerables.

La detección, investigación, y rastreo de una botnet requiere un entorno forense. El entorno forense utiliza herramientas de software y técnicas para recolectar evidencia digital, para así entender como las botnets se propagan, atacan, y realizan acciones maliciosas. Esta información obtenida desde la investigación forense es útil para una profunda comprensión de las características y la potencia de la botnet. Desafortunadamente, los atacantes utilizan técnicas antiforenses, y permanecen anónimos utilizando muchos proxys.

El sistema forense de botnets, es un dispositivo de seguridad con hardware y software previamente instalado. Existe el requerimiento de integrar conocimiento existente de las botnets, y utilizar el forense en vivo, además de técnicas para el rastreo. El forense en vivo es el proceso de replicar la máquina infectada, documentar los pasos cuando está en funcionamiento, y recolectar toda la evidencia identificada sin ningún cambio.

Dado el hecho las botnets son la causa raíz de muchos ciber ataques y amenazas, los esfuerzos colaborativos son requeridos entre las firmas de seguridad, ISPs, proveedores DNS, grupos de investigación, y agencias de las fuerzas legales. Además, es necesario educar a los usuarios contra los trucos de ingeniería social, mejorar la resistencia, y fortalecer los sistemas de cómputo, de tal manera se prevenga y mitigue los efectos de tales amenazas. Las botnets centralizadas emplean un infraestructura C&C dedicada, como una fuente principal o suministrador de comandos y datos. Por lo tanto se puede detectar y desmontar fácilmente. Las botnets P2P descentralizadas distribuyen el canal de comandos a través de múltiples pares infectados, para ser más resistentes, y por lo tanto preludian las técnicas tradicionales de eliminación.

Las estructuras de la botnets se han multiplicado en los últimos años, además utilizando técnicas avanzadas de empaquetamiento y encriptación; por lo tanto el análisis es muy retador. Además incluso después de la detección, las operación y mecanismos para su eliminación, involucran diferentes partes, por ejemplo los registradores o proveedores de hosting. Además, la propagación global de las botnets, requiere el permiso de varias agencias de las fuerzas legales quienes necesitan evidencia correcta sobre la botnet, para requerir una operación de eliminación y mitigación. Por lo tanto aunque el forense de botnets es muy difícil, es un necesidad apremiante contra las botnets, pues interrumpen la economía basada en Internet, con todos los demás problemas relacionados.

Fuentes:

https://forensicswiki.xyz/wiki/index.php?title=Zombies_and_Botnets:_Setu...
https://en.wikipedia.org/wiki/Eggdrop
https://en.wikipedia.org/wiki/Conficker
https://blog.trendmicro.com/trendlabs-security-intelligence/simda-a-botn...
https://en.wikipedia.org/wiki/Srizbi_botnet
https://en.wikipedia.org/wiki/Bredolab_botnet
http://faculty.cs.tamu.edu/guofei/paper/Gu_NDSS08_botSniffer.pdf

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: @Alonso_ReYDeS
LinkedIn: pe.linkedin.com/in/alonsocaballeroquezada
Facebook: https://www.facebook.com/alonsoreydes
Youtube: http://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: http://www.reydes.com/d/?q=node/1