К профилю facebook
К профилю linkedin
gallery/artage-io-thumb-9cfcd10dceda7ae2d9eb329237ac313a
gallery/screenshot_7
Nmap для Pentester: виявлення хоста
gallery/nmap

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

 

Ping Sweep

Почнемо зі сканування всієї мережі за допомогою Ping (-SP).

 

nmap -sP 192.168.31.1-200

Вернуться назад

Коли ви уважно спостерігаєте за пакетами Wireshark, ви бачите, що тут при скануванні мережі надсилаються тільки пакети ARP

gallery/1
gallery/klin [запущено] - oracle vm virtualbox 2022-07-14

Примітка: Робота –sP та –sn однакова.

 

Давайте спробуємо те саме, використовуючи параметр без сканування портів (-sn). У цьому варіанті ми також використовуємо параметр –packet-trace, який дозволить вам побачити докладну інформацію про передачу пакетів без Wireshark. Тут можна спостерігати за отриманням пакетів ARP.

 

nmap -sn 192.168.31.1-200 --packet-trace

gallery/2

Тепер, коли ми побачили, що в мережі видно ARP-пакети, ми скористаємося опцією -disable-arp-ping, де ви побачите, що відправляються 4 пакети.

 

Disable-arp-ping

 

Щоб вимкнути виявлення ARP, Nmap надає опцію.

 

nmap -sn 192.168.31.89 --disable-arp-ping

gallery/3

І ви побачите, що пакети ARP не видно.

 

Примітка. Сканування локальної мережі за допомогою Nmap, де Nmap надсилає пакет ARP при кожному скануванні. Якщо потрібно сканувати зовнішню мережу; Nmap надсилає наступні пакети запитів під час використання –disable-arp-ping:

 

ICMP echo request (TYPE 8)

ICMP timestamp request (TYPE 13)

TCP SYN to port 443

TCP ACK to port 80

 

Ви також можете використовувати параметр –send-ip, щоб отримати ті ж результати, що й на кроці вище.

 

send-ip

 

nmap -sn 192.168.31.89 --packet-trace --send-ip

gallery/4

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

 

TCP Flags

 

По-перше, познайомимося з основами комунікаційних прапорів в TCP. Заголовок TCP в основному складається з шести прапорів, які керують з'єднанням між системами та надають їм інструкції. Кожен прапор має розмір 1 біт, отже розмір прапорів TCP становить 6 біт. Тепер давайте коротко розберемося з кожним прапором.

 

NS (ECN-nonce) - Стійкий механізм сигналізації насичення за допомогою ECN-nonce (RFC 3540)

 

CWR (Congestion Window Reduced) — Поле «Вікно перевантаження зменшено» — прапор встановлений відправником, щоб вказати, що отримано пакет із встановленим прапором

 

ECE (RFC 3168) ECE (ECN-Echo) - Поле "Эхо ECN" - вказує, що даний вузол здатний на ECN (явне повідомлення перевантаження) і для вказівки відправнику про навантаження в мережі (RFC 3168)

 

URG - поле «Покажчик важливості» задіяне (англ. Urgent pointer field is significant). Коли вузол відправляє сегмент з прапором URG, то вузол-одержувач приймає його на окремому каналі.

 

ACK — поле «Номер підтвердження» задіяне (англ. Acknowledgement field is significant)

 

PSH - (англ. Push function) інструктує одержувача проштовхнути дані, що накопичилися в приймальному буфері, додаток користувача. API для встановлення PSH прапора немає. Зазвичай він встановлюється ядром, коли очищає буфер. Справа в тому, що коли вузол надсилає інформацію, TCP зберігає її в буфері і не передає її відразу іншому вузлу, очікуючи, чи захоче відправник передати ще. Така сама схема працює і у вузла-отримувача. Коли він отримує інформацію, TCP зберігає її в буфері, щоб не турбувати програму через кожен байт отриманої інформації. Якщо вузол відправляє сегмент з прапором PSH, це означає, що він відправив все, що було потрібно.

 

RST - обірвати з'єднання, скинути буфер (очищення буфера) (Reset the connection)

 

SYN - синхронізація номерів послідовності (англ. Synchronize sequence numbers)

 

FIN (англ. final, біт) — прапор, встановлений, вказує на завершення з'єднання (англ. FIN bit used for connection termination).

 

 

TCP SYN Ping Scan

 

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

 

Команда -sP в Nmap дозволяє виявляти лише онлайн-хости. У той час, як SYN Ping (-PS) відправляє TCP SYN-пакет на порти, і якщо він закритий, хост відповідає пакетом RST. І якщо запитані порти відкриті, буде відповідь TCP SYN/ACK і буде пакет скидання, який буде надіслано для скидання з'єднання.

 

nmap -sn -PS 192.168.31.89 --disable-arp-ping

 

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

gallery/5

Перевага сканування TCP SYN Ping полягає в тому, що пентестер може отримати активний/неактивний статус хоста, навіть не створюючи з'єднання, і, отже, він навіть не створює журнал у системі чи мережі.

 

TCP ACK Ping Scan

 

Це метод виявлення хоста, який схожий на сканування TCP SYN Ping, але дещо відрізняється. Це сканування також використовує порт 80. Пентестер відправляє порожній TCP-пакет до мети і оскільки між ними немає зв'язку, він отримає пакет підтвердження, а потім скине і завершить запит.

 

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

 

nmap -sn -PA 192.168.31.89 --disable-arp-ping

gallery/6

Тут можна побачити пакети, захоплені Wireshark.

gallery/7

Некоторые брандмауэры настроены на блокировку пакетов ping SYN, поэтому в этом случае это сканирование будет эффективным для простого обхода брандмауэра.

 

 

ICMP Echo Ping Scan​


Сканирование ICMP Ping можно использовать для сбора информации о целевых системах, что отличает его от сканирования портов. Пентестер может отправить целевой объект ICMP ECHO-запрос и получить в ответ эхо-ответ ICMP.

 

 

ICMP тепер неефективний для віддалених пакетів ICMP, заблокованих адміністраторами. Його ще можна використовувати для моніторингу локальних мереж.

 

nmap -sn -PE 192.168.31.89 --disable-arp-ping

gallery/9

Пакети, захоплені Wireshark, можна спостерігати.

gallery/8

ICMP ECHO Ping Sweep

 

Він схожий на Echo Ping Scan і використовується для сканування активних хостів із заданого діапазону IP-адрес. Він надсилає запити ICMP величезній кількості цілей, і, якщо конкретна мета жива, вона повертає відповідь ICMP.

 

nmap -sn -PE 192.168.31.1-200

 

 

ICMP Address Mask Scan​

 

Це старіший метод перевірки зв'язку ICMP ECHO. Він видає інформацію про систему та її маску підмережі.

nmap -sn -PM 192.168.31.89 --disable-arp-ping

 

 

ICMP ECHO Timestamp scan

 

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

 

nmap -sn -PP 192.168.31.89 --disable-arp-ping

 

Пакети, захоплені за допомогою Wireshark, можна спостерігати.

gallery/10

UDP Ping Scan

 

Сканування UDP Ping використовує вкрай незвичайний номер порту за замовчуванням 40125 для надсилання пакетів на ціль. Це скидається на сканування TCP Ping. Пентестер відправить UDP-пакети на ціль, і якщо у відповідь буде відповідь, це означає, що хост активний або інакше він вимкнений

 

Преимущество сканирования UDP заключается в том, что он может обнаруживать системы, в которых есть брандмауэры со строгими правилами TCP, и не усложнять правила UDP.

nmap -sn -PU 192.168.31.89 --disable-arp-ping

gallery/12

Ви можете спостерігати за пакетами за допомогою Wireshark.

gallery/11

IP protocol ping scan​

 

В этом методе пентестер отправляет различные пакеты, используя разные IP-протоколы, и надеется получить ответ, если цель жива.

 

nmap -sn -PO 192.168.31.89 --disable-arp-ping

gallery/13

No ping scan

 

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

 

nmap -sn -PN 192.168.31.89 --disable-arp-ping

 

ARP ping scan

 

У цьому методі пакети ARP відправляються на всі пристрої мережі, хоча вони невидимі через брандмауер. Це вважається надзвичайно ефективним, ніж виявлення інших хостів. Він переважно використовується виявлення систем. Також згадується затримка.

 

nmap -sn -PR 192.168.31.89

 

 

SCTP INIT Ping​

 

Він надсилає пакет SCTP, що містить мінімальний блок INIT. Його порт призначення за замовчуванням - 80. Блок INIT повідомляє віддалену систему, що пентестер намагається встановити зв'язок.

nmap -sn -PY 192.168.1.108 --disable-arp-ping

gallery/15
gallery/14

Traceroute

 

Трасування використовуються після завершення сканування з використанням інформації з результатів сканування та для визначення порту та протоколу, за якими буде досягнуто мети.

 

nmap -sn --traceroute 8.8.8.8

gallery/16
gallery/screen-shot-2017-07-07-at-14.37.37