mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
62 lines
3.6 KiB
Markdown
62 lines
3.6 KiB
Markdown
# 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 è:
|
|
```bash
|
|
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:
|
|
```bash
|
|
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:
|
|
```bash
|
|
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
|
|
|
|
- [Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things](https://books.google.co.uk/books/about/Practical_IoT_Hacking.html?id=GbYEEAAAQBAJ&redir_esc=y)
|
|
|
|
{{#include ../banners/hacktricks-training.md}}
|