Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Ciberataques DrDoS basados en el protocolo mDNS

Fecha de publicación 10/06/2021
Autor
INCIBE (INCIBE)
Cicerataques DrDoS basados en el protocolo mDNS

Tras el estudio preliminar de los ciberataques de denegación de servicio (DoS), junto con algunas de sus variantes expuestas en el artículo “DrDoS: características y funcionamiento”, en este nuevo artículo se abordará cómo el protocolo de mDNS es utilizado como una herramienta para desarrollar un ciberataque DoS en su variante DrDoS.

mDNS

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.

Esquema de funcionamiento de mDNS

- 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.

Vector de ataque

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.

Esquema del ataque a mDNS

- 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.

Prevención

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:

  • Desactivar la resolución de mDNS. Por definición, cualquier equipo que tenga activa la resolución de nombres de dominio mDNS, es susceptible de convertirse en víctima de este ataque, por lo que desactivar el servicio es imprescindible.
  • Solicitar al proveedor de servicios de Internet (ISP) filtros antispoofing. Los ISP pueden rechazar tráfico con direcciones falsificadas no accesibles a través de la ruta real del paquete. Esto evitará que el tráfico asociado a mDNS reciba y procese consultas que sean susceptibles de ser un ataque DrDoS a través de este protocolo.
  • Configurar el servicio de mDNS detrás de un cortafuegos. El firewall debe configurarse con reglas que detecten y filtren peticiones dirigidas por UDP no solicitadas, incluyendo “listas blancas” y configuración antispoofing de IP.
  • Limitar la visibilidad de los dispositivos mDNS en Internet. Siempre que sea posible es recomendable limitar el acceso de los equipos que tengan habilitada la resolución mDNS para que no sean “públicos”, normalmente mediante el filtrado de direcciones IP que pueden acceder al servidor por cortafuegos.
  • Despliegue de sistemas de detección y bloqueo de intrusiones (IDS/IPS). Un Gestor de Eventos e Información de Seguridad (SIEM) permitiría identificar anomalías en el tráfico con origen o destino al puerto 5353 y detectarlas rápidamente para aplicar una respuesta inmediata, evitando así posibles ataques.
  • Definir un protocolo de actuación para incidentes DrDoS por mDNS: disponer de un plan de actuación previo que permita una respuesta rápida y eficaz para evitar un impacto mayor en el sistema.
  • Mantener los equipos actualizados y parcheados. De esta forma, se previene la explotación de otras vulnerabilidades que puedan dar lugar a un ataque DrDoS sobre los equipos que utilizan el servicio mDNS.

Detección y evidencias

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.

Respuesta y recomendaciones

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:

  • Revisar el origen de direcciones IP origen y destino, puertos de destino y direcciones URL del tráfico mDNS: reunir toda la información que se considere que pueda resultar de utilidad para comunicar al ISP y que proceda a su bloqueo.
  • Bloqueo y filtrado del tráfico no deseado. Los datos recopilados anteriormente permitirán configurar reglas de filtrado en cortafuegos y enrutadores para impedir que lleguen peticiones dirigidas al puerto 5353 propio. Se recomienda contactar con el proveedor de Internet y de hosting para que apliquen estos filtros.
  • Obtener asistencia técnica: contactar con los técnicos de TI contratados a través de los CERT de carácter público de referencia, como puede ser INCIBE-CERT.

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.