Blast-RADIUS, una derivación de autenticación en el protocolo RADIUS/UDP ampliamente utilizado, permite a los actores de amenazas violar redes y dispositivos en ataques de colisión MD5 de tipo intermediario.
Muchos dispositivos en red (incluidos switches, routers e infraestructuras de enrutamiento) en redes empresariales y de telecomunicaciones utilizan el protocolo de autenticación y autorización RADIUS (Remote Authentication Dial-In User Service), a veces decenas de miles de dispositivos en una sola red.
El protocolo RADIUS es el núcleo de la infraestructura de red actual. Aunque el protocolo se diseñó en 1991, durante la era del acceso telefónico a Internet, sigue siendo el protocolo de autenticación ligero estándar de facto utilizado para el acceso remoto de usuarios y administradores a dispositivos en red. "RADIUS cuenta con el respaldo de prácticamente todos los switch, router, access point, concentradores de VPN vendidos en los últimos veinte años" (fuente).
Entre su amplia gama de aplicaciones, el protocolo se utiliza para autenticación en DSL y FTTH, 802.1X y Wi-Fi, roaming celular 2G y 3G, 5G DNN (Nombre de Red de Datos), APN privado y VPN, y redes de infraestructura crítica.
Blast-RADIUS [PDF] explota una nueva vulnerabilidad de protocolo (CVE-2024-3596) y un ataque de colisión MD5, lo que permite a los atacantes con acceso al tráfico RADIUS manipular las respuestas del servidor y agregar atributos de protocolo arbitrarios, lo que les permite obtener privilegios de administrador en dispositivos RADIUS sin necesidad de fuerza o robo de credenciales.
"El ataque Blast-RADIUS permite a un atacante intermediario entre el cliente y el servidor RADIUS falsificar un mensaje de aceptación de protocolo válido en respuesta a una solicitud de autenticación fallida", explicaron los investigadores detrás del mismo. Esta falsificación podría darle al atacante acceso a dispositivos y servicios de red sin que el atacante tenga que adivinar o forzar contraseñas o secretos compartidos. El atacante no conoce las credenciales del usuario.
"Un adversario que aproveche nuestro ataque puede aumentar los privilegios desde el acceso parcial a la red hasta poder iniciar sesión en cualquier dispositivo que utilice RADIUS para autenticación o asignarse privilegios de red arbitrarios".
El protocolo RADIUS utiliza solicitudes y respuestas con hashes MD5 al realizar la autenticación en un dispositivo. El exploit de prueba de concepto de los investigadores (que aún no se ha compartido) calcula una colisión de hash de prefijo elegido MD5 necesaria para crear una respuesta válida de "Access-Accept" para indicar una solicitud de autenticación exitosa. Este hash MD5 falsificado luego se inyecta en la comunicación de la red mediante el ataque de intermediario, lo que permite al atacante iniciar sesión.
Blast-RADIUS es una vulnerabilidad de protocolo y, por lo tanto, afecta a todas las implementaciones de RADIUS que utilizan métodos de autenticación que no sean EAP a través de UDP.
El exploit tarda de 3 a 6 minutos en crear este hash MD5, más que los tiempos de espera de 30 a 60 segundos comúnmente utilizados en la práctica para RADIUS.
Sin embargo, cada paso del algoritmo de colisión utilizado en el ataque se puede paralelizar de manera efectiva y es adecuado para la optimización del hardware, lo que permitiría a un atacante con buenos recursos implementar el ataque utilizando GPU, FPGA u otro hardware más moderno y rápido para lograr tiempos de ejecución más rápidos, posiblemente decenas o cientos de veces más rápido.
"Si bien una colisión de hash MD5 se demostró por primera vez en 2004, no se pensó que fuera posible explotarla en el contexto del protocolo RADIUS", dijo el equipo de investigación. El ataque identifica una vulnerabilidad de protocolo en la forma en que RADIUS usa MD5 que permite al atacante inyectar un atributo de protocolo malicioso que produce una colisión hash entre el autenticador de respuesta generado por el servidor y el paquete de respuesta falsificado deseado por el atacante.
"Además, debido a que nuestro ataque se realiza en línea, el atacante necesita poder calcular el llamado ataque de colisión MD5 con prefijo elegido en minutos o segundos". Los tiempos de ataque de colisión con prefijo elegido mejor reportados anteriormente tomaron horas y produjeron colisiones que no eran compatibles con el protocolo RADIUS".
Una implementación de servidor RADIUS es vulnerable si no requiere un atributo Message-Authenticator en cada solicitud del cliente. Un cliente RADIUS es vulnerable si no requiere un atributo Message-Authenticator de cada respuesta del servidor. Consulte el documento técnico de Alan DeKok para obtener más información.
Dado que este ataque no compromete las credenciales del usuario final, no hay nada que los usuarios finales puedan hacer para protegerse contra él. Sin embargo, se recomienda a los proveedores y administradores de sistemas que fabrican y administran dispositivos RADIUS que sigan estas mejores prácticas y guías.
Para defenderse de este ataque, los operadores de red pueden actualizar a RADIUS sobre TLS (RADSEC), cambiar a implementaciones RADIUS de "salto múltiple" y aislar el tráfico RADIUS del acceso a Internet mediante VLAN de administración de acceso restringido o túneles TLS/IPsec.
Fuente: BC