Miesięcznik informatyków i menedżerów IT sektora publicznego

Kamil Folga

Eksploracja sieci i audyty bezpieczeństwa z Nmap

Nmap (Network Mapper) to popularny darmowy skaner sieciowy, który stworzył Gordon Lyon w 1997 r. To podstawowe narzędzie stosowane przez specjalistów od cyberbezpieczeństwa, służące do wyszukiwania hostów, usług i zagrożeń w sieci.

Najprostsze zastosowanie Nmap sprowadza się do skanowania hostów lub sieci pod kątem otwartych portów. To narzędzie potrafi jednak o wiele więcej! Za jego pomocą możemy analizować określone hosty lub usługi, systemy operacyjne, a także wykorzystać zewnętrzną bibliotekę skryptów do poszukiwania zagrożeń i realizacji zaawansowanych metod skanowania. Nmap jest dostępny dla systemów operacyjnych Windows, Linux, MacOS. Podstawą obsługi narzędzia jest praca z linią komend. Istnieje również wersja wyposażona w środowisko graficzne GUI o nazwie Zenmap.

Instalacja narzędzia

W przypadku systemu Windows wystarczy pobrać i zainstalować najnowszy pakiet nmap-x.yy-setup.exe ze strony nmap.org. Po uruchomieniu otrzymamy środowisko Zenmap, które udostępnia możliwość wpisania komend Nmap, a także graficzną prezentację wyników skanowania. To łatwy i szybki sposób na instalację Nmap. Z kolei w systemie Linux (dystrybucja Debian) należy zaktualizować system i zainstalować pakiet Nmap:

# apt-get update
# apt-get install nmap

Po poprawnej instalacji korzystamy z wersji narzędzia wyposażonego w linię komend. Warto pamiętać, że zanim podejmiemy próby skanowania obcych systemów i sieci, należy uzyskać zgodę właściciela na takie działania.

Podstawowe metody skanowania

Podstawowe skanowanie Nmap (bez używania dodatkowych parametrów) pozwala sprawdzić 1000 najczęściej używanych portów TCP na jednym hoście. Taką formę skanowania realizujemy, używając polecenia:

# nmap adres_ip_hosta

Wynikiem jest lista zawierająca trzy kolumny: PORT, STATE, SERVICE. Kolumna PORT wskazuje numer wykrytego portu oraz protokół, z jakim pracuje usługa uruchomiona na danym porcie. Kolumna STATE to informacja, czy port jest otwarty lub zamknięty, natomiast kolumna SERVICE pokazuje, jaka usługa jest powiązana z danym portem. Skanowanie wielu hostów możemy zrealizować poleceniem nmap 192.168.0.1 192.168.0.2 lub nmap 192.168.0.1-192.168.0.10 w wypadku zakresu adresów. Z kolei całą podsieć zbadamy poprzez określenie jej zakresu: nmap 192.168.0.0/24. Jeżeli chcemy wyłączyć określony host ze skanowania, należy wykonać polecenie exclude:

# nmap 192.168.0.0/24 \
--exclude 192.168.0.1

Możemy również przeprowadzić skanowanie agresywne, dodając przełącznik -A. Otrzymamy wówczas bardzo dużo informacji o hoście, ale takie „badanie” jest bardzo łatwe do wykrycia. Nmap dysponuje szerokim zakresem opcji skanowania. Opcja -sL pozwala wyświetlić listę hostów w sieci bez konieczności wysyłania pakietów do każdego z nich. Z kolei -sn (No Port Scan) oznacza, że nie uruchamiamy skanowania portów podczas wyszukiwania hostów. Otrzymamy jedynie listę dostępnych hostów, które odpowiedzą na próby odkrywania. Jeżeli sięgniemy po opcję -Pn (No Ping Scan), Nmap nie będzie wykorzystywał wstępnej analizy hosta z użyciem polecenia ping, natomiast automatycznie uruchomi skanowanie 1000 najczęściej używanych portów.

Z kolei opcja -PS (TCP SYN Ping) wysyła puste pakiety TCP z ustawioną flagą SYN. Jeżeli port jest otwarty, host odpowie pakietem z ustawioną flagą SYN/ACK. To podstawowa metoda skanowania portów w sieciach z zablokowanymi komunikatami ICMP. Domyślnie badany jest port 80, ale można też wybrać inny znany port. Skanowanie -PA (TCP ACK Ping) jest użyteczne w sieciach z zablokowaną komunikacją ICMP. Odkrywanie hostów odbywa się poprzez wysłanie odpowiedzi na nieistniejące połączenie TCP w celu sprowokowania komunikacji od celu skanowania. Opcja -PU (UDP Ping) wysyła pakiety UDP w celu uzyskania odpowiedzi od celu skanowania. Badanie poleceniem -PY prowadzi do wykorzystania protokołu STCP do wyszukiwania systemów VoIP. Natomiast poleceniem -PE (ICMP Echo Ping) można sprawdzić standardową odpowiedź na pakiety ICMP.

Kolejne opcje: -PP (ICMP Timestamp Ping), -PM (ICMP Address Mask Ping) to alternatywne metody skanowania pakietami ICMP. Ciekawą opcją jest -P0 (IP Protocol Ping) umożliwiający wysłanie pakietów z określonym protokołem do celu (przykładowo ICMP, IGMP, IP-in-IP). Z kolei ARP Ping z opcją -PR to najszybsza metoda odkrywania hostów w sieci, której nie można zablokować w sieci lokalnej. Wykorzystuje protokół ARP w przeciwieństwie do podstawowej formy odkrywania hostów z użyciem ICMP. W celu przyspieszenia operacji wyszukiwania możemy wyłączyć odwzorowanie nazw z wykorzystaniem DNS przy użyciu opcji -n. Czas niezbędny na skanowanie skraca się dzięki temu nawet o 90%.

[...]

Autor zawodowo zajmuje się informatyką ze specjalizacją w zakresie bezpieczeństwa sieci. Publikuje w magazynach komputerowych.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma. Zapraszamy do składania zamówień na prenumeratę i numery archiwalne.
 
 

Polecamy

Biblioteka Informacja Publiczna

Specjalistyczne publikacje książkowe dla pracowników administracji publicznej

więcej