Nueva vulnerabilidad (CVE-2023–29552) afecta a más de 50 mil dispositivos en diferentes países


Imagen: Zdzisław Beksiński


Por Víctor Ruiz, fundador de SILIKN, Instructor Certificado en Ciberseguridad — CSCT™, (ISC)² Certified in Cybersecurity℠ CC, EC-Council Ethical Hacking Essentials (EHE) Certified, Ethical Hacking Certified Associate (EHCA) y líder del Capítulo Querétaro de la Fundación OWASP.

Recientemente se ha dado a conocer una vulnerabilidad en un servicio de red basado en UDP llamado protocolo de ubicación de servicio (SLP) que se puede utilizar para amplificar los ataques distribuidos de denegación de servicio (DDoS). Decenas de miles de sistemas y dispositivos tienen este servicio expuesto a Internet. Los atacantes podrían usarlos para generar ataques masivos. Otra mala noticia es que mitigar esta vulnerabilidad probablemente llevará mucho tiempo, porque también está involucrado el ataque de reflexión DDoS.

¿Cómo funcionan los ataques de reflexión DDoS?

Un ataque de reflexión DDoS es un tipo de ataque cibernético en el que un atacante utiliza una gran cantidad de sistemas informáticos infectados (botnets) para enviar solicitudes falsificadas a servidores públicos que responden a ellas con una cantidad mucho mayor de datos que la solicitud original. Este proceso se conoce como “reflexión” porque el atacante utiliza la capacidad de respuesta de servidores legítimos para amplificar la cantidad de tráfico que se dirige al objetivo del ataque, lo que hace que el servidor sea incapaz de responder a solicitudes legítimas.

Los ataques de reflexión DDoS pueden ser extremadamente efectivos debido a que los servidores de reflexión suelen tener una gran capacidad de respuesta, lo que significa que un solo atacante puede generar un gran volumen de tráfico de ataque. Además, la fuente de tráfico parece provenir de una gran cantidad de sistemas, lo que dificulta su identificación y mitigación.

Este tipo de ataque generalmente funciona con protocolos de comunicación que se basan en el Protocolo de datagramas de usuario (UDP), que junto con el Protocolo de control de transmisión (TCP) es uno de los protocolos principales para transmitir datos a través de Internet.

Sin embargo, a diferencia de TCP, UDP se creó para la velocidad y no tiene comprobaciones adicionales, lo que lo hace susceptible por diseño a la suplantación de direcciones de origen. Esto significa que un atacante puede enviar un paquete UDP a un servidor pero poner una dirección IP de origen diferente en el paquete en lugar de la suya. Esto hará que el servidor envíe su respuesta a cualquier dirección IP de origen que se haya configurado.

Además del efecto de reflexión, que oculta el origen real del tráfico, con ciertos protocolos basados en UDP, el tráfico resultante también puede amplificarse, lo que significa que la respuesta generada es mucho mayor que la solicitud original. Esto se conoce como amplificación DDoS y es muy útil para los atacantes porque les permite generar más tráfico no solicitado hacia un objetivo que si le enviaran paquetes directamente desde las máquinas bajo su control.

La amplificación DDoS funciona con una variedad de protocolos, incluidos DNS (Sistema de nombres de dominio), mDNS (DNS de multidifusión), NTP (Protocolo de tiempo de red), SSDP (Protocolo simple de detección de servicios), SNMP (Protocolo simple de administración de redes) y otros porque todos usan UDP para transmisión. Los servidores expuestos a Internet que aceptan paquetes en esos protocolos y generan respuestas pueden, por lo tanto, ser objeto de abuso para la amplificación de DDoS e históricamente se han utilizado para generar algunos de los ataques DDoS más grandes hasta la fecha.

Por su parte, el Protocolo de ubicación de servicios (SLP) es un protocolo heredado que se remonta a 1997 y estaba destinado a ser utilizado en redes locales para el descubrimiento de servicios automatizado y la configuración dinámica entre aplicaciones. SLP en un sistema mantendrá un directorio de servicios disponibles, como impresoras, servidores de archivos y otros recursos de red. Escuchará las solicitudes en el puerto UDP 427.

Aunque SLP no estaba destinado a estar expuesto fuera de las redes locales, se han identificado más de 56,500 dispositivos que aceptan conexiones SLP en Internet. Estos dispositivos pertenecen a más de 3,200 organizaciones de todo el mundo y cubren 780 tipos diferentes de productos, incluidas las instancias de VMware ESXi Hypervisor, las impresoras Konica Minolta, enrutadores Planex e IBM Integrated Management Module (IMM), entre otros.

Como muchos otros protocolos basados en UDP, se puede hacer un mal uso de las instancias públicas de SLP para la amplificación de DDoS porque los atacantes pueden consultar los servicios disponibles en un servidor SLP, que es una solicitud de 29 bytes, y la respuesta del servidor normalmente tendrá entre 48 y 350 bytes. Eso es un factor de amplificación de entre 1.6X y 12X. Sin embargo, muchas implementaciones de SLP permiten a los usuarios no autenticados registrar nuevos servicios arbitrarios en un extremo de SLP, lo que aumenta las respuestas posteriores del servidor hasta el límite práctico de los paquetes UDP, que es de 65,536 bytes.

Todo lo que los atacantes tienen que hacer es enviar primero paquetes al servidor SLP para registrar nuevos servicios hasta que su búfer esté lleno y el servidor no acepte nuevos registros. Luego, pueden proceder con un ataque reflexivo regular mediante el envío de solicitudes de listas de servicios con una dirección IP de origen falsificada. Esto dará como resultado un factor de amplificación masivo de 2200X, es decir, solicitudes de 29 bytes que generan respuestas de 65,000 bytes.

Cabe señalar que esta vulnerabilidad se rastrea como CVE-2023–29552 y tiene una clasificación de gravedad CVSS de 8,6 (alta).

Para poder iniciar con la mitigación de esta vulnerabilidad SLP debe desactivarse en todos los sistemas que se ejecutan en redes que no son de confianza, como los que están conectados directamente a Internet. Si eso no es posible, entonces los firewalls deben configurarse para filtrar el tráfico en el puerto UDP y TCP 427. Esto evitará que los atacantes externos accedan al servicio SLP.

CVE-2023–29552 no es la primera vulnerabilidad que afecta a SLP. VMware corrigió múltiples fallas en su implementación de OpenSLP en ESXi a lo largo de los años y en 2021 deshabilitó el servicio de forma predeterminada en las nuevas versiones. Ahora aconseja a todos los clientes que deshabiliten el servicio, especialmente porque las pandillas de ransomware han comenzado a explotar una de esas vulnerabilidades: un desbordamiento de búfer de almacenamiento dinámico rastreado como CVE-2021–21974.

Los países con la mayor cantidad de dispositivos vulnerables son Estados Unidos, Inglaterra, Japón, Alemania y Canadá. Desafortunadamente, dado que los dispositivos están distribuidos en tantas organizaciones, es probable que un porcentaje significativo de ellos permanezca expuesto a Internet durante mucho tiempo, lo que aumenta las posibilidades de que pronto veamos ataques DDoS utilizando la amplificación SLP.

Para más información, visite: https://www.silikn.com/