Un conjunto de fallas graves afectan al popular reenviador de DNS DNSMasq

seguridad dns

Los investigadores de seguridad cibernética han descubierto múltiples vulnerabilidades en Dnsmasq, un popular software de código abierto que se utiliza para almacenar en caché las respuestas del Sistema de nombres de dominio (DNS), lo que permite potencialmente que un adversario realice ataques de envenenamiento de caché de DNS y ejecute código malicioso de forma remota.

Los siete defectos, llamados colectivamente «DNSpooq«por la firma de investigación israelí JSOF, se hace eco de las debilidades previamente reveladas en la arquitectura DNS, lo que hace que los servidores Dnsmasq sean impotentes contra una variedad de ataques.

«Descubrimos que Dnsmasq es vulnerable al ataque de envenenamiento de caché de DNS por parte de un atacante fuera de ruta (es decir, un atacante que no observa la comunicación entre el reenviador de DNS y el servidor de DNS)», señalaron los investigadores en un informe publicado hoy.

«Nuestro ataque permite el envenenamiento de varios nombres de dominio a la vez y es el resultado de varias vulnerabilidades encontradas. El ataque se puede completar con éxito en segundos o minutos, y no tiene requisitos especiales. También encontramos que muchas instancias de Dnsmasq están mal configuradas. para escuchar en la interfaz WAN, haciendo posible el ataque directamente desde Internet».

Dnsmasq, abreviatura de enmascaramiento de DNS, es un software liviano con capacidades de reenvío de DNS que se utiliza para almacenar en caché localmente los registros de DNS, lo que reduce la carga en los servidores de nombres ascendentes y mejora el rendimiento.

A partir de septiembre de 2020, había alrededor de 1 millón de instancias vulnerables de Dnsmasq, descubrió JSOF, con el software incluido en los teléfonos inteligentes Android y millones de enrutadores y otros dispositivos de red de Cisco, Aruba, Technicolor, Redhat, Siemens, Ubiquiti y Comcast.

Revisión de Kaminsky Attack y SAD DNS

El concepto de envenenamiento de caché de DNS no es nuevo. En 2008, el investigador de seguridad Dan Kaminsky presentó sus hallazgos sobre una vulnerabilidad de DNS crítica y generalizada que permitía a los atacantes lanzar ataques de envenenamiento de caché contra la mayoría de los servidores de nombres.

Aprovechó una falla de diseño fundamental en el DNS (solo puede haber 65 536 ID de transacciones posibles (TXID)) para inundar el servidor DNS con respuestas falsificadas, que luego se almacenan en caché y se aprovechan para enrutar a los usuarios a sitios web fraudulentos.

Los identificadores de transacciones se introdujeron como un mecanismo para frustrar la posibilidad de que un servidor de nombres autorizado pudiera ser suplantado para elaborar respuestas maliciosas. Con esta nueva configuración, los solucionadores de DNS adjuntaron una identificación de 16 bits a sus solicitudes a los servidores de nombres, que luego enviarían una respuesta con la misma identificación.

Reenviador de DNS DNSMasq

Pero la limitación en los ID de transacción significaba que cada vez que un resolutor recursivo consulta el servidor de nombres autorizado para un dominio determinado (por ejemplo, www.google.com), un atacante podría inundar el resolutor con respuestas DNS para algunas o todas las 65 mil o más posibles. identificadores de transacciones.

Si la respuesta maliciosa con el ID de transacción correcto del atacante llega antes que la respuesta del servidor autorizado, entonces la caché de DNS se envenenaría de manera efectiva y devolvería la dirección IP elegida por el atacante en lugar de la dirección legítima mientras la respuesta de DNS fuera válida. .

El ataque se basó en el hecho de que todo el proceso de búsqueda no está autenticado, lo que significa que no hay forma de verificar la identidad del servidor autorizado, y que las solicitudes y respuestas de DNS usan UDP (Protocolo de datagramas de usuario) en lugar de TCP, lo que facilita falsear las respuestas.

Para contrarrestar el problema, se usó un puerto UDP aleatorio como segundo identificador junto con el ID de la transacción, en lugar de usar solo el puerto 53 para búsquedas y respuestas de DNS, lo que elevó la entropía en el orden de miles de millones y lo hizo prácticamente inviable para los atacantes. para adivinar la combinación correcta del puerto de origen y el ID de la transacción.

Aunque la efectividad de los ataques de envenenamiento de caché se ha visto afectada debido a la aleatorización del puerto de origen (SPR) antes mencionada y protocolos como DNSSEC (Extensiones de seguridad del sistema de nombres de dominio), los investigadores encontraron en noviembre pasado un canal lateral «novedoso» para vencer la aleatorización por utilizando los límites de velocidad de ICMP como un canal lateral para revelar si un puerto determinado está abierto o no.

Los ataques, llamados «SAD DNS» o Side-channel AttackeD DNS, implican el envío de una ráfaga de paquetes UDP falsificados a un sistema de resolución de DNS, cada uno enviado a través de un puerto diferente, y el uso de mensajes ICMP «Puerto inalcanzable» (o la falta de ellos) como un indicador para discernir si se ha alcanzado el límite de velocidad y, finalmente, reducir el puerto de origen exacto desde el que se originó la solicitud.

Montar ataques en varias etapas que permitan la adquisición de dispositivos

Curiosamente, los ataques de envenenamiento de caché de DNS detallados por JSOF tienen similitudes con SAD DNS en que las tres vulnerabilidades (CVE-2020-25684, CVE-2020-25685 y CVE-2020-25686) tienen como objetivo reducir la entropía de los ID de transacción y puerto de origen que se requieren para que se acepte una respuesta.

Específicamente, los investigadores notaron que, a pesar de la compatibilidad de Dnsmasq con SPR, «multiplexa múltiples TXID en la parte superior de un puerto y no vincula cada puerto a TXID específicos», y que el algoritmo CRC32 utilizado para prevenir la suplantación de DNS se puede anular de manera trivial, lo que lleva a un escenario en el que «el atacante necesita obtener cualquiera de los puertos correctos y cualquiera de los TXID correctos».

Se descubrió que las versiones 2.78 a 2.82 de Dnsmasq estaban afectadas por los tres defectos.

Reenviador de DNS DNSMasq

Las otras cuatro vulnerabilidades reveladas por JSOF son desbordamientos de búfer basados ​​en montón, que pueden conducir a una posible ejecución remota de código en el dispositivo vulnerable.

“Estas vulnerabilidades, en sí mismas, tendrían un riesgo limitado, pero se vuelven especialmente poderosas ya que pueden combinarse con las vulnerabilidades de envenenamiento de caché para producir un ataque potente, lo que permite la ejecución remota de código”, dijeron los investigadores.

Peor aún, estas debilidades se pueden encadenar con otros ataques de red como SAD DNS y NAT Slipstreaming para montar ataques de varias etapas contra los resolutores de Dnsmasq que escuchan en el puerto 53. Incluso aquellos que están configurados para escuchar solo las conexiones recibidas desde dentro de una red interna son en riesgo si el código malicioso se transmite a través de navegadores web u otros dispositivos infectados en la misma red.

Además de hacerlos susceptibles al envenenamiento de caché, los ataques también pueden permitir que un mal actor tome el control de los enrutadores y los equipos de red, organice ataques de denegación de servicio distribuido (DDoS) al subvertir el tráfico a un dominio malicioso e incluso evitar que los usuarios accedan. sitios legítimos (DDoS inverso).

Los investigadores también plantearon la posibilidad de un «ataque de gusanos» en el que los dispositivos móviles conectados a una red que usa un servidor Dnsmasq infectado reciben un registro DNS incorrecto y luego se usan para infectar una nueva red al conectarse a ella.

Actualice Dnsmasq a 2.83

Se recomienda encarecidamente que los proveedores actualicen su software Dnsmasq a la última versión (2.83 o superior) que se lanzará más adelante para mitigar el riesgo.

Como soluciones alternativas, los investigadores sugieren reducir el número máximo de consultas que se pueden reenviar, así como confiar en DNS sobre HTTPS (DoH) o DNS sobre TLS (DoT) para conectarse al servidor ascendente.

«DNS es un protocolo crítico de Internet cuya seguridad afecta en gran medida[s] la seguridad de los usuarios de Internet «, concluyeron los investigadores. Estos problemas ponen los dispositivos de red en riesgo de compromiso y afectan a millones de usuarios de Internet, que pueden sufrir el ataque de envenenamiento de caché presentado.

«Este punto culminante[s] la importancia de la seguridad del DNS en general y la seguridad de los reenviadores de DNS en particular. También destaca la necesidad de acelerar la implementación de medidas de seguridad de DNS, como DNSSEC, seguridad de transporte de DNS y cookies de DNS».

Continua leyendo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Newsletter Signup

Suscríbete a nuestra lista si te interesa recibir turcos exclusivos sobre hacking y seguridad informática