hacktricks/network-services-pentesting/5353-udp-multicast-dns-mdns.md

87 lines
5.9 KiB
Markdown

# 5353/UDP Multicast DNS (mDNS) e DNS-SD
{% hint style="success" %}
Impara e pratica il hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Supporta HackTricks</summary>
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
</details>
{% endhint %}
## **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 è:
```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
```
## 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:
```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 la comunicazione con la stampante) o anche credenziali (autenticazione Windows).\
Per ulteriori informazioni, controlla:
{% content-ref url="../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md" %}
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
{% endcontent-ref %}
## 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)
{% hint style="success" %}
Impara e pratica AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Supporta HackTricks</summary>
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository github.
</details>
{% endhint %}