3.6 KiB
5353/UDP Multicast DNS (mDNS) e DNS-SD
{{#include ../banners/hacktricks-training.md}}
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 visti 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 senza un server DNS standard, mDNS consente ai dispositivi di risolvere i 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
Attacchi
Sfruttare il Probing mDNS
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 della comunicazione con la stampante) o anche credenziali (autenticazione Windows).
Per ulteriori informazioni controlla:
{{#ref}} ../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md {{#endref}}
Riferimenti
{{#include ../banners/hacktricks-training.md}}