True чи False? Ось запитання.

Пригадується, ще за часів життя короля Косяка, саме того який віддав свою Маріхуанну-Прекрасну і півцарства за Івана-Наркомана, був тоді галімий Інтернет без DNS серверів. І означало се, що доводилось тоді користуватись 32-розрядними ІР-адресами. Але знайшлися мудреці, котрі створили текстовий файл із відповідністю імен комп’ютерів до їх ІР-адрес – так званий host file. І абгрейдився цей файл кожного разу і передавався він від одного компа до іншого і тільки заради того, щоб юзер міг собі замість 127.0.0.1 набрати у стрічці браузера чарівне слово localhost. Але мережа росла, наркомани розмножувались і постала тоді необхідність у створенні єдиного інформаційного сервісу котрий б здійснював перевід мнемонічно зрозумілих імен у ІР-адреси та навпаки. І постала тоді доменна служба імен DNS (Domain Name Server) зі своїм спеціяльно створеним протоколом. Тоді всі зібрались, ширку прийняли, димедрол ковтнули, траву скурили та й вирішили, що буде працювати тоді цей DNS та ще й за таким алгоритмом :
хост відсилає на ІР адресу найближчого DNS сервера DNS-запит, де вказується ім’я сервера та ІР хоста , яку потрібно знайти. Сервер, отрмавши запит, переглядає свою базу імен і якщо він знайде таке ім’я, він відправляє DNS-відповідь, у якому і міститься потрібна адреса. Якщо відповідь знайдена не буде, то запит перенаправляється до кореневого DNS- сервера. Цей алгоритм буде працювати до тих пір поки не закінчиться трава, або не буде віднадено цю ІР. В іншому випадку юзер отримає повідомлення про помилку неправильного вводу імені ресурсу. Відповідно до вищенаведеного, я б виділив 3 основні типи атаки на цю службу.
1) Підміна DNS- сервера. Це досягається через недосконалість протоколу DNS, який працює на базі UDP. Чисто теоретично, DNS протокол може працювати на базі ТСР протоколу. Але для цього адміну потрібно звернутися до баби Яги-Конопляної-Ноги, яка може дати цілу торбу документації, про те як це зробити. Після цього , цьому ж адміну потрібно кілька днів моцно покурити, оскільки ця ж документація написана незрозумілою англійською мовою. І якщо потім він навіть і дожене що саме потрібно зробити, то не зрозуміло чи це йому потрібно, оскільки сервер почне повільніше працювати( до речі, сервери не курять) через створення віртуального з’єднання. Але ще й крім цього ОС все одно спочатку вишле DNS-запит на базі UDP і тільки після отримання спеціяльної відповіді буде використовуватись ТСР. Є тут ще одна лажа – передача DNS – запиту залежить від програми, що вислала цей запит. І тепер це все можна реалізувати наступним чином: перехватити DNS-запит, витягнути з него номер UDP-порта відправника запиту, двобайтовий ідентифікатор DNS-запиту, шукане ім’я. Далі відіслати фальшиву DNS-відповідь на витягнутий UDP порт, де вказати ІР адресу фальшивого DNS-сервера. Це дозволить перехватити трафік між атакуючим хостом і сервером. Потім можна собі витягнути із замрозника фляжку пива і помалу її пити, очікуючи прихід СБУ. Дану атаку можна реалізувати тільки за певних фізичних умов ( а як інакше перехопити DNS-запит???) – знаходитись між хостом і сервером, або принаймні в одному сегменті мережі.
2) До другого типу можна віднести, так звані DOS атаки, але з поправкою на DNS. Це в свою чергу означає наступне. Атакуючий буде відправляти серію фальшивих DNS-відповідей атакуючому хосту від імені справжнього DNS-сервера. Проте тут існує також серія проблем: ім’я та ідентифікатор вказані у DNS-відповіді повинні збігатися із ім’ям та ідентифікатором DNS-запиту, DNS-відповідь повинна бути відіслана на той самий UDP-порт, звідки був відісланий запит ну і звісно ІР адреса відправника відповіді повинна збігатися із ІР DNS-сервера. При реалізації такого типу атаки, атакуючий не має змоги перехватити DNS-запит, але він може методом повного перебору дізнатися UDP-порт (>=1023) відсилаючи фальшиві DNS-відповіді на всі підряд порти. Ну а ідентифікатор DNS-запиту зазвичай рівний 1 або 0. При наступному запиті ідентифікатор інкрементується. Тобто алгоритм буде наступним: завалювати фальшивими DNS-відповідями різні UDP порти з різними ідентифікаторами від імені справжнього DNS-сервера. Якщо хост відгукнеться то у ІР заголовку міняємо його ІР на ІР атакуючого і передаємо запит на сервер. Коли сервер відповів міняємо його ІР на ІР фальшивого DNS-сервера. Привілеї використання такої атаки полягають в тому, що тут вже не вводиться обмежень на фізичне розташування атакуючого, атаку можна забацати будучи просто підключеним до Інтернету та бажано ще мати комп’ютер.
3) Це буде швидше гібрид 1 та 2 пунктів. Посилаючись на початок статті, нагадаю, що якщо сервер не знайшов у своїй базі імен ім’я, яке потрібно було знайти, DNS-запит маковими полями, конопляними лісами прямує до кореневого DNS. Ну і відповідно атаку я спрямую тепер на сервер, а не на хост. Що було і успішно зроблено кілька років тому. Коли навіть по телєвізору казали, що ще б трохи і Інтернет би завалився. Нагадаю, що у світі є 9 базових DNS-серверів і тоді на них була направлена DOS атака. Але коли б навіть ті серваки і померли б у нерівному бою, посмертно їм б вручили грамоти, але Інтернет б тоді не помер, просто довелось б звертатись до ресурсу через ІР адресу. Але повертаючись до теми статті добавлю тут таке, що сервер для швидшої роботи моє свій кеш. Ну і відповідно якщо на запит DNS-сервера атакуючий направить фальшиву DNS-відповідь, то це запишеться у кеш-таблиці і інші хости, які звертаються до певного ресурсу, отримають фігу з маком, а не справжню ІР ресурсу, яка їм потрібна. Враховуючи, що співпраця між DNS серверами здійснюється по 53 порту, порт при такому типі атаки шукати не приходиться, зате виникає проблема із цим клятим двобайтовим ідентифікатором. Він лежить у проміжку до 2^16 і іншого методу крім повного перебору тут наразі ще не придумали. Ну і відповідно реалізувати то все можна тільки в одному випадку – коли DNS-сервер відішле запит на пошук імені, що міститься у фальшивій DNS-відповіді, а висилає він такий запит коли до нього приходить DNS-запит від якогось хоста на пошук імені і цього імені не має у кеш-таблиці. Але Гашиш-Горинич, на мому місці, зробив би наступне. Відіслав би на DNS-сервер подібний DNS-запит і заставив би шукати вказане ім’я.
Для реалізації наведених атак замало прочитати цю статтю і скурити косячок, тут треба мати моцні мозги. А від куріння і взагалі від вживання наркотиків мозги всихають і це ще за умови що вони є. Більшість атак на DNS-сервери здійснюється через діри у програмному забезпеченні.

Post new comment

Ця інформація зберігається приватно і не буде оприлюднена.
  • Allowed HTML tags: <h1> <h2> <h3> <h4> <h5> <h6> <address> <em> <strong> <code> <del> <cite> <acronym> <blockquote> <q> <sub> <p> <br> <pre> <ul> <ol> <li> <dl> <dt> <dd> <a> <b> <u> <i> <table> <tr> <td> <th> <div> <sup><hr> <img>
  • Glossary terms will be automatically marked with links to their descriptions.
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
           8888888b.          d8888  888    d8P                  888                d8888  
888 Y88b d88888 888 d8P 888 d8P888
888 888 d88P888 888 d8P 888 d8P 888
.d88b. 888 d88P d88P 888 888d88K 88888b. .d88888 .d8888b d8P 888
d8P Y8b 8888888P" d88P 888 8888888b 888 "88b d88" 888 d88P" d88 888
88888888 888 d88P 888 888 Y88b 888 888 888 888 888 8888888888
Y8b. 888 d8888888888 888 Y88b 888 d88P Y88b 888 Y88b. 888
"Y8888 888 d88P 888 888 Y88b 88888P" "Y88888 "Y8888P 888
888
888
888
Enter the code depicted in ASCII art style.

© Інформаційні технології. Аналітика , Рідна Мережа