Виявлення доступних мережевих служб

Вище була описана технологія виявлення мережевих вузлів шляхом уста-новки TCP-зєднання Аналогічна технологія використовується, коли заздалегідь відомо, що вузол в мережі присутній, але необхідно отримати інформацію про доступних мережевих службах, тобто виконати сканування портів мережевого вузла У цьому випадку послідовно здійснюються спроби підключення до мережевих портів в певному діапазоні

Найчастіше застосовуються не підряд всі номери портів, а тільки ті з них, які найбільш цікаві зловмисникам з метою подальшого

проникнення У ряді випадків перелік номерів портів може бути сфор-мировалось зловмисниками на основі отриманої раніше за кодом ICMP-відповіді інформації про тип операційної системи

Одиночний запит установки TCP-зєднання по одному з портів мо-же вважатися атакою лише у випадку, коли захищається мережа є «клі-ентской» Однак якщо ми захищаємо «клієнтську» мережу, що не повинна

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

Таким чином, у разі TCP-пакетів атакою будемо вважати всі спроби установки TCP-зєднання, ініційовані ззовні

Рис 27 Послідовні спроби установки TCP-зєднань

Зауважимо, що ми розглянули тільки класичний спосіб TCP-сканування, відомий як сканування методом Connect (), коли установлюється повне TCP-зєднання Разом з тим відомі більш витончені методи, що дозволяють процес сканування здійснювати скритно: SYN-сканування, FIN-сканування, ACK-сканування, XMAS-сканування, NULL-сканування Відповідно відомі утиліти, дозволяють авто-матизировать зазначені методи Коротко опишемо ці методи

Метод сканування TCP-портів системним викликом Connect () являє-ся основним для сканування портів по протоколу TCP Функція Connect () дозволяє атакуючому вузлу зєднатися з будь-яким портом сервера Якщо порт, зазначений як параметр функції, прослуховується сервером (тобто порт відкритий для зєднання), то результатом виконання функції буде ус-тановление зєднання з сервером за вказаною порту В іншому випадку, якщо зєднання не встановлено, то порт з вказаним номером є за-

критим Метод Connect () є легко що виявляється завдяки наявності численних спроб підключення з однієї адреси і помилок встановлен-ня зєднання (оскільки атакуючий вузол після зєднання з сервером сра-зу обриває його)

Метод сканування TCP-портів прапором SYN відомий ще як «скані-

вання з встановленням наполовину відкритого зєднання »оскільки уста-Постановою повного TCP-зєднання не проводиться Замість цього атакуючий відправляє на певний порт сервера SYN-пакет, як би маючи намір створити зєднання, і очікує відповідь Наявність у відповіді прапорів SYN | ACK оз-початку, що порт відкритий і прослуховується сервером Отримання у відповідь TCP-пакета з прапором RST означає, що порт закритий і не прослуховується У разі прийому SYN | ACK-пакета вузол негайно відправляє RST-пакет для скидання встановлюваного сервером зєднання

Метод сканування TCP-портів прапором FIN відомий по-іншому як

«Зворотне стелс-сканування з використанням прапора FIN» Ідея методу за-

лягає у тому, що згідно RFC 793 на прибулий FIN-пакет на закритий порт сервер повинен відповісти RST-пакетом FIN-пакети на відкриті порти ігноруються обєктом сканування

Метод сканування TCP-портів прапором ACK схожий на FIN-сканування, відомий по-іншому як «зворотне стелс-сканування з ис-користуванням прапора ACK» Ідея методу полягає в тому, що згідно RFC

793 на прибулий ACK-пакет на закритий порт сервер повинен відповісти RST-пакетом ACK-пакети на відкриті порти ігноруються обєктом сканування-ня

Методи сканування XMAS («Новорічна ялинка») і NULL укладають-

ся у відправці на сервер TCP-пакета з встановленими усіма прапорами (XMAS) або з усіма скинутими прапорами (NULL) Відповідно до RFC 793 на прибулий пакет з даними значеннями прапорів на закритий порт сервер повинен відповісти RST-пакетом Такі пакети на відкриті порти ігнорують-ся обєктом сканування

Зазначені вище методи сканування дозволяють зловмисникові ви-

яснити наявність відкритих TCP-портів на атакується вузлі Для виявлення відкритих UDP-портів застосовується інший підхід

Виконати аналіз відкритих UDP-портів зловмисникові кілька

складніше, ніж TCP-портів Причина в тому, що на відміну від протоколу TCP, UDP є протоколом з негарантованої доставкою даних Тому UDP-порт і не посилає підтвердження прийому запиту на встановлення сполуки, і немає ніякої гарантії, що відправлені UDP-порту дані ус-пешно дійдуть до нього Проте більшість серверів у відповідь на пакет, який прибув на закритий UDP-порт, відправляють ICMP-повідомлення «Порту не-доступний» (Port Unreachable – PU) Таким чином, якщо у відповідь на UDP-пакет прийшло ICMP-повідомлення PU, то сканований порт є закритим, в іншому випадку (при відсутності PU) порт відкритий

Рис 28 Приклад UDP-сканування

Зазвичай сканери працюють таким чином: на тестований порт відправляється UDP-пакет, що складається, наприклад, з 18 нулів (рис 28) Якщо відповідний порт відкритий, то у відповідь тестований компютер може чи-бо нічого не відправити, або відправити відповідь UDP-пакет У цьому випадку сканер робить висновок про те, що порт відкритий Якщо ж порт закритий, то тести-руемой компютер повинен відповісти ICMP-повідомленням з кодом 0х03 (Port Unreachable) Отримавши таке повідомлення (рис 29), сканер зробить висновок про за-відкритості даної служби

Для UDP-протоколу немає чіткого поняття, хто є ініціатором па-

кета Так, вихідний UDP-запит на будь-яку службу, очевидно, передбачає вхідний UDP-відповідь Разом з тим будь UDP-пакет з рівною ймовірністю може бути і вхідним UDP-відповіддю, і вихідним UDP-запитом Отже, на відміну від протоколу TCP тут не можна чітко розділити вхідні та вихідні UDP-пакети

Єдиним критерієм, який дозволяє ідентифікувати входити-

дящие UDP-пакети як атаку, є послідовність пакетів, відправ-ляемая на різні UDP-порти При цьому порт відправника найімовірніше буде в «клієнтському» діапазоні – більше 1024

Рис 29 Приклад ICMP-пакета Port Unreachable

ВИКОНАТИ

8 Запустіть програму-сканер портів SAURON

9 Здійсніть захоплення мережевого трафіку

10 Виконайте сканування TCP-і UDP-портів сусіднього компютера в діапазоні від 130 до 140, послідовно виконуючи сканування различ-

вими методами: Connect (), SYN-скануванням, FIN-скануванням, ACK-скануванням, XMAS-скануванням, NULL-скануванням, UDP-скануванням

11 Проаналізуйте отриманий трафік Знайдіть відмітні ознаки кожного методу сканування Сформулюйте ознаки подібних атак Зробіть висновок про можливість блокування даних атак

Джерело: Андрончик А Н, Богданов В В, Домуховскій Н А, Коллеров А С, Синадський Н І, Хорьков Д А, Щербаков М Ю, Захист інформації в компютерних мережах Практичний курс

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*