viernes, octubre 28, 2016

Ataques DDoS con amplificación vía CLDAP (Connection-less LDAP) en la botnet Mirai

Como supongo que la mayoría de vosotros sabéis, el ataque de DDOS de la semana pasada fue realizado con la botnet Miari. Multitud de dispositivos controlados remotamente para atacar un único objetivo y hacer que la potencia sea tal que no pueda dar servicio. Pero para generar tal cantidad de tráfico - se habla de picos de 1.2 TBps - no basta con controlar muchos dispositivos, sino de amplificar todo lo que se pueda la generación de tráfico.

Figura 1: Ataques DDoS con amplificación vía CLDAP (Connection-less LDAP) en la botnet Mirai

Supongamos un equipo conectado en una casa particular con una línea de comunicaciones de 1MB que forma parte de la botnet. A priori, parece lógico pensar que este equipo puede aportar hasta un máximo de 1MB en el ataque total de la red, pero los atacantes, desde hace tiempo, utilizan técnicas de amplificación para conseguir que este dispositivo infectado genere mucho más tráfico que ese MB. Y aquí es donde la empresa Corero Network Security dice que Mirari utilizó un nuevo 0day en el protocolo CLDAP para conseguir este efecto.

Ataques de amplificación

Los ataques de amplificación no son nuevos, y podemos irnos muchos años atrás para ver cómo funcionaba el Ataque del Pitufo (Smurf Attack) y entender el proceso. Básicamente, todos los ataques de amplificación se basan en buscar una conexión de Internet de gran potencia (mucho más de 1MB) que ante una petición de tamaño X genere una respuesta de tamaño Y, donde el tamaño de Y es mayor que el de X. Se dice que la respuesta entonces está amplificada en un factor K > 1 tal que Y= K* X.

Figura 2: El ataque Smurft hacía amplificación con paquetes ICMP enviados a direcciones broadcast

Cuanto mayor sea el factor K, mayor tráfico se conseguirá con un bot en una conexión de 1MB. Supongamos que ante una petición DNS un atacante, con enviar una petición de 20 bytes consigue una respuesta de 80 bytes. En ese caso estaríamos hablando de una petición que consigue un factor de amplificación 4, con lo que un equipo controlado detrás de una conexión de 1MB sería capaz de conseguir un total de 4MB de tráfico de respuesta.

Figura 3: Ejemplo de un ataque simple de DNS amplification

El objetivo de los ataques de amplificación es conseguir que ese tráfico generado desde el servidor no sea enviado al equipo que originó la petición - en este caso el bot detrás de la conexión de 1 MB - sino que acabe en el servidor que se quiere atacar. Para eso, hay que conseguir hacer un ataque de spoofing - o suplantación de dirección IP - y para ello lo más sencillo es que se haga con servicios que funcionen sobre el protocolo UDP.

Por supuesto, en el pasado hemos visto ataques de spoofing sobre protocolo TCP, pero estos deben realizar la negociación de la conexión a ciegas, y la existencia de algoritmos robustos de generación de los números de secuencia TCP dificultan estos ataques - amen de protección en dispositivos de red que tienen sistemas de alerta contra este tipo de ataques -.

Un 0day de CLDAP (Connection-Less LDAP)

A lo largo de la historia hemos visto muchos tipos de ataques de amplificación. Ataques de DNS amplification como se utilizaron en el ataque de Spamhaus o de NTP amplification - además del ataque del pitufo citado anteriormente -. Ahora, según parece, hay un 0day que podría afectar al protocolo CLDAP.

Figura 4: Servidores usados en ataque DDoS de 400 GBps con NTP amplication en 2014

Según la empresa Corero Network Security, entre el tráfico detectado en el ataque de Mirai a Dyn se detectó mucho tráfico de respuestas CLDAP, lo que apunta a que se ha descubierto un 0day que permite hacer una amplificación con estas peticiones suplantando la dirección de origen de la petición CLDAP. Esto es así porque el protocolo CLDAP permite realizar conexiones UDP a los árboles LDAP, lo que facilita el proceso de suplantación.

El protocolo CLDAP puede estar habilitado en tus árboles LDAP e incluso Active Directory de Microsoft soporta este tipo de conexiones para acelerar los procesos de consulta a los objetos del árbol LDAP que da soporte a AD.

Figura 5: MS-CLDAP en Active Directory

En el libro de Hacking Web Technologies, yo le dediqué todo un extenso capítulo a los ataques a servidores LDAP y cómo protegerse de ellos, pero no hacía por supuesto ninguna referencia a este posible 0day. Ahora que es público, lógicamente, si tienes servicios LDAP abiertos a Internet, debes mirar si tu servidor soporta conexiones vía UDP de tipo CLDAP, porque entonces puedes ser parte de los ataques como elemento amplificación.

Saludos Malignos!

2 comentarios:

  1. Buenas Chema, quizas mi pregunta este fuera de lugar en este post... pero como saber si mi dispositivo o ordenador es parte de una botnet o red zoombi, conviene saber para tomar medidas. Saludos y sigue haciendo el mal, que nos hace bien a todos.

    ResponderEliminar
  2. Kerux,
    1ro.- No utilices "Licencias Piratas" en tu antivirus como minimo.
    2do.- Revisa e investiga sobre la procedencia de tus programas instalados que no sean confiables tambien deberas de revisar los puertos abiertos en tu firewall "Netstat -a".
    3ro.- Investiga los puertos sospechos y revisa tu trafico talvez con wiresshark.

    Si se requiere un conocimiento basico en protocolos y puertos que deberas investigar.

    Saludos.

    ResponderEliminar