Зараження кеша DNS-серверів провайдерів за рахунок маніпуляції DNS-відповідями від легітимних авторитетних DNS-серверів

Серйозною проблемою сучасності є мережеві загрози ІБ, тобто класи загроз, що реалізуються з використанням протоколів міжмережевого взаємодії. Одним з таких протоколів є протокол доменної системи імен — DNS.
До числа загроз, що використовують систему доменних імен, відносяться загрози, засновані на модифікації пакетів DNS-транзакцій і спрямовані на створення в мережі помилкового маршруту. Їх потенційна небезпека полягає в можливості перехоплення даних, що передаються між клієнтами мережевих сервісів і серверами цих сервісів.
Відстежити модифікацію пакетів DNS-транзакцій, при потенційно високої небезпеки реалізації в інформаційних системах атак досить непросто, тому стають можливими такі атаки як
  • аналіз мережевого трафіку
  • підміна довіреного об'єкта мережі
  • нав'язування хибної маршруту
  • впровадження помилкового об'єкта мережі
Тема зараження кеша DNS-серверів провайдерів вже давно об'їжджена, однак на практичному прикладі покажемо, як досить просто змусити «ходити» клієнтів конкретного інтернет-провайдера за потрібною нам IP-адресою, замість правильного, для заданого домену, нічого при цьому не зламуючи і не заражаючи троянами, тим самим даючи нам повний контроль над трафіком, пов'язаних з конкретною DNS-зоною.



Подамо фрагмент глобальної мережі Інтернет від клієнтського ПЕОМ до якогось віддаленого веб-сервісу, а також інші елементи мережі, що мають відношення до системи доменних імен



До складу типової комп'ютерної мережі, що реалізує підміну IP-адреси для цільового домену, входять наступні елементи:

  1. Клієнтська ПЕОМ (Клієнт).
  2. Інтернет-провайдер (у складі: кешуючий DNS-сервер, шлюз).
  3. Допоміжний клієнт.
  4. Система доменних імен.
  5. Точка моніторингу (міжмережевий екран, фільтр, проксі-сервер).
  6. Сервер інформаційної служби.


Для успішної реалізації нашого задуму необхідно виконання ряду умов:

  1. Існує контрольований DNS-сервер, який відповідає за яку-небудь (будь-яку) зону системи доменних імен.
  2. Клієнт обслуговується інтернет-провайдером з кэширующим DNS-сервером або відомий інший DNS-сервер, послугами якого користується клієнт, і сервер є кэширующим.
  3. У момент отримання DNS-відповіді від контрольованого DNS-сервера в кеш DNS-сервера інтернет-провайдера відсутній запис з цільовим DNS-ім'ям вузла інформаційної служби.
  4. В точці моніторингу існує база IP-адрес і доменних імен цільових інформаційних служби, стосовно яких ведеться моніторинг і управління мережевою взаємодією з клієнтом.


Для ініціалізації процесу моніторингу необхідно здійснити запит на дозвіл DNS-імені з зони, за яку відповідає контрольований DNS-сервер. Завдяки цьому, з'являється можливість сформувати DNS-відповідь на отриманий запит з заданими параметрами.

Відповідно до рекомендацій RFC 1034, RFC 1035, що встановлюють порядок функціонування, специфікацію та застосування системи доменних імен, при формуванні DNS-відповіді допускається додавання, так званих полів «Additional». Дані необхідні поля для запису IP-адрес допоміжних вузлів різних типів, у тому числі, для запобігання повторного звернення до DNS-сервера, у випадках, коли з певних причин, основний вузол, запис якого передається в полі «Answer», виявляється недоступним. У разі застосування запропонованого підходу, в полі «Additional» записується ІР-адреса, поставлений у відповідність доменного імені цільової інформаційній службі, але реально належить точці моніторингу – міжмережевого екрану.

Таку задачу (додавання потрібного нам поля) можна покласти на скрипт, який імітує роботу легітимного DNS-сервера, який відповідає за якусь DNS-зону, причому не важливо якого рівня ...

Після того як у процесі вирішення заданого DNS-імені кешуючий DNS-сервер інтернет-провайдера (ISP) отримує DNS-відповідь, то за відсутності записів у своїй кеш-пам'яті відповідних записів з додаткових полів DNS-відповіді, він поміщає ці запису в кеш-пам'ять. Таким чином, кеш-пам'ять DNS-сервера інтернет-провайдера містяться записи, встановлюють відповідність доменних імен інформаційних служб, для яких буде здійснюватися моніторинг, і IP-адреси, що належить точці моніторингу. З цього моменту, у разі, якщо клієнт формує DNS-запит на дозвіл імені вузла цільової інформаційної служби з доменними ім'ям, що зберігаються в кеші провайдера і збереженого з додаткових полів, отриманих після обробки запиту DNS «допоміжного» клієнта, то DNS-сервер інтернет-провайдера формує і відправляє DNS відповідь клієнту на основі даних зі свого кешу.

Таким чином, клієнт отримує дозвіл доменного імені запитаної інформаційної служби з IP адресою, отриманими від контрольованого DNS сервера і зберігається в момент обробки запиту клієнта інтернет-провайдером в кеш-пам'яті провайдера. При цьому IP адреса не належить цільової інформаційній службі, запитуваної клієнтом, а точці моніторингу. Відповідно, далі, звернення клієнта до цільової інформаційній службі відбувається по IP адресою, що належить точці моніторингу.

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

  1. Розбір отриманої від клієнта транзакції.
  2. Розробка і застосування керуючих впливів.
  3. Аудит отриманих транзакцій і зроблених дій.
  4. Формування на основі даних отриманої клієнтської транзакції запиту до інформаційної служби.


В точці моніторингу – МСЕ здійснюється перетворення мережевих адрес (Network Address Translation – NAT), що дозволяє забезпечити його «прозору» роботу з точки зору клієнта і цільової інформаційною службою.

Перевірка представлених досліджень проводилася з використанням випробувального стенду у вигляді комп'ютерної мережі з наступними елементами:

  1. DNS-сервер на базі програмного забезпечення BIND 9.4, який відповідає за зону ".a", з доменним ім'ям «ns.a».
  2. DNS-сервер на базі програмного забезпечення BIND 9.4, який відповідає за зону ".b", з доменним ім'ям «ns.b».
  3. Клієнтська ПЕОМ з IP адресою 10.0.33.13.
  4. Точка моніторингу – міжмережевий екран з IP адресою 10.0.33.13.


Між усіма об'єктами комп'ютерної мережі налаштоване мережеве взаємодія.
Принцип роботи комп'ютерної мережі полягає в наступному.

Між DNS-серверами пересилання зон налаштована таким чином, що отримуючи запит на розв'язання доменного імені з зони, за який відповідає інший DNS сервер, поточний DNS сервер формує і відправляє до нього повторний запит DNS і, отримавши від нього відповідь, формує і відправляє DNS відповідь клієнту, що сформував перший запит, одночасно поміщаючи в свою кеш-пам'ять відповідь від другого DNS сервера. Таким чином, моделюється робота DNS сервера інтернет-провайдера.

На 1-му етапі на DNS-сервері, який відповідає за зону ".b" запускається скрипт «fakedns», що реалізує роботу DNS-комутатора. У завдання скрипта входить обробка отриманого DNS запиту на дозвіл доменного імені з зони ".b" і додавання в DNS відповідь додаткового поля «Additional» для заданого доменного імені (у прикладі – «victim.com»), відповідним цільової інформаційній службі, для якої буде здійснюватися моніторинг та управління безпекою мережевого взаємодії з клієнтом, і з заданою IP-адресою (у прикладі – «10.0.33.13»), що відповідає точці моніторингу – міжмережевого екрану. Запуск скрипта «fakedns» з заданими параметрами, що моделює роботу DNS-комутатора здійснюється **командою**



На 2-му етапі відбувається формування і передача DNS-запиту для доменного імені «test.b» від клієнта в систему доменних імен, що складається з DNS сервера «ns.a» і DNS сервера «ns.b». При цьому первинним DNS сервером DNS-сервера інтернет-провайдера) для клієнта є DNS сервер «ns.a».

**Структура запиту**



На 3-му етапі формується і передається DNS-відповідь для доменного імені «test.b» з додатковим полем «Additional» і заданим доменним ім'ям «victim.com» відповідний інформаційного службі, якій поставлено у відповідність заданий IP адреса «10.0.33.13», відповідний точці моніторингу.

**Структура пакету DNS відповіді**



На 4-му етапі здійснюється перевірка наявності в кеш-пам'яті DNS сервера «ns.a» доменного імені «victim.com», відповідного інформаційній службі, але з IP адресою, відповідному точці моніторингу – «10.0.33.13».

Перевірка здійснюється командою



На 5-му етапі приймається відповідь про наявність в кеш-пам'яті DNS сервера «ns.a» доменного імені «victim.com».

**Структура DNS-відповіді**



Очевидно, що при подальшому зверненні клієнта до вузла «victim.com» по IP адресою отриманого DNS відповіді, звернення буде відбуватися по IP адресою, заданим в настройках до скрипту «fakedns» і відповідному точці моніторингу – міжмережевого екрану.

Перевірка цього факту здійснюється командою



На основі поданих матеріалів проведеного експерименту можна зробити висновок, що, при виконанні перерахованих умов і додавання додаткового поля «Additional» у DNS-комутаторі при обробці запиту на дозвіл доменного імені цільової інформаційної служби, виникає можливість здійснення контролю мережевої взаємодії клієнта і заданих інформаційних служб незалежно від їх розташування та топології комп'ютерної мережі. Крім цього з'являється можливість моніторингу і контролю мережевої взаємодії клієнта і заданих інформаційних служб як на етапі встановлення сеансу з'єднання, так і на етапі інформаційного обміну, що не є добре…
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.