mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
62 lines
5.1 KiB
Markdown
62 lines
5.1 KiB
Markdown
# 5353/UDP Multicast DNS (mDNS) та DNS-SD
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|
||
|
||
## **Основна інформація**
|
||
|
||
**Multicast DNS (mDNS)** дозволяє **операції, подібні до DNS**, у локальних мережах без необхідності в традиційному DNS-сервері. Він працює на **UDP порту 5353** і дозволяє пристроям виявляти одне одного та свої послуги, що часто спостерігається в різних IoT-пристроях. **DNS Service Discovery (DNS-SD)**, який часто використовується разом з mDNS, допомагає в ідентифікації послуг, доступних у мережі, через стандартні DNS-запити.
|
||
```
|
||
PORT STATE SERVICE
|
||
5353/udp open zeroconf
|
||
```
|
||
### **Операція mDNS**
|
||
|
||
У середовищах без стандартного DNS-сервера mDNS дозволяє пристроям розв'язувати доменні імена, що закінчуються на **.local**, запитуючи мультикаст-адресу **224.0.0.251** (IPv4) або **FF02::FB** (IPv6). Важливими аспектами mDNS є значення **Time-to-Live (TTL)**, що вказує на дійсність запису, та **QU bit**, що розрізняє уніicast та мультикаст запити. З точки зору безпеки, важливо, щоб реалізації mDNS перевіряли, що адреса джерела пакета відповідає локальній підмережі.
|
||
|
||
### **Функціонування DNS-SD**
|
||
|
||
DNS-SD полегшує виявлення мережевих сервісів, запитуючи записи вказівників (PTR), які відображають типи сервісів на їхні екземпляри. Сервіси ідентифікуються за допомогою шаблону **\_\<Service>.\_tcp або \_\<Service>.\_udp** в домені **.local**, що призводить до виявлення відповідних **SRV** та **TXT записів**, які надають детальну інформацію про сервіс.
|
||
|
||
### **Дослідження мережі**
|
||
|
||
#### **Використання nmap**
|
||
|
||
Корисна команда для сканування локальної мережі на наявність mDNS сервісів:
|
||
```bash
|
||
nmap -Pn -sUC -p5353 [target IP address]
|
||
```
|
||
Ця команда допомагає виявити відкриті порти mDNS та сервіси, які рекламуються через них.
|
||
|
||
#### **Перерахунок мережі з Pholus**
|
||
|
||
Щоб активно надсилати запити mDNS та захоплювати трафік, інструмент **Pholus** можна використовувати наступним чином:
|
||
```bash
|
||
sudo python3 pholus3.py [network interface] -rq -stimeout 10
|
||
```
|
||
## Атаки
|
||
|
||
### **Використання mDNS Пробування**
|
||
|
||
Атакуючий вектор полягає у відправці підроблених відповідей на mDNS проби, що свідчить про те, що всі потенційні імена вже використовуються, тим самим ускладнюючи новим пристроям вибір унікального імені. Це можна виконати за допомогою:
|
||
```bash
|
||
sudo python pholus.py [network interface] -afre -stimeout 1000
|
||
```
|
||
Ця техніка ефективно блокує нові пристрої від реєстрації своїх послуг у мережі.
|
||
|
||
**У підсумку**, розуміння роботи mDNS та DNS-SD є критично важливим для управління мережею та безпеки. Інструменти, такі як **nmap** та **Pholus**, пропонують цінну інформацію про локальні мережеві послуги, тоді як усвідомлення потенційних вразливостей допомагає захиститися від атак.
|
||
|
||
### Спуфінг/MitM
|
||
|
||
Найцікавіша атака, яку ви можете виконати через цю службу, - це виконати **MitM** у **зв'язку між клієнтом та реальним сервером**. Ви можете отримати чутливі файли (MitM зв'язок з принтером) або навіть облікові дані (автентифікація Windows).\
|
||
Для отримання додаткової інформації перегляньте:
|
||
|
||
{{#ref}}
|
||
../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md
|
||
{{#endref}}
|
||
|
||
## Посилання
|
||
|
||
- [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}}
|