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

88 lines
5.8 KiB
Markdown
Raw Normal View History

2024-02-11 01:46:25 +00:00
# 5353/UDP Multicast DNS (mDNS) i DNS-SD
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
Ucz się i ćwicz 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">\
Ucz się i ćwicz 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)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Wsparcie dla HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
## **Podstawowe informacje**
**Multicast DNS (mDNS)** umożliwia **operacje podobne do DNS** w lokalnych sieciach bez potrzeby posiadania tradycyjnego serwera DNS. Działa na **porcie UDP 5353** i pozwala urządzeniom na wzajemne odkrywanie się oraz ich usług, co jest powszechnie widoczne w różnych urządzeniach IoT. **Odkrywanie usług DNS (DNS-SD)**, często używane razem z mDNS, pomaga w identyfikacji usług dostępnych w sieci za pomocą standardowych zapytań DNS.
```
PORT STATE SERVICE
5353/udp open zeroconf
```
2024-02-11 01:46:25 +00:00
### **Działanie mDNS**
W środowiskach bez standardowego serwera DNS, mDNS pozwala urządzeniom na rozwiązywanie nazw domen kończących się na **.local** poprzez zapytania do adresu multicast **224.0.0.251** (IPv4) lub **FF02::FB** (IPv6). Ważne aspekty mDNS obejmują wartość **Time-to-Live (TTL)** wskazującą na ważność rekordu oraz bit **QU** rozróżniający zapytania unicast i multicast. Z punktu widzenia bezpieczeństwa, kluczowe jest, aby implementacje mDNS weryfikowały, że adres źródłowy pakietu jest zgodny z lokalnym podsiecią.
2022-02-19 19:42:58 +00:00
2024-02-11 01:46:25 +00:00
### **Działanie DNS-SD**
2022-02-19 19:42:58 +00:00
DNS-SD ułatwia odkrywanie usług sieciowych poprzez zapytania o rekordy wskaźnikowe (PTR), które mapują typy usług na ich instancje. Usługi są identyfikowane za pomocą wzoru **_\<Service>.\_tcp lub \_\<Service>.\_udp** w obrębie domeny **.local**, co prowadzi do odkrycia odpowiadających **rekordów SRV** i **TXT**, które dostarczają szczegółowych informacji o usłudze.
2022-02-19 19:42:58 +00:00
2024-02-11 01:46:25 +00:00
### **Eksploracja sieci**
2022-02-19 19:42:58 +00:00
2024-02-11 01:46:25 +00:00
#### **Użycie nmap**
2022-02-19 19:42:58 +00:00
Przydatna komenda do skanowania lokalnej sieci w poszukiwaniu usług mDNS to:
2021-07-27 12:31:20 +00:00
```bash
2024-02-08 21:36:35 +00:00
nmap -Pn -sUC -p5353 [target IP address]
```
To polecenie pomaga zidentyfikować otwarte porty mDNS oraz usługi reklamowane na nich.
2022-02-19 19:42:58 +00:00
#### **Enumeracja Sieci z Pholus**
2022-02-19 19:42:58 +00:00
Aby aktywnie wysyłać zapytania mDNS i przechwytywać ruch, narzędzie **Pholus** można wykorzystać w następujący sposób:
2022-02-19 19:42:58 +00:00
```bash
2024-02-08 21:36:35 +00:00
sudo python3 pholus3.py [network interface] -rq -stimeout 10
2022-02-19 19:42:58 +00:00
```
2024-02-11 01:46:25 +00:00
## Ataki
2022-02-19 19:42:58 +00:00
### **Wykorzystywanie mDNS Probing**
2022-02-19 19:42:58 +00:00
Wektor ataku polega na wysyłaniu sfałszowanych odpowiedzi na zapytania mDNS, sugerując, że wszystkie potencjalne nazwy są już zajęte, co utrudnia nowym urządzeniom wybór unikalnej nazwy. Można to zrealizować za pomocą:
2022-02-19 19:42:58 +00:00
```bash
2024-02-08 21:36:35 +00:00
sudo python pholus.py [network interface] -afre -stimeout 1000
2022-02-19 19:42:58 +00:00
```
Ta technika skutecznie blokuje nowe urządzenia przed rejestrowaniem swoich usług w sieci.
2024-02-08 21:36:35 +00:00
**Podsumowując**, zrozumienie działania mDNS i DNS-SD jest kluczowe dla zarządzania siecią i bezpieczeństwa. Narzędzia takie jak **nmap** i **Pholus** oferują cenne informacje o lokalnych usługach sieciowych, podczas gdy świadomość potencjalnych luk pomaga w zabezpieczaniu przed atakami.
2024-02-08 21:36:35 +00:00
### Spoofing/MitM
2022-02-19 19:42:58 +00:00
Najciekawszym atakiem, który możesz przeprowadzić za pomocą tej usługi, jest wykonanie **MitM** w **komunikacji między klientem a prawdziwym serwerem**. Możesz być w stanie uzyskać wrażliwe pliki (MitM komunikacji z drukarką) lub nawet dane uwierzytelniające (uwierzytelnianie Windows).\
2024-02-11 01:46:25 +00:00
Aby uzyskać więcej informacji, sprawdź:
2022-02-19 19:42:58 +00:00
2022-05-01 13:25:53 +00:00
{% 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)
2022-02-19 19:42:58 +00:00
{% endcontent-ref %}
## References
2022-02-19 19:42:58 +00:00
* [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)
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
Learn & practice 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">\
Learn & practice 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)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Support HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}