5353/UDP Multicast DNS (mDNS) and DNS-SD

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Equipos Rojos de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Información Básica

Multicast DNS (mDNS) permite realizar operaciones similares a DNS dentro de redes locales sin necesidad de un servidor DNS tradicional. Opera en el puerto UDP 5353 y permite a los dispositivos descubrirse mutuamente y sus servicios, comúnmente visto en varios dispositivos IoT. Descubrimiento de Servicios DNS (DNS-SD), a menudo utilizado junto con mDNS, ayuda a identificar los servicios disponibles en la red a través de consultas DNS estándar.

PORT     STATE SERVICE
5353/udp open  zeroconf

Operación de mDNS

En entornos sin un servidor DNS estándar, mDNS permite a los dispositivos resolver nombres de dominio que terminan en .local al consultar la dirección de multidifusión 224.0.0.251 (IPv4) o FF02::FB (IPv6). Aspectos importantes de mDNS incluyen un valor de Tiempo de Vida (TTL) que indica la validez del registro y un bit QU que distingue entre consultas unicast y multicast. En términos de seguridad, es crucial que las implementaciones de mDNS verifiquen que la dirección de origen del paquete se alinee con la subred local.

Funcionamiento de DNS-SD

DNS-SD facilita el descubrimiento de servicios de red al consultar registros de puntero (PTR) que mapean tipos de servicio a sus instancias. Los servicios se identifican utilizando un patrón _<Servicio>._tcp o _<Servicio>._udp dentro del dominio .local, lo que lleva al descubrimiento de registros SRV y TXT correspondientes que proporcionan información detallada del servicio.

Exploración de la Red

Uso de nmap

Un comando útil para escanear la red local en busca de servicios mDNS es:

nmap -Pn -sUC -p5353 [target IP address]

Este comando ayuda a identificar los puertos mDNS abiertos y los servicios anunciados a través de ellos.

Enumeración de Red con Pholus

Para enviar activamente solicitudes mDNS y capturar tráfico, la herramienta Pholus puede ser utilizada de la siguiente manera:

sudo python3 pholus3.py [network interface] -rq -stimeout 10

Ataques

Explotando la Sonda mDNS

Un vector de ataque implica enviar respuestas falsificadas a las sondas mDNS, sugiriendo que todos los nombres potenciales ya están en uso, dificultando así que los nuevos dispositivos seleccionen un nombre único. Esto se puede ejecutar utilizando:

sudo python pholus.py [network interface] -afre -stimeout 1000

Esta técnica bloquea efectivamente que nuevos dispositivos registren sus servicios en la red.

En resumen, entender el funcionamiento de mDNS y DNS-SD es crucial para la gestión y seguridad de la red. Herramientas como nmap y Pholus ofrecen información valiosa sobre los servicios de red locales, mientras que la conciencia de las vulnerabilidades potenciales ayuda a protegerse contra ataques.

Suplantación de identidad/Ataque de intermediario

El ataque más interesante que puedes realizar sobre este servicio es llevar a cabo un Ataque de intermediario en la comunicación entre el cliente y el servidor real. Podrías obtener archivos sensibles (intermediar la comunicación con la impresora) o incluso credenciales (autenticación de Windows). Para más información, consulta:

pageSpoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks

Referencias

Aprende a hackear AWS desde cero hasta convertirte en un experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización