06 Кві, 2023

Система багатоадресної розсилки доменних імен (MDNS)

Penetration Testing as a service (PTaaS)

Tests security measures and simulates attacks to identify weaknesses.

МДНС (Система багатоадресної розсилки доменних імен) використовує многоадресные DNS-повідомлення для виявлення і вирішення IP-адрес пристроїв у локальній мережі. Це дозволяє легко виявляти пристрої і взаємодіяти з ними по локальній мережі без необхідності в центральному DNS-сервері. 

МДНС загальні порти

Port 5353: Цей порт використовується самим протоколом mDNS для відправки і отримання багатоадресних DNS-пакетів.

Port 5355: Цей порт використовується протоколом DNS-SD (виявлення служб DNS), який побудований поверх MDNS. DNS-SD дозволяє пристроям рекламувати і виявляти мережеві служби, такі як принтери, файлові сервери і медіаплеєри.

Стандартні команди від неавторизованих користувачів

Протокол, який використовується для виявлення і дозволу імен хостов і IP-адрес в локальній мережі. Стандартні команди для MDNS можуть відрізнятися в залежності від конкретної реалізації та налаштування мережі, але ось декілька прикладів команд, що часто використовуються:

Запит на конкретне ім'я хоста: Неавторизований користувач може використовувати запит mDNS для пошуку певного імені хоста в мережі. Наприклад, вони можуть надіслати запит на ім'я хоста “printer.local", щоб дізнатися, чи є в мережі принтер з таким ім'ям.

Широкомовний запит для всіх доступних служб: Неавторизований користувач може транслювати запит mDNS для пошуку всіх доступних служб у мережі. Це може виявити наявність різних пристроїв і служб у мережі.

Підроблені відповіді MDNS: Неавторизований користувач також може спробувати підробити відповіді MDNS, щоб перенаправити трафік на шкідливе пристрій або службу. Наприклад, вони можуть відправити підроблений відповідь для популярного сервісу, такого як “apple-tv.local", щоб перенаправити трафік на свій пристрій.

Інструменти для використання протоколів MDNS

Ручні Інструменти:

  • mDNSResponder: Це інструмент командного рядка для тестування MDN в системах macOS і Linux. Він може бути використаний для запиту і реєстрації служб mDNS.

  • mdns-scan: Інструмент командного рядка Linux, який дозволяє сканувати локальну мережу на наявність служб і вузлів MDNS.

  • Avahi: Безкоштовно реалізація протоколів mDNS і DNS-SD для систем Linux і BSD. Він включає в себе інструменти командного рядка для тестування MDN.

  • Bonjour Browser: Інструмент на основі графічного інтерфейсу для macOS, який дозволяє вам переглядати служби MDNS і запрошувати їх у вашій локальній мережі.

  • dns-sd: Інструмент командного рядка для запиту MDNS і служб DNS-SD в системах macOS і Linux.

  • mdns-repeater: Інструмент командного рядка Linux, який дозволяє пересилати трафік MDNS між мережами.

  • mDNSWatch: Інструмент для моніторингу трафіку MDNS в системах Windows.

  • mDNS-ping: Інструмент командного рядка для надсилання пакетів ping mDNS і тестування відповідей mDNS в системах Linux.

  • dns-sd-проксі: Інструмент командного рядка Linux, який діє як проксі для MDNS і DNS-SD трафіку між мережами.

  • multicast-dns: А Node.js модуль для тестування MDN в системах Linux і macOS.

Автоматизовані інструменти:

  • nmap: Популярний інструмент для дослідження мережі та аудиту безпеки, який включає підтримку MDNS і виявлення DNS-SD.

  • Metasploit Framework: Потужна платформа з відкритим вихідним кодом для тестування на проникнення, яка включає модулі для тестування MDNS і служб DNS-SD.

  • Kali Linux: Популярний дистрибутив Linux для тестування на проникнення, який включає в себе безліч інструментів для тестування MDN і інших мережевих протоколів.

  • Набір для сищика: Набір інструментів командного рядка для цифрової криміналістики і розслідування, який включає підтримку аналізу трафіку MDNS.

  • Wireshark: Популярний аналізатор мережевих протоколів, який може використовуватися для збору і аналізу трафіку MDNS на різних платформах.

  • BonjourJolie: Плагін для браузера Firefox на macOS, який надає аналогічну функціональність плагіну браузера Bonjour.

  • Плагін для служб друку, Bonjour: Плагін браузера для Windows, який дозволяє вам виявляти і друкувати на принтері з підтримкою Bonjour.

  • Бонжур для Windows: Програмний пакет для Windows, який включає підтримку MDNS і виявлення DNS-SD.

  • Дослідник околиць Zeroconf: Плагін для браузера Internet Explorer в Windows, який дозволяє переглядати служби MDNS і запитувати їх з браузера.

Останні п'ять відомих CVE для MDN 

CVE-2022-25749 – Тимчасова відмова в обслуговуванні у WLAN через переповнення буфера при розборі кадрів MDNS. у Snapdragon Auto, Snapdragon Compute, Snapdragon Connectivity, Snapdragon Consumer Electronics Connectivity, Snapdragon Consumer IOT, Snapdragon Industrial IOT, Snapdragon IoT, Snapdragon Mobile, Snapdragon Voice & Music, Snapdragon Wearables, Snapdragon провідної інфраструктури та мереж

 CVE-2022-20682 – Уразливість в управлінні і надання Обробка протоколу бездротових точок доступу (CAPWAP) у програмному забезпеченні бездротового контролера Cisco IOS XE для сімейства Catalyst 9000 може дозволити віддаленого зловмиснику, який не пройшов перевірку автентичності, викликати відмову в обслуговуванні (DoS) на вразливому пристрої. Ця вразливість виникає через неадекватну перевірки вхідних даних вхідних пакетів CAPWAP, инкапсулирующих многоадресные DNS-запити (MDNS). Зловмисник може скористатися цією уразливістю, підключившись до бездротової мережі і відправивши створений запит mDNS, який буде проходити через бездротовий контролер і оброблятися їм. Успішний експлойт може дозволити зловмиснику викликати збій і перезавантаження уразливого пристрої, що приведе до стану DoS.

 CVE-2021-1439 – Уразливість в функції шлюзу багатоадресної розсилки DNS (mDNS) програмного забезпечення точок доступу серії Cisco Aironet може дозволити зловмиснику, який не пройшов перевірку автентичності, суміжного зловмисникові викликати стан відмови в обслуговуванні (DoS) на вразливому пристрої. Ця вразливість, пов'язана з недостатньою перевіркою вхідного трафіку MDNS. Зловмисник може скористатися цією уразливістю, відправивши створений пакет mDNS на вразливе пристрій через бездротову мережу, побудовану в режимі локальної комутації FlexConnect, або через дротову мережу налаштованої VLAN mDNS. Успішний експлойт може дозволити зловмиснику викликати перезавантаження точки доступу (AP), що приведе до стану DoS.

 CVE-2020-6080 – В обробці розподілу ресурсів Videolabs libmicrodns 0.1.0 існує уразливість, пов'язана з відмовою в обслуговуванні. При виникненні помилок при розборі повідомлень mDNS деякі виділені дані не звільняються, що може призвести до відмови в обслуговуванні через вичерпання ресурсів. Зловмисник може повторно відправити одне повідомлення mDNS, щоб викликати цю уразливість, за допомогою функції rr_read_RR [5], зчитує поточну запис ресурсу, за винятком розділу RDATA. Це зчитується циклом в in rr_read. Для кожного типу RR викликається своя функція. Коли тип RR дорівнює 0x10, функція rr_read_TXT викликається в [6].

 CVE-2020-6079 – В обробці розподілу ресурсів Videolabs libmicrodns 0.1.0 існує уразливість, пов'язана з відмовою в обслуговуванні. При виникненні помилок при розборі повідомлень mDNS деякі виділені дані не звільняються, що може призвести до відмови в обслуговуванні через вичерпання ресурсів. Зловмисник може повторно відправити одне повідомлення mDNS, щоб викликати цю уразливість, шляхом декодування доменного імені, яке здійснюється за допомогою rr_decode.

Корисна інформація

– mDNS використовує IP-многоадресную розсилання для передачі DNS-повідомлень по локальній мережі. Це означає, що пакети MDNS відправляються тільки на пристрої в одному і тому ж сегменті мережі, що робить його більш ефективним і локалізованим способом виявлення мережевих служб.

– mDNS часто використовується спільно з DNS-SD (DNS Service Discovery), який дозволяє пристроям рекламувати і виявляти мережеві служби, такі як принтери, файлові сервери і медіаплеєри. DNS-SD побудований поверх MDNS і використовує ті ж самі многоадресные пакети для виявлення служб.

– mDNS призначений для роботи як дротяних, так і бездротових мережах, що робить його гнучким і універсальним протоколом для виявлення мережевих служб.

– MDNS можна використовувати для виявлення служб як в мережах IPv4, так і IPv6. Він підтримує обидва типу IP-адрес і може бути налаштований на використання будь-якого з них.

– Пакети MDNS відправляються з використанням протоколу користувацьких дейтаграм (UDP), а не Протоколу управління передачею (TCP). Це означає, що вони не мають з'єднання і не гарантують доставку пакетів, але на практиці це зазвичай не є проблемою для локальних мереж.

– mDNS підтримується багатьма операційними системами, включаючи macOS, Windows, Linux і iOS. Це робить його широко використовуваним і сумісним протоколом для виявлення мережевих служб.

– Щоб використовувати MDNS, пристрої повинні підтримувати протокол і бути налаштовані на його використання. Зазвичай це включає включення MDNS на пристрої та налаштування його за допомогою доменного імені.

– MDNS можна використовувати для виявлення пристроїв і служб у мережі, не покладаючись на централізовану систему іменування. Це робить його корисним інструментом для домашньої автоматизації, Інтернету речей (IoT) і інших додатків, де пристроїв необхідно взаємодіяти один з одним, не покладаючись на сервер.

– MDNS може бути корисним інструментом усунення неполадок для мережевих адміністраторів. Використовуючи такі інструменти, як Wireshark, адміністратори можуть перехоплювати і аналізувати пакети MDNS для діагностики проблем з мережевими службами.

Відомі банери

Apple Inc.: Пристрої Apple часто рекламують служби MDNS з допомогою банерів, які містять рядок “_apple-mobdev2._tcp.local". Це вказує на те, що пристрій використовує протокол від Apple Bonjour для реклами послуг у мережі.

Google Chromecast: Пристрої Chromecast рекламують послуги MDNS з допомогою банерів, що містять рядок “_googlecast._tcp.local". Це вказує на те, що пристрій рекламує свою службу Chromecast в мережі.

Amazon Echo: Пристрої Amazon Echo рекламують послуги MDNS з допомогою банерів, що містять рядок “_amzn-wplay._tcp.local". Це вказує на те, що пристрій рекламує свою послугу бездротового відтворення звуку в мережі.

Sonos: Пристрої Sonos рекламують послуги MDNS з допомогою банерів, що містять рядок “_sonos._tcp.local". Це вказує на те, що пристрій рекламує свою службу Sonos в мережі.

Roku: Пристрої Roku рекламують послуги MDNS, використовуючи банери, які містять рядок “_roku._tcp.local". Це вказує на те, що пристрій рекламує свою службу Roku в мережі.

Philips Hue: Пристрою Philips Hue рекламують послуги MDNS з допомогою банерів, що містять рядок “_hue._tcp.local". Це вказує на те, що пристрій рекламує свою службу Hue в мережі.

Logitech Harmony: Пристрої Logitech Harmony рекламують послуги MDNS з допомогою банерів, що містять рядок “_logitech-harmony._tcp.local". Це вказує на те, що пристрій рекламує свою службу Harmony в мережі.

Книги для вивчення MDNS

"Мережа з нульовою конфігурацією: остаточне керівництво" Деніел Стейнберг і Стюарт Чешир: У цій книзі представлений всеосяжний огляд мережі нульової конфігурації (Zeroconf), яка включає MDNS. У ньому розглядаються основи MDNS і те, як це працює, а також інші протоколи, такі як дозвіл імен локальної багатоадресної розсилки (LLMNR) і виявлення служб на основі DNS (DNS-SD). Він також включає практичні приклади і проби коду для реалізації Zeroconf у ваших власних проектах.

"Керівництво по програмуванню Bonjour: для Mac OS X" від Apple Inc.: Це керівництво, опубліковане Apple, містить докладний огляд Bonjour, який є реалізацією MDNS від Apple. У ньому розповідається про засади MDNS і про те, як це працює, а також про те, як використовувати Bonjour в додатках macOS. Він включає в себе приклади коду і практичні поради зі створення додатків, що використовують Bonjour.

"Багатоадресна DNS: розробка та впровадження" автор: Стюарт Чешир: Ця книга дає поглиблений погляд на проектування і впровадження MDNS. У ньому розповідається про історію MDNS, технічних деталях того, як це працює, і практичних радах по впровадженню MDNS у ваші власні проекти. Він також включає тематичні дослідження і реальні приклади того, як mDNS використовується в різних додатках.

"Мережеве взаємодія для системних адміністраторів" Майкл У. Лукас: Ця книга надає всебічний огляд мережних концепцій для системних адміністраторів. Він включає в себе главу про Zeroconf, яка охоплює MDNS та інші пов'язані протоколи. У ньому містяться практичні рекомендації з налаштування та усунення несправностей Zeroconf в різних операційних системах.

"Zeroconf: створення мереж в епоху цифрових технологій" автор: Стюарт Чешир: У цій книзі представлений детальний огляд Zeroconf, який включає MDN. У ньому розповідається про історію Zeroconf, технічних деталях його роботи та практичних порад щодо впровадження Zeroconf у ваші власні проекти. Він також включає тематичні дослідження і реальні приклади того, як Zeroconf використовується в різних додатках.

Список корисного навантаження для MDNS

Корисне навантаження повідомлення запиту: Ця корисна навантаження використовується для ініціювання запиту mDNS для певної служби або пристрою в мережі. Зазвичай він включає в себе ім'я запитуваної служби і тип виконуваного запиту (наприклад, "A" для IPv4-адреси, "AAAA" для IPv6-адреси або "PTR" для запиту зворотного пошуку).

Корисне навантаження відповідь на повідомлення: Ця корисна навантаження використовується для відповіді на запит mDNS та надання інформації про конкретну службі або пристрої в мережі. Зазвичай він включає назву рекламованої послуги, тип послуги (наприклад, “_http._tcp"), а також IP-адресу та номер порту пристрою, пропонує послугу.

Корисне навантаження анонсує повідомлення: Ця корисна навантаження використовується для реклами сервісу або пристрою в мережі. Зазвичай він включає назву рекламованої послуги, тип послуги, IP-адресу та номер порту пристрою, пропонує послугу, а також будь-які додаткові метадані про послугу.

Корисне навантаження прощального повідомлення: Ця корисна навантаження використовується для вказівки того, що служба або пристрій більше не доступні в мережі. Зазвичай воно відправляється при виключенні пристрою або видаленні служби з мережі.

Корисне навантаження зондувального повідомлення: Ця корисна навантаження використовується для визначення того, чи використовується вже певне ім'я в мережі. Зазвичай воно відправляється перед рекламою нової послуги, щоб уникнути конфліктів з існуючими службами.

Корисне навантаження повідомлення проксі-запиту: Ця корисна навантаження використовується для пересилання запиту mDNS з одного сегмента мережі в іншій. Зазвичай він використовується в більш великих мережах, що мають декілька підмереж.

Пом'якшення наслідків

  1. Вимкніть MDNS, якщо це не потрібно: Якщо MDNS не є необхідним для вашої мережі або додатків, розгляньте можливість його повного відключення. Це можна зробити, змінивши мережеві пристрої на блокування трафіку MDNS.

  2. Сегментируйте свою мережу: Сегментація мережі на більш дрібні підмережі може допомогти зменшити вплив трафіку MDNS. Обмежуючи обсяг трафіку mDNS певними підмережами, ви можете знизити ризик того, що зловмисники скористаються уразливими mDNS.

  3. Реалізувати контроль доступу до мережі: Впровадження контролю доступу до мережі (NAC) може допомогти запобігти доступ несанкціонованих пристроїв до вашої мережі. Обмежуючи доступ тільки до авторизованих пристроїв, ви можете знизити ризик того, що зловмисники використовують MDN для отримання доступу до вашої мережі.

  4. Використовуйте брандмауери: Брандмауери можуть використовуватися для блокування входу трафіку MDNS в вашу мережу або виходу з неї. Налаштувавши брандмауери для блокування трафіку MDNS, ви можете знизити ризик того, що зловмисники будуть використовувати MDNS для використання вразливостей у вашій мережі.

  5. Впровадити DNSSEC: Розширення безпеки DNS (DNSSEC) можуть використовуватися для захисту DNS-запитів і відповідей, включаючи ті, які використовуються MDNS. Впровадивши DNSSEC, ви можете знизити ризик того, що зловмисники перехоплять чи змінять трафік MDNS.

  6. Підтримуйте програмне забезпечення в актуальному стані: Оновлення програмного забезпечення за допомогою останніх виправлень і оновлень безпеки може допомогти знизити ризик використання вразливостей mDNS зловмисниками. Це включає як мережеві пристрої, так і програми, які використовують MDNS.

Висновок

Система багатоадресних доменних імен (MDNS) протокол є цінним інструментом для виявлення служб в локальних мережах. Це дозволяє пристроям виявляти один одного і взаємодіяти один з одним без необхідності в центральному сервері або конфігурації. Однак, як і будь-мережевий протокол, MDNS також може представляти загрозу безпеці, якщо не захищений належним чином.

Деякі потенційні проблеми безпеки, пов'язані з MDN, включають несанкціонований доступ до служб, атаки типу "відмова в обслуговуванні" і розвідку мережі. Щоб знизити ці ризики, важливо впровадити відповідні заходи безпеки, такі як відключення MDNS, коли це не вимагається, використання брандмауерів і списків контролю доступу для обмеження доступу до служб MDNS, моніторинг мережевого трафіку на предмет підозрілої активності та підтримка програмного забезпечення в актуальному стані для усунення вразливостей в системі безпеки.

Інші Послуги

Готові до безпеки?

зв'язатися з нами