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

Supporta HackTricks

Informazioni di Base

Multicast DNS (mDNS) consente operazioni simili al DNS all'interno delle reti locali senza la necessità di un server DNS tradizionale. Funziona sulla porta UDP 5353 e consente ai dispositivi di scoprire l'uno l'altro e i loro servizi, comunemente visto in vari dispositivi IoT. DNS Service Discovery (DNS-SD), spesso utilizzato insieme a mDNS, aiuta a identificare i servizi disponibili sulla rete attraverso query DNS standard.

PORT     STATE SERVICE
5353/udp open  zeroconf

Funzionamento di mDNS

In ambienti privi di un server DNS standard, mDNS consente ai dispositivi di risolvere nomi di dominio che terminano in .local interrogando l'indirizzo multicast 224.0.0.251 (IPv4) o FF02::FB (IPv6). Aspetti importanti di mDNS includono un valore di Time-to-Live (TTL) che indica la validità del record e un bit QU che distingue tra query unicast e multicast. Dal punto di vista della sicurezza, è fondamentale che le implementazioni di mDNS verifichino che l'indirizzo sorgente del pacchetto sia allineato con la subnet locale.

Funzionamento di DNS-SD

DNS-SD facilita la scoperta dei servizi di rete interrogando i record puntatore (PTR) che mappano i tipi di servizio alle loro istanze. I servizi sono identificati utilizzando un modello _<Service>._tcp o _<Service>._udp all'interno del dominio .local, portando alla scoperta dei corrispondenti record SRV e TXT che forniscono informazioni dettagliate sul servizio.

Esplorazione della rete

Uso di nmap

Un comando utile per scansionare la rete locale per i servizi mDNS è:

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

Questo comando aiuta a identificare le porte mDNS aperte e i servizi pubblicizzati su di esse.

Enumerazione della rete con Pholus

Per inviare attivamente richieste mDNS e catturare il traffico, lo strumento Pholus può essere utilizzato come segue:

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

Attacks

Exploiting mDNS Probing

Un vettore di attacco prevede l'invio di risposte falsificate ai probe mDNS, suggerendo che tutti i nomi potenziali siano già in uso, ostacolando così i nuovi dispositivi nella selezione di un nome unico. Questo può essere eseguito utilizzando:

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

Questa tecnica blocca efficacemente nuovi dispositivi dal registrare i loro servizi sulla rete.

In sintesi, comprendere il funzionamento di mDNS e DNS-SD è cruciale per la gestione e la sicurezza della rete. Strumenti come nmap e Pholus offrono preziose informazioni sui servizi di rete locali, mentre la consapevolezza delle potenziali vulnerabilità aiuta a proteggere contro gli attacchi.

Spoofing/MitM

L'attacco più interessante che puoi eseguire su questo servizio è effettuare un MitM nella comunicazione tra il client e il server reale. Potresti essere in grado di ottenere file sensibili (MitM la comunicazione con la stampante) o anche credenziali (autenticazione Windows). Per ulteriori informazioni, controlla:

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

Riferimenti

Supporta HackTricks

Last updated