Този урок ще се фокусира върху ключово използване на Nmap, т.е.д., откриване на хост и методология за откриване на хост. Добре е да се отбележи, че това не е ръководство за начинаещи за работа с Nmap или методология за събиране на информация при тестване на проникване.
Какво е Host Discovery
Процесът на откриване на Nmap хост се отнася до изброяването на мрежови хостове, за да се събере информация за тях, за да се изгради план за атака при тестване на писалки.
По време на откриването на хоста Nmap използва елементи като Ping и вграден скрипт за търсене на операционни системи, портове и стартиращи услуги, използвайки протоколи TCP и UDP. Ако е посочено, можете да активирате механизма за скриптове Nmap, който използва различни скриптове за търсене на уязвимости срещу хоста.
Процесът на откриване на хост, използван от Nmap, използва сурови ICMP пакети. Тези пакети могат да бъдат деактивирани или филтрирани от защитни стени (рядко) и много предпазливи системни администратори. Nmap обаче ни предоставя стелт сканиране, както ще видим в този урок.
Нека започнем.
Откриване на мрежата
Без да губим твърде много време, нека разгледаме различни методи за извършване на откриване на хост и преодоляване на различни ограничения, причинени от мрежови устройства за сигурност като защитни стени.
1: Класически ICMP пинг
Можете да извършите откриване на хост с просто ICMP ехо искане където домакинът отговаря с ICMP ехо отговор.
За да изпратите ICMP ехо заявка с Nmap, въведете командата:
$ nmap -PE -sn 192.168.0.16Резултатът ще прилича на показаното по-долу:
Стартиране на Nmap 7.91 (https: // nmap.организация)сканирайте доклад за 192.168.0.16
Хостът е нагоре (0.Латентност 11s).
MAC адрес: EC: 08: 6B: 18: 11: D4 (Tp-link Technologies)
Nmap done: 1 IP адрес (1 хост нагоре) сканиран за 0.62 секунди
В горната команда казваме на Nmap да изпрати заявка за пинг ехо (-PE) до целта. Ако получи ICMP отговор, хостът е станал.
По-долу е екранна снимка на Wireshark на командата nmap -sn -PE:
Помислете за предоставения по-долу ресурс, за да научите повече за протокола ICMP.
https: // linkfy.към / ICMP
ЗАБЕЛЕЖКА: ICMP ехо заявките са ненадеждни и не правят заключение въз основа на отговора. Например, помислете за същата заявка до Microsoft.com
$ nmap -sn -PE microsoft.comРезултатът ще бъде както е показано по-долу:
Стартиране на Nmap 7.91 Забележка: Хостът изглежда не работи.Ако наистина е, но блокира нашите пинг сонди, опитайте -Pn
Nmap направено:
1 IP адрес (0 хоста нагоре), сканиран за 2.51 секунди
Ето екранна снимка за анализ на Wireshark:
2: TCP SYN пинг
Друг метод за откриване на хост е да се използва Nmap TCP SYN пинг сканиране. Ако сте запознати с трите ръкостискания TCP SYN / ACK, Nmap заимства от технологията и изпраща заявка до различни портове, за да определи дали хостът работи или използва разрешителни филтри.
Ако кажем на Nmap да използва SYN ping, той изпраща пакета до целевия порт и ако хостът е нагоре, той отговаря с ACK пакет. Ако хостът не работи, той отговаря с RST пакет.
Използвайте командата, както е показано по-долу, за да стартирате SYN заявка за пинг.
sudo nmap -sn -PS scanme.nmap.оргОтговорът от тази команда трябва да показва дали хостът е нагоре или надолу. По-долу е Wireshark филтър на заявката.
tcp.знамена.syn && tcp.знамена.ack
ЗАБЕЛЕЖКА: Използваме -PS, за да посочим, че искаме да използваме TCP SYN заявка за пинг, която може да бъде по-ефективен метод от суровите ICMP пакети. Следва Nmap заявка на Microsoft.com, използвайки TCP SYN.
$ nmap -sn -PS microsoft.comРезултатът е показан по-долу:
Стартиране на 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 пинг
Методът за пинг на 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.Латентност 15s).
MAC адрес: EC: 08: 6B: 18: 11: D4 (Tp-link Technologies)
Nmap направено:
1 IP адрес (1 хост нагоре), сканиран за 0.49 секунди
4: UDP пинг
Нека поговорим за друга опция за откриване на хост в Nmap, т.е.д., UDP пинг.
UDP пинг работи чрез изпращане на UDP пакети до посочените портове на целевия хост. Ако хостът е онлайн, UDP пакетът може да срещне затворен порт и да отговори с ICMP порт недостъпно съобщение. Ако хостът не работи, подканата ще бъде различни съобщения за грешка на ICMP като превишаване на TTL или липса на отговор.
Портът по подразбиране за UDP пинг е 40, 125. UDP пингът е добра техника за използване при откриване на хост за хостове зад защитна стена и филтри. Това е така, защото повечето защитни стени търсят и блокират TCP, но позволяват трафик по протокол UDP.
За да стартирате Nmap host discovery с UDP ping, използвайте командата по-долу:
sudo nmap -sn -PU scanme.nmap.оргРезултатът от горната команда може да се изследва с помощта на Wireshark, както е показано на екранната снимка по-долу. Използван Wireshark филтър - udp.порт == 40125
Както можете да видите на горната екранна снимка, Nmap изпраща UDP пинг към IP 45.33.32.156 (scanme.nmap.организация). Сървърът отговаря с ICMP недостижим, което показва, че хостът е изправен.
5: ARP пинг
Не можем да забравим ARP метода за пинг, който работи много добре за откриване на хост в локални мрежи. ARP ping методът работи, като изпраща поредица 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.192.168.0.30
TCP SYN Стелт
Ще откриете, че SYN сканирането е добра опция за откриване на хост, тъй като е бързо и може да сканира серия от портове за секунди, при условие че системите за сигурност като защитни стени не пречат. SYN също е много мощен и скрит, тъй като работи с непълни TCP заявки.
Няма да навлизам в подробности за това как работи TCP SYN / ACK, но можете да научите повече за него от различните ресурси, предоставени по-долу:
- https: // linkfy.към / tcpWiki
- https: // linkfy.към / 3-посока-обяснение за ръкостискане
- https: // linkfy.до / 3-посочна анантомия
За да стартирате Nmap TCP SYN стелт сканиране, използвайте командата:
sudo nmap -sS 192.168.0.1/24Предоставих Wireshark улавяне на командата Nmap -sS и Nmap находките на сканирането, разгледайте ги и вижте как работи. Потърсете непълни TCP заявки с RST пакета.
- https: // linkfy.към / wireshark-capture
- https: // linkfy.към / nmap-output-txt
Заключение
За да обобщим, ние се фокусирахме върху обсъждането как да използваме функцията за откриване на хост Nmap и да получим информация за посочения хост. Също така обсъдихме кой метод да използваме, когато трябва да извършите откриване на хост за хостове зад защитни стени, блокиране на ICMP заявки за пинг и много други.
Изследвайте Nmap, за да получите по-задълбочени познания.