El protocolo de multidifusión DNS (mDNS) tiene como misión convertir los nombres de host en direcciones IP sin necesidad de una configuración previa de la resolución de nombres. Está diseñado para poder ser utilizado en redes locales de reducido tamaño que carezcan de un servidor local de Nombres de Dominio (DNS), pero sí necesiten una resolución de nombres para la interconexión de los dispositivos presentes en las mismas, como pueden ser, entre otros, impresoras, escáneres o teléfonos IP.
En mDNS, a diferencia del funcionamiento de DNS, los dispositivos envían sus consultas de resolución por multidifusión (multicast) a todo el segmento de red en el que se encuentran inscritos los dispositivos. El dispositivo, cuyo nombre coincida con la consulta, devuelve por multicast su dirección IP para que el equipo que hizo la consulta y el resto de los dispositivos que están a la escucha, lo registren en su caché DNS temporalmente. Esto permite acelerar la resolución de nombres y reducir el tráfico multicast ante una nueva petición.
– Figura 1. Esquema de funcionamiento de mDNS. –
Estas comunicaciones multicast se realizan mediante UDP (User Datagram Protocol), a través del puerto 5353, y sus especificaciones de funcionamiento se describen en la RFC 6762 y la RFC 6763, donde se recogen y normalizan algunas iniciativas como “Bonjour” (Apple), LLMNR (Microsoft) y Avanhi (comunidad libre de Linux), con las que se implementa la resolución de nombres en la tecnología “Zeroconf “ o “Red con Cero Configuración” (Zero-Configuration Networking). Estas especificaciones además permiten que los dispositivos anuncien sus servicios, como puede ser la impresión.
El objetivo del atacante es el envío masivo de peticiones de consultas de resolución de nombres desde el exterior de la red local, sirviéndose de la conectividad por UPD del protocolo mDNS y de la accesibilidad al puerto 5353 desde el exterior para lograr una condición de denegación de servicio.
Para ello, el ciberdelincuente realiza un spoofing de la IP origen de las peticiones, asignándosela al equipo víctima, y utiliza una red de equipos (botnet) para enviar solicitudes desde la red local exterior, consiguiendo así un ataque reflejado y amplificado. En esa amplificación el tamaño de 46 bytes de cada paquete de consulta en origen se multiplica de 4 a 10 veces cuando llegan a la víctima. Como resultado, se tiene una saturación del sistema que es incapaz de gestionar las respuestas o que deja de prestar servicio.
– Figura 2. Esquema del ataque a mDNS. –
Además de los inconvenientes en el funcionamiento de la red atacada, la vulnerabilidad de mDNS puede permitir al atacante extraer los datos intercambiados entre los dispositivos de la red local, como el nombre de host o las direcciones de red. De esta manera, el ciberdelincuente consigue información valiosa del sistema, que le puede ayudar a realizar otros ataques más efectivos y precisos.
Al tratarse de un protocolo diseñado para utilizarse dentro de una red local, los dispositivos mDNS no deberían estar expuestos a riesgos en Internet. Si se diera lo contrario, se recomienda filtrar las consultas entrantes mediante un cortafuegos para permitir solo aquellas legítimas. Cualquier servidor mDNS expuesto en Internet será vulnerable al ataque. Esto es posible comprobarlo mediante el comando:
nmap -Pn -sU -p5353 --script=dns-service-discovery <IP-de-su-servidor>
Si el dispositivo mDNS resulta ser vulnerable, se recomienda seguir las siguientes pautas para prevenir que pueda ser utilizado voluntariamente como parte de la plataforma de un ataque DrDoS sobre un tercero:
Los indicios de un dispositivo afectado por este tipo de ataques se pueden localizar revisando el consumo desmedido de los recursos del equipo, en cuanto a uso de procesador, memoria RAM y acceso a disco. Para esta verificación resulta muy útil revisar los datos que se obtienen de las herramientas de monitorización de salud de equipos desplegadas en la infraestructura.
También se pueden encontrar evidencias de un ataque en las alertas de monitorización de red, analizando el tráfico relacionado con el puerto 5353.
Por otro lado, en el registro de actividad de los dispositivos afectados (logs) también es posible encontrar rastros del suceso, en el caso de que haya pasado desapercibido en el momento de producirse el ataque y haya sospechas de que hubiera ocurrido. Los logs asociados son accesibles según la plataforma del sistema operativo sobre el que funciona. Para saber dónde se almacenan estos registros de auditoría se debe consultar la documentación del fabricante que corresponda.
Una vez confirmada la ejecución del ataque DrDoS sobre dispositivos mDNS propios, hay que poner en práctica los protocolos de actuación y gestión de incidentes definidos previamente. En ellos se aconseja incluir los siguientes puntos:
También es importante actuar con rapidez, ya que la organización puede enfrentarse a reclamaciones por parte de la víctima del ataque, debido a las repercusiones del mismo.
Una vez que el ciberataque haya cesado y el servicio se haya restablecido con normalidad, es recomendable analizar las causas que lo provocaron, identificar las posibles vulnerabilidades y definir un plan de bastionado que lo evite nuevamente.
Con información de INCIBE-CERT_. En GOLSYSTEMS ofrecemos servicio de ciberseguridad, mantenimiento de equipos de computo, instalación y actualización de antivirus. Visita nuestra página web en www.golsystems.mx