Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab5_NMAP.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
77.31 Кб
Скачать

Методи сканування

Перш, ніж знайомитись з використанням програми NMap, ознайомимось з різними методами сканування, які вона дозволяє здійснювати.

Tcp connect() (tcp з’єднання)

Це самий основний вид TCP сканування. Системний виклик connect(), що забезпечується операційною системою машини, з якої здійснюється сканування, використовується для відкриття з’єднання з кожним з цікавлячих портів на машині, яка є ціллю сканування. Якщо порт слухає, виклик connect() буде успішним, в іншому разі порт недоступний. Велика перевага цього методу для того, хто сканує, полягає в тому, що для цього не потрібні жодні спеціальні привілеї. Будь-який користувач на більшості UNIX-машин вільний використовувати цей системний виклик.

З іншого боку, цей вид сканування легко зафіксувати, оскільки протоколи подій на хості-цілі будуть показувати низку повідомлень про з’єднання і помилки від служб, які здійснюють з’єднання (accept()), що після цього негайно закриваються.

TCP SYN

Цей метод часто називають скануванням “напіввідкривання” ("half-open"), оскільки той, хто сканує, не відкриває повне TCP-з’єднання. Він (вона?) відсилає SYN-пакет (TCP-пакет з встановленою ознакою SYN), якби він дійсно збирався відкрити з’єднання, і чекає на відповідь. Важливий момент: в першому методі сканування використовувався системний виклик, і ядро системи само брало на себе турботу по формуванню пакетів, що відповідають за встановлення TCP-з’єднання. В цьому методі підхід інший: програма, що використовується для сканування (ми зараз концентруємось на NMap), формує окремий пакет, відсилає його і чекає на відповідь. Відповідь SYN|ACK (TCP-пакет з встановленими ознаками SYN і ACK) вказує, що порт слухає. Відповідь RST – ознака, що порт не слухає. Якщо надходить SYN|ACK, негайно відправляється RST для знищення з’єднання. Фактично, це для нас робить ядро нашої ОС, бо для нього цей пакет “несподіваний” – це ж не воно розпочинало з’єднання.

Головна перевага цього методу сканування полягає в тому, що менша кількість вузлів зареєструє його. Але для побудови цих окремих SYN-пакетів необхідні привілеї суперкористувача.

Тут і далі автор програми NMap однозначно на боці тих, хто сканує: переваги методу – це додаткові можливості здійснити сканування, з приводу можливості зафіксувати факт сканування або необхідності привілеїв суперкористувача він висловлює жаль. Оскільки нас однаково цікавить як можливість здійснити сканування (з метою тестування мережі), так і можливість виявити сканування (з метою захисту від атак), ми будемо додержуватись нейтралітету і намагатись уникнути емоцій.

Stealth fin (Приховане fin), Xmas Tree (Різдвяне дерево), Null scan (нульове сканування)

Іноді навіть TCP SYN сканування недостатньо приховане. Деякі міжмережеві екрани (брандмауери) і пакетні фільтри пильнують пакети SYN до портів, що охороняються. Доступні також програми подібні до Synlogger і Courtney, здатні виявляти такі сканування. Удосконалені сканування, що розглядаються тут, можуть пройти через згадані перешкоди непоміченими1. ().

Спільна ідея цих методів полягає в тому, що закриті порти повинні відповідати на “незрозумілі” пакети (пакети з несподіваними, неправильними, неприпустимими комбінаціями ознак) RST, в той час коли відкриті порти такі пакети повинні просто ігнорувати (див. RFC 793 pp 64). FIN-сканування використовує в якості зонда “несподівані” FIN-пакети, сканування “Xmas tree” використовує пакети з ознаками FIN, URG і PUSH, нульове сканування використовує пакети взагалі без прапорців.

Деякі ОС ігнорують стандарт і відсилають RST від відкритих портів, коли вони мали б просто пропустити (відкинути) пакет. Тому ці типи сканування не будуть працювати проти таких систем. Втішним є те, що це – добрий спосіб розрізнити платформи. Автор NMap в якості таких ОС називає Windows95/NT, і витрачає немало слів на адресу Microsoft. Однак, потім сам додає, що є також кілька інших систем, які поводять себе також “неправильно”, як і Windows. До їх числа належать Cisco IOS, BSDI, HP/UX, MVS і IRIX2. Тобто, якщо таке сканування знаходить відкриті порти, ви знаєте, що ваша ціль працює не під Windows, а також не під жодною із щойно згаданих ОС3. Якщо ж згадані тут сканування показують, що всі порти закриті, а сканування SYN показує відкриті порти, то ви, ймовірно, скануєте машину або під Windows, або... Однак таке визначення ОС не так вже й корисно, оскільки Nmap має вбудовані можливості детектування ОС.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]