Nmap - Jak Sprawdzić Otwarte Porty? - Security Bez Tabu

Nmap – Jak Sprawdzić Otwarte Porty?

Co to jest nmap?

To chyba jedno z najczęstszych fraz w polskim Internecie dotyczących narzędzia nmap.

Zacznijmy słowem wstępu dla tych z Was, którzy nie mieli do czynienia z tym podstawowym narzędziem:

Nmap (“Network Mapper”) to darmowy oraz działający na licencji open source narzędzie do eksploracji sieci i audytów bezpieczeństwa. Stworzony przez Gordona Lyona i rozwijany od 1997.  Jest on obecnie najpopularniejszym i uważanym przez fachowców najlepszym narzędziem do skanowania w sieciach opartych na stosie TCP/IP. 

Administratorzy systemów oraz administratorzy sieci mogą również wykorzystywać go do prac takich jak:

  • inwentaryzacja zasobów sieci,
  • zarządzanie aktualizacjami oprogramowania,
  • monitorowanie hostów
  • monitorowanie usług uptime.

Nmap wykorzystuje niskopoziomowe pakiety IP, wykrywa które adresy są dostępne w sieci, które usługi (nazwa aplikacji i wersja) oferują hosty, jakie mają systemy operacyjne (wersja systemu), jaki rodzaj filtrów pakietów / firewalli wykorzystują i dziesiątek innych cech.

Nmap został zaprojektowany do szybkiego skanowania dużych sieci. Działa równie dobrze w stosunku do pojedynczych adresów. Nmap działa na większości systemów operacyjnych, a oficjalne paczki binarne są dostępne dla systemów Linux, Windows i Mac OS X. Oprócz klasycznego wiersza poleceń, pakiet Nmap zawiera zaawansowane GUI z opcją przeglądania wyników (Zenmap), elastyczne narzędzie do przesyłania danych, przekierowania oraz do debugowania (Ncat) oraz narzędzie do porównywania wyników skanowania (Ndiff). 

Sama instalacja skanera jest bardzo prosta. W przypadku Linuksa najlepiej skorzystać z menedżera pakietów w Twojej dystrybucji, np. apt w Debianie. Z kolei administratorowi Windows najłatwiej jest pobrać gotowy instalator dostępny na oficjalnej stronie narzędzia .

Zawsze możesz wybrać pomiędzy wersją stabilną oraz rozwojową. Masz również wybór pomiędzy wersją do zainstalowania, a wersją do rozpakowania (.ZIP). Ta ostatnia będzie nadawać się do zabrania z sobą na pamięci przenośnej i wykorzystania tam, gdzie nie posiadamy uprawnień do instalacji oprogramowania.

W przypadku Linuksów można także rozważyć kompilację programu ze źródeł.

Nmap – jak go używać? – podstawy

W tym artykule znajdziesz przykłady użycia tego narzędzia. Nie będzie to kompletny kurs ani wprowadzenie jaka teoria kryje się za jego działaniem. Mam jednak nadzieję, że będzie to wystarczające dla Ciebie abyś zaczął już wykorzystywać je w praktyce.

Pamiętaj też, że większość przedstawionych poniżej przełączników możesz łączyć.

Podstawowe skanowanie adresu IP lub hosta

$ nmap 1.1.1.1

Jeśli chcesz możesz zastąpić adres IP nazwą hosta, przykład poniżej:

$ nmap wp.pl

Ping skan

$ nmap -sP 192.168.1.0/24

Najbardziej znanym rodzajem skanowania jest skanowanie nmap ping (nazywane tak, ponieważ jest często używane do wykonywania nmap ping sweep) i jest to najłatwiejszy sposób na wykrycie hostów w sieci.

Wadą tego typu skanowania tylko za pomocą protokołu ICMP jest to, że hosty zdalne często blokują pakiety ping oparte na protokole IP. Jeśli przy użyciu tego polecenia nie możesz uzyskać satysfakcjonujących wyników, zalecam przejście na żądania skanowania oparte na ARP.

Skanowanie określonych lub całych zakresów portów na lokalnym lub zdalnym serwerze

$ nmap -p 1-65535 localhost

W tym przykładzie przeskanowaliśmy wszystkie 65535 porty dla naszego komputera lokalnego.

Nmap jest w stanie przeskanować wszystkie możliwe porty, ale możesz także skanować określone porty, co szybciej otrzymać wyniki. Przykład poniżej:

$ nmap -p 80,443 1.1.1.1

Jeśli nie pamiętamy numeru portu to możemy wpisać samą nazwę usługi. Nmap korzysta z pliku %SystemRoot%\System32\drivers\etc\services. W pliku tym są zapisane usługi i przypisane do nich usługi wg. zestawienia Well-known ports.

$ nmap -p http 1.1.1.1

Skanowanie wielu adresów IP

Chcąc przeskanować wiele adresów IP. W tym celu musisz użyć tej składni:

$ nmap 1.1.1.1 8.8.8.8

Możesz także skanować kolejne adresy IP:

$ nmap 1.1.1.1,2,3,4

To zeskanuje hosty pod adresem IP 1.1.1.1, 1.1.1.2, 1.1.1.3 i 1.1.1.4.

Skanowanie całych podsieci

Możesz także użyć Nmapa do skanowania całych zakresów IP CIDR, na przykład:

$ nmap 1.1.1.0/28

To przeskanuje 14 kolejnych zakresów IP, od 1.1.1.1 do 1.1.1.14.

Alternatywą jest po prostu użycie tego rodzaju zakresu:

$ nmap 8.8.8.1-14

Możesz nawet użyć symboli wieloznacznych, aby przeskanować cały zakres adresów IP klasy C, na przykład:

$ nmap 8.8.8.*

To przeskanuje 256 adresów IP od 8.8.8.1 do 8.8.8.256.

Jeśli kiedykolwiek będziesz musiał wykluczyć określone adresy IP ze skanowania zakresu adresów IP, możesz użyć opcji „–exclude”, jak widać poniżej:

$ nmap 8.8.8.* --exclude 8.8.8.1

Skanowanie najpopularniejszych portów

Użycie parametru „–top-ports” wraz z określoną liczbą pozwala przeskanować X najpopularniejszych portów dla tego hosta. Przykładowo:

$ nmap --top-ports 10 10.0.2.4 

poskutkuje:

Zastąp „10” żądaną liczbą. Skąd wiemy jakie porty będą skanowane? Zebrane one są w zestawieniu Well-known ports.

Skanowanie hostów lub adresów IP zapisanych w pliku

W tym przypadku Nmap jest również przydatny do odczytywania plików zawierających hosty i adresy IP.

Załóżmy, że tworzysz plik list.txt, który zawiera w środku następujące wiersze:

10.0.1.4
192.168.0.1
wp.pl
onet.pl
192.168.8.3

Parametr „-iL” pozwala czytać z tego pliku i skanować wszystkie te hosty:

$ nmap -iL list.txt

Zapisywanie rezultatu skanowanie do pliku

Chcąc eksportować/zapisywać nasze wyniki do pliku tekstowego musimy użyć przełącznika “-oN”:

$ nmap -oN output.txt 8.8.8.8

Nmap ma również możliwość eksportowania plików do formatu XML:

$ nmap -oX output.xml 8.8.8.8

Oczywiście możesz zapisać raport używając przekierowania strumienia:

$ nmap 8.8.8.8 > output.txt

ale to spowoduje, że nie dostaniesz informacji na konsole co się dzieje. Może być to uciążliwe lub nawet uniemożliwić pracę przy skanach większej ilości hostów. Nie zalecam stosowania tej składni.

Skanowanie z wyłączonym DNS name resolution

Jeśli chcesz trochę przyspieszyć skanowanie to możesz wyłączyć reverse DNS resolution dla wszystkich skanów. Wystarczy dodać parametr „-n”.

Jak możesz zauważyć z powyższego zestawienia czas skanowania skrócił się znacznie.

Skanowanie z detekcją systemu operacyjnego

Wykrywanie systemu operacyjnego znajdującego się na skanowanym hoście uruchamiamy dodając przełącznik “-O”

$ nmap -O 8.8.8.8

Skanowanie + wykrywanie systemu operacyjnego i usług z szybkim wykonaniem

Użycie parametru „-A” (tzw. agresywny skan) umożliwia wykonanie wykrywania systemu operacyjnego i usług, a jednocześnie łączymy to z „-T4” w celu szybszego wykonania. Przykład poniżej:

$ nmap -A -T4 wp.pl

Oto wynik, który otrzymaliśmy dla tego testu:

Skan z wykrywaniem wersji usług

Można to zrobić za pomocą parametru “-sV”.

$ nmap -sV 10.0.2.4

Przykład wyniku:

Skan przy użyciu protokołów TCP lub UDP

Jedną z rzeczy, które najbardziej lubimy w narzędziu nmap, jest fakt, że działa on zarówno dla protokołów TCP, jak i UDP. Chociaż większość usług działa na protokole TCP, możesz również uzyskać dużą przewagę, skanując usługi oparte na protokole UDP. Przykłady poniżej:

Wynik skanowania TCP, za pomocą parametru “-sT”:

Wynik skanowania UDP, za pomocą parametru “-sU”:

Podsumowanie

Nmap od jest jednym z najpopularniejszych skanerów portów i sieci. Mimo to nowi użytkownicy często mają pytania dotyczące tego, jak to działa i legalnego użytkowania, a nawet od czasu do czasu szukają innego, podobnego oprogramowania.

Czy nmap jest darmowy?

Tak, Nmap jest całkowicie darmowy do pobrania i używania. Jest to również projekt typu open source (licencjonowany), dzięki czemu możesz go sprawdzać, modyfikować i ulepszać zgodnie z własnymi potrzebami.

Czy nmap jest legalny?

Nmap jest legalny jako narzędzie. Pamiętaj natomiast, że zależy to całkowicie od celu, w jakim użytkownik ma z niego korzystać. Skanowanie własnej sieci jest całkowicie legalne, ale skanowanie sieci stron trzecich może spowodować problemy prawne, jeśli nie masz uprawnień, w zależności od kraju i stanu, w którym mieszkasz.

Istnieje wiele niuansów i opinii na temat legalności skanowania portów. Aby pomóc Ci uniknąć problemów prawnych, zalecam zapoznanie się z oficjalnymi konsekwencjami wyszczególnionymi na stronie z kwestiami prawnymi nmap.

A wersja z GUI?

Dla większości użytkowników, nawet tych zaawansowanych, wystarczy nmap. Jeśli nie lubisz terminali, zawsze możesz zajrzeć do zenmap, opartej na GUI wersji nmapa.

Zdanie końcowe o nmap

Mam nadzieję, że spodobał Ci się ten artykuł. Na serwisie SecurityBezTabu.pl znajdziesz niedługo bardziej zaawansowane sposoby użycia, wykorzystywania skryptów i opisaną teorię jaka stoi za skanerem nmap.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *