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

87 lines
6.1 KiB
Markdown

# 5353/UDP Multicast DNS (mDNS) und DNS-SD
{% hint style="success" %}
Lernen & üben Sie 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">\
Lernen & üben Sie 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>Unterstützen Sie HackTricks</summary>
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
</details>
{% endhint %}
## **Grundinformationen**
**Multicast DNS (mDNS)** ermöglicht **DNS-ähnliche Operationen** innerhalb lokaler Netzwerke, ohne einen traditionellen DNS-Server zu benötigen. Es arbeitet auf **UDP-Port 5353** und ermöglicht es Geräten, sich gegenseitig und ihre Dienste zu entdecken, was häufig bei verschiedenen IoT-Geräten zu sehen ist. **DNS Service Discovery (DNS-SD)**, das oft zusammen mit mDNS verwendet wird, hilft dabei, Dienste zu identifizieren, die im Netzwerk über standardisierte DNS-Abfragen verfügbar sind.
```
PORT STATE SERVICE
5353/udp open zeroconf
```
### **Betrieb von mDNS**
In Umgebungen ohne einen standardmäßigen DNS-Server ermöglicht mDNS Geräten, Domainnamen, die auf **.local** enden, aufzulösen, indem die Multicast-Adresse **224.0.0.251** (IPv4) oder **FF02::FB** (IPv6) abgefragt wird. Wichtige Aspekte von mDNS umfassen einen **Time-to-Live (TTL)**-Wert, der die Gültigkeit des Eintrags angibt, und ein **QU-Bit**, das zwischen Unicast- und Multicast-Abfragen unterscheidet. Sicherheitsmäßig ist es entscheidend, dass mDNS-Implementierungen überprüfen, ob die Quelladresse des Pakets mit dem lokalen Subnetz übereinstimmt.
### **Funktionsweise von DNS-SD**
DNS-SD erleichtert die Entdeckung von Netzwerkdiensten, indem nach Zeigeraufzeichnungen (PTR) gefragt wird, die Diensttypen ihren Instanzen zuordnen. Dienste werden mithilfe eines **_\<Service>.\_tcp oder \_\<Service>.\_udp**-Musters innerhalb der **.local**-Domain identifiziert, was zur Entdeckung entsprechender **SRV**- und **TXT-Aufzeichnungen** führt, die detaillierte Dienstinformationen bereitstellen.
### **Netzwerkerkundung**
#### **nmap-Nutzung**
Ein nützlicher Befehl zum Scannen des lokalen Netzwerks nach mDNS-Diensten ist:
```bash
nmap -Pn -sUC -p5353 [target IP address]
```
Dieser Befehl hilft, offene mDNS-Ports und die über sie beworbenen Dienste zu identifizieren.
#### **Netzwerkenumeration mit Pholus**
Um aktiv mDNS-Anfragen zu senden und den Datenverkehr zu erfassen, kann das **Pholus**-Tool wie folgt verwendet werden:
```bash
sudo python3 pholus3.py [network interface] -rq -stimeout 10
```
## Angriffe
### **Ausnutzen von mDNS-Probing**
Ein Angriffsvektor besteht darin, gefälschte Antworten auf mDNS-Probes zu senden, die vorschlagen, dass alle potenziellen Namen bereits in Verwendung sind, wodurch neue Geräte daran gehindert werden, einen eindeutigen Namen auszuwählen. Dies kann durchgeführt werden mit:
```bash
sudo python pholus.py [network interface] -afre -stimeout 1000
```
Diese Technik blockiert effektiv neue Geräte daran, ihre Dienste im Netzwerk zu registrieren.
**Zusammenfassend** ist das Verständnis der Funktionsweise von mDNS und DNS-SD entscheidend für das Netzwerkmanagement und die Sicherheit. Tools wie **nmap** und **Pholus** bieten wertvolle Einblicke in lokale Netzwerkdienste, während das Bewusstsein für potenzielle Schwachstellen hilft, sich gegen Angriffe abzusichern.
### Spoofing/MitM
Der interessanteste Angriff, den Sie über diesen Dienst durchführen können, ist ein **MitM** in der **Kommunikation zwischen dem Client und dem echten Server**. Sie könnten in der Lage sein, sensible Dateien (MitM der Kommunikation mit dem Drucker) oder sogar Anmeldeinformationen (Windows-Authentifizierung) zu erhalten.\
Für weitere Informationen siehe:
{% 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 %}
## Referenzen
* [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" %}
Lernen & üben Sie 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">\
Lernen & üben Sie 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>Unterstützen Sie HackTricks</summary>
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
</details>
{% endhint %}