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

88 lines
7.4 KiB
Markdown
Raw Permalink Normal View History

2024-03-29 18:49:46 +00:00
# 5353/UDP Multicast DNS (mDNS) та DNS-SD
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 %}
2022-04-28 16:01:33 +00:00
2024-03-29 18:49:46 +00:00
## **Основна інформація**
**Multicast DNS (mDNS)** дозволяє виконувати **операції, подібні до DNS**, у локальних мережах без необхідності в традиційному DNS-сервері. Він працює на **UDP порту 5353** і дозволяє пристроям виявляти одне одного та свої послуги, що часто спостерігається в різних IoT-пристроях. **DNS Service Discovery (DNS-SD)**, який часто використовується разом з mDNS, допомагає в ідентифікації послуг, доступних у мережі, через стандартні DNS-запити.
```
PORT STATE SERVICE
5353/udp open zeroconf
```
2024-03-29 18:49:46 +00:00
### **Операція mDNS**
У середовищах без стандартного DNS-сервера mDNS дозволяє пристроям розв'язувати доменні імена, що закінчуються на **.local**, запитуючи мультикаст-адресу **224.0.0.251** (IPv4) або **FF02::FB** (IPv6). Важливими аспектами mDNS є значення **Time-to-Live (TTL)**, що вказує на дійсність запису, та **QU bit**, що розрізняє уніicast та мультикаст запити. З точки зору безпеки, важливо, щоб реалізації mDNS перевіряли, що адреса джерела пакета відповідає локальній підмережі.
2022-02-19 19:42:58 +00:00
2024-03-29 18:49:46 +00:00
### **Функціонування DNS-SD**
2022-02-19 19:42:58 +00:00
DNS-SD полегшує виявлення мережевих сервісів, запитуючи записи вказівників (PTR), які відображають типи сервісів на їхні екземпляри. Сервіси ідентифікуються за допомогою шаблону **_\<Service>.\_tcp або \_\<Service>.\_udp** в домені **.local**, що призводить до виявлення відповідних **SRV** та **TXT записів**, які надають детальну інформацію про сервіс.
2022-02-19 19:42:58 +00:00
2024-03-29 18:49:46 +00:00
### **Дослідження мережі**
2022-02-19 19:42:58 +00:00
2024-03-29 18:49:46 +00:00
#### **Використання nmap**
2022-02-19 19:42:58 +00:00
Корисна команда для сканування локальної мережі на наявність mDNS сервісів:
2021-07-27 12:31:20 +00:00
```bash
2024-02-08 21:36:35 +00:00
nmap -Pn -sUC -p5353 [target IP address]
```
Ця команда допомагає виявити відкриті порти mDNS та сервіси, які рекламуються через них.
2022-02-19 19:42:58 +00:00
#### **Перерахунок мережі з Pholus**
2022-02-19 19:42:58 +00:00
Щоб активно надсилати запити mDNS та захоплювати трафік, інструмент **Pholus** можна використовувати наступним чином:
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-03-29 18:49:46 +00:00
## Атаки
2022-02-19 19:42:58 +00:00
### **Експлуатація mDNS Пробування**
2022-02-19 19:42:58 +00:00
Атакуючий вектор полягає у відправці підроблених відповідей на mDNS проби, що свідчить про те, що всі потенційні імена вже використовуються, тим самим ускладнюючи новим пристроям вибір унікального імені. Це можна виконати за допомогою:
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
```
Ця техніка ефективно блокує нові пристрої від реєстрації своїх послуг у мережі.
2024-02-08 21:36:35 +00:00
**У підсумку**, розуміння роботи mDNS та DNS-SD є критично важливим для управління мережею та безпеки. Інструменти, такі як **nmap** та **Pholus**, пропонують цінну інформацію про локальні мережеві послуги, тоді як усвідомлення потенційних вразливостей допомагає захиститися від атак.
2024-02-08 21:36:35 +00:00
### Spoofing/MitM
2022-02-19 19:42:58 +00:00
Найцікавіша атака, яку ви можете виконати через цю службу, - це виконати **MitM** у **зв'язку між клієнтом і реальним сервером**. Ви можете отримати чутливі файли (MitM зв'язок з принтером) або навіть облікові дані (автентифікація Windows).\
2024-03-29 18:49:46 +00:00
Для отримання додаткової інформації перегляньте:
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 %}