# 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), які відображають типи сервісів на їхні екземпляри. Сервіси ідентифікуються за допомогою шаблону **\_\.\_tcp або \_\.\_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}}