Nmap

Процес виявлення хоста Nmap

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

Цей підручник буде зосереджений на ключовому використанні Nmap, тобто.e., виявлення хоста та методологія виявлення хоста. Приємно зауважити, що це не керівництво для початківців щодо роботи з Nmap або методологією збору інформації в тестуванні на проникнення.

Що таке Host Discovery

Процес виявлення хосту Nmap стосується переліку мережевих хостів для збору інформації про них для побудови плану атаки під час тестування пера.

Під час виявлення хосту Nmap використовує такі елементи, як Ping та вбудований скрипт, для пошуку операційних систем, портів та запуску служб із використанням протоколів TCP та UDP. Якщо вказано, ви можете ввімкнути механізм сценаріїв Nmap, який використовує різні сценарії для пошуку вразливостей проти хоста.

Процес виявлення хоста, який використовує Nmap, використовує необроблені пакети ICMP. Ці пакети можуть бути відключені або відфільтровані брандмауерами (рідко) та дуже обережними адміністраторами sys. Однак, як ми побачимо в цьому посібнику, Nmap надає нам стелс-сканування.

Давайте почнемо.

Відкриття мережі

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

1: класичний пінг ICMP

Ви можете виконати виявлення хоста за допомогою простого Запит відлуння ICMP де ведучий відповідає символом Відповідь ICMP echo.

Щоб надіслати запит ехо ICMP за допомогою Nmap, введіть команду:

$ nmap -PE -sn 192.168.0.16

Результат буде виглядати так, як показано нижче:

Запуск Nmap 7.91 (https: // nmap.орг)
сканувати звіт на 192.168.0.16
Хост встановлений (0.Затримка 11 с).
MAC-адреса: EC: 08: 6B: 18: 11: D4 (Tp-link Technologies)
Nmap виконано: 1 IP-адреса (1 хост вгору) сканується за 0.62 секунди

У наведеній вище команді ми просимо Nmap надіслати запит ping echo (-PE) до цілі. Якщо він отримає відповідь ICMP, тоді хост працює.

Нижче наведено знімок екрана Wireshark команди nmap -sn -PE:

Розгляньте поданий нижче ресурс, щоб дізнатись більше про протокол ICMP.

https: // linkfy.до / ICMP

ПРИМІТКА: Запити відлуння ICMP ненадійні і не роблять висновку на основі відповіді. Наприклад, розглянемо той самий запит до Microsoft.ком

$ nmap -sn -PE Microsoft.ком

Результат буде таким, як показано нижче:

Запуск Nmap 7.91 Примітка: Хост здається недоступним.
Якщо це дійсно так, але блокуючи наші пінг-зонди, спробуйте -Pn
Nmap зроблено:
1 IP-адреса (0 хостів вгору) відсканована за 2.51 секунда

Ось знімок екрану для аналізу Wireshark:

2: Пінг TCP SYN

Іншим методом виявлення хоста є використання сканування пінгу Nmap TCP SYN. Якщо ви знайомі з трьома рукостисканнями TCP SYN / ACK, Nmap запозичує цю технологію та надсилає запит до різних портів, щоб визначити, чи працює хост, чи використовує дозвольні фільтри.

Якщо ми скажемо Nmap використовувати ping SYN, він відправляє пакет на цільовий порт, а якщо хост працює, він відповідає пакетом ACK. Якщо хост не працює, він відповідає пакетом RST.

Використовуйте команду, як показано нижче, щоб запустити запит пінгу SYN.

sudo nmap -sn -PS scanme.nmap.орг

У відповіді від цієї команди повинно бути вказано, чи є хост вгору чи вниз. Далі подано фільтр Wireshark запиту.

tcp.прапори.syn && tcp.прапори.ack

ПРИМІТКА: Ми використовуємо -PS, щоб вказати, що ми хочемо використовувати запит пінгу TCP SYN, який може бути більш ефективним методом, ніж необроблені пакети ICMP. Далі подано запит корпорації Майкрософт на Nmap.com за допомогою TCP SYN.

$ nmap -sn -PS Microsoft.ком

Результат показаний нижче:

Запуск Nmap 7.91 (https: // nmap.орг)
Звіт про сканування Nmap для Microsoft.com (104.215.148.63)
Хост встановлений (0.Затримка 29 с).
Інші адреси для Microsoft.com (не відскановано): 40.112.72.205 13.77.161.179 40.113.200.201 40.76.4.15
Nmap зроблено:
1 IP-адреса (на 1 хост вгору) сканується за 1.08 секунд

3: TCP ACK Ping

Метод пінгу TCP ACK є дочірнім елементом запиту пінгу SYN. Він працює аналогічно, але замість цього використовує пакет ACK. У цьому методі NMAP намагається щось розумне.

Починається з надсилання порожнього пакета TCP ACK хосту. Якщо хост офлайн, пакет не повинен отримувати жодної відповіді. У режимі онлайн хост відповість пакетом RST, який вказує, що хост працює.

Якщо ви не знайомі з RST (скидання пакета), це пакет, надісланий після отримання несподіваного пакета TCP. Оскільки пакет ACK, який надсилає Nmap, не є відповіддю на SYN, хост повинен повернути пакет RST.

Щоб ініціалізувати пінг Nmap ACK, використовуйте команду як:

$ nmap -sn -PA 192.168.0.16

Наведений результат нижче:

Запуск Nmap 7.91 (https: // nmap.орг)
Звіт про сканування Nmap за 192.168.0.16
Хост встановлений (0.Затримка 15 с).
MAC-адреса: EC: 08: 6B: 18: 11: D4 (Tp-link Technologies)
Nmap зроблено:
1 IP-адреса (1 хост вгору), відсканована за 0.49 секунд

4: UDP-пінг

Давайте поговоримо про інший варіант виявлення хостів у Nmap, тобто.e., UDP-пінг.

UDP-пінг працює, надсилаючи UDP-пакети до вказаних портів цільового хоста. Якщо хост в мережі, пакет UDP може зіткнутися із закритим портом і відповісти повідомленням, недоступним для порту ICMP. Якщо хост не працює, підказка буде про різні повідомлення про помилки ICMP, такі як перевищення TTL або відсутність відповіді.

Порт за замовчуванням для UDP-пінгу - 40, 125. UDP-пінг - це хороша техніка, яка використовується при виявленні хостів для хостів за брандмауером та фільтрами. Це тому, що більшість брандмауерів шукають і блокують TCP, але дозволяють трафік протоколу UDP.

Щоб запустити виявлення хосту Nmap за допомогою UDP-пінгу, використовуйте команду нижче:

sudo nmap -sn -PU scanme.nmap.орг

Результат роботи вищезазначеної команди можна перевірити за допомогою Wireshark, як показано на скріншоті нижче. Використовується фільтр Wireshark - udp.порт == 40125

Як ви можете бачити на наведеному вище знімку екрана, Nmap надсилає UDP-пінг на IP 45.33.32.156 (scanme.nmap.орг). Сервер відповідає ICMP недосяжно, що означає, що хост працює.

5: ARP Ping

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

Щоб запустити ARP-пінг за допомогою Nmap, скористайтеся командою:

sudo nmap -sn -PR 192.168.0.1/24

Якщо ви вивчите команду за допомогою Wireshark і відфільтруєте ARP з джерела 192.168.0.30, ви отримаєте знімок екрана запитів зонду ARP Broadcast, як показано нижче. Використовується фільтр Wireshark: arp.src.proto_ipv4 == 192.168.0.30

TCP SYN Стелс

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

Я не буду вдаватися в подробиці того, як працює TCP SYN / ACK, але ви можете дізнатись більше про це з різних ресурсів, наведених нижче:

Для запуску стелс-сканування Nmap TCP SYN використовуйте команду:

sudo nmap -sS 192.168.0.1/24

Я забезпечив Wireshark захоплення команди Nmap -sS та знахідки Nmap сканування, вивчіть їх і подивіться, як це працює. Шукайте неповні запити TCP із пакетом RST.

Висновок

Щоб підбити підсумок, ми зосередилися на обговоренні того, як використовувати функцію виявлення хосту Nmap та отримати інформацію про вказаний хост. Ми також обговорили, який метод використовувати, коли вам потрібно виконати виявлення хостів для хостів, що стоять за брандмауерами, блокуючи запити пінгу ICMP та багато іншого.

Досліджуйте Nmap, щоб отримати глибші знання.

How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...