Ten samouczek skupi się na kluczowym użyciu Nmapa, i.mi., wykrywanie hostów i metodologia wykrywania hostów. Warto zauważyć, że nie jest to przewodnik dla początkujących dotyczący pracy z Nmapem lub metodologią zbierania informacji w testach penetracyjnych.
Co to jest wykrywanie hostów
Proces wykrywania hostów Nmap odnosi się do wyliczania hostów sieciowych w celu zebrania informacji o nich w celu zbudowania planu ataku w testach pisakowych.
Podczas wykrywania hostów Nmap używa elementów takich jak Ping i wbudowanego skryptu do wyszukiwania systemów operacyjnych, portów i uruchomionych usług przy użyciu protokołów TCP i UDP. Jeśli określono, możesz włączyć silnik skryptów Nmap, który używa różnych skryptów do wyszukiwania luk w zabezpieczeniach hosta.
Proces wykrywania hosta stosowany przez Nmapa wykorzystuje surowe pakiety ICMP. Pakiety te mogą być wyłączane lub filtrowane przez zapory (rzadko) i bardzo ostrożnych administratorów systemu. Jednak Nmap zapewnia nam skanowanie w ukryciu, jak zobaczymy w tym samouczku.
Zacznijmy.
Wykrywanie sieci
Nie tracąc zbyt wiele czasu, przeanalizujmy różne metody wykrywania hostów i pokonaj różne ograniczenia powodowane przez urządzenia zabezpieczające sieć, takie jak zapory sieciowe.
1: Klasyczny ping ICMP
Możesz przeprowadzić wykrywanie hosta za pomocą prostego Żądanie echa ICMP gdzie gospodarz odpowiada an Odpowiedź echa ICMP.
Aby wysłać żądanie echa ICMP za pomocą Nmapa, wpisz polecenie:
$ nmap -PE -sn 192.168.0.16Dane wyjściowe będą wyglądały jak pokazano poniżej:
Uruchamianie Nmapa 7.91 (https://nmap.organizacja)raport skanowania za 192.168.0.16
Host jest aktywny (0.opóźnienie 11s).
Adres MAC: EC:08:6B:18:11:D4 (technologie Tp-link)
Nmap done: 1 adres IP (1 host w górę) przeskanowany w 0.62 sekundy
W powyższym poleceniu mówimy Nmapowi, aby wysłał żądanie ping echo (-PE) do celu. Jeśli otrzyma odpowiedź ICMP, oznacza to, że host działa.
Poniżej znajduje się zrzut ekranu Wireshark polecenia nmap -sn -PE:
Rozważ zasób podany poniżej, aby dowiedzieć się więcej o protokole ICMP.
https://linkfy.do/ICMP
UWAGA: Żądania echa ICMP są niewiarygodne i nie wyciągają wniosków na podstawie odpowiedzi. Rozważmy na przykład tę samą prośbę do firmy Microsoft.com
$ nmap -sn -PE microsoft.comDane wyjściowe będą takie, jak pokazano poniżej:
Uruchamianie Nmapa 7.91 Uwaga: Host wydaje się niesprawny.Jeśli jest naprawdę włączony, ale blokuje nasze sondy ping, spróbuj -Pn
Wykonano Nmapa:
1 adres IP (w górę 0 hostów) skanowany w 2.51 sekund
Oto zrzut ekranu do analizy Wireshark:
2: Ping TCP SYN
Inną metodą wykrywania hostów jest użycie skanowania ping Nmap TCP SYN. Jeśli znasz trzy uzgadnianie TCP SYN/ACK, Nmap zapożycza z tej technologii i wysyła żądanie do różnych portów, aby określić, czy host jest włączony, czy używa filtrów zezwalających.
Jeśli powiemy Nmapowi, aby używał SYN ping, wysyła pakiet do portu docelowego, a jeśli host jest włączony, odpowiada pakietem ACK. Jeśli host nie działa, odpowiada pakietem RST.
Użyj polecenia, jak pokazano poniżej, aby uruchomić żądanie ping SYN.
sudo nmap -sn -PS scanme.nmap.organizacjaOdpowiedź z tego polecenia powinna wskazywać, czy host jest włączony, czy wyłączony. Poniżej znajduje się filtr Wireshark żądania.
tcp.flagi.syn && tcp.flagi.potwierdzam
UWAGA: Używamy -PS, aby określić, że chcemy użyć żądania ping TCP SYN, co może być bardziej wydajną metodą niż surowe pakiety ICMP. Poniżej znajduje się żądanie Nmap firmy Microsoft.com przy użyciu protokołu TCP SYN.
$ nmap -sn -PS microsoft.comDane wyjściowe pokazano poniżej:
Uruchamianie Nmapa 7.91 (https://nmap.organizacja )Raport skanowania Nmap dla Microsoft.com (104.215.148.63)
Host jest aktywny (0.opóźnienie 29s).
Inne adresy dla Microsoft.com (nieskanowane): 40.112.72.205 13.77.161.179 40.113.200.201 40.76.4.15
Wykonano Nmapa:
1 adres IP (1 host w górę) skanowany w 1.08 sekund
3: Ping TCP ACK
Metoda ping TCP ACK jest dzieckiem żądania ping SYN. Działa podobnie, ale zamiast tego używa pakietu ACK. W tej metodzie NMAP próbuje czegoś sprytnego.
Zaczyna się od wysłania do hosta pustego pakietu TCP ACK. Jeśli host jest w trybie offline, pakiet nie powinien otrzymać żadnej odpowiedzi. Jeśli jest online, host odpowie pakietem RST wskazującym, że host jest włączony.
Jeśli nie znasz RST (pakiet resetowania), jest to pakiet wysłany po otrzymaniu nieoczekiwanego pakietu TCP. Ponieważ pakiet ACK wysyłany przez Nmapa nie jest odpowiedzią na SYN, host musi zwrócić pakiet RST.
Aby zainicjować Nmap ACK ping, użyj polecenia jako:
$ nmap -sn -PA 192.168.0.16Dane wyjściowe poniżej:
Uruchamianie Nmapa 7.91 (https://nmap.organizacja )Raport skanowania Nmap dla 192.168.0.16
Host jest aktywny (0.15s latencji).
Adres MAC: EC:08:6B:18:11:D4 (technologie Tp-link)
Wykonano Nmapa:
1 adres IP (1 host w górę) skanowany w 0 in.49 sekund
4: Ping UDP
Porozmawiajmy o innej opcji wykrywania hosta w Nmap, i.mi., ping UDP.
UDP ping działa poprzez wysyłanie pakietów UDP do określonych portów hosta docelowego. Jeśli host jest w trybie online, pakiet UDP może napotkać zamknięty port i odpowiedzieć komunikatem ICMP o nieosiągalnym porcie. Jeśli host nie działa, monitem będą różne komunikaty o błędach ICMP, takie jak przekroczenie TTL lub brak odpowiedzi.
Domyślny port dla ping UDP to 40, 125. Polecenie ping UDP to dobra technika do wykorzystania podczas wykrywania hostów znajdujących się za zaporą sieciową i filtrami. Dzieje się tak, ponieważ większość zapór sieciowych wyszukuje i blokuje protokół TCP, ale zezwala na ruch protokołu UDP.
Aby uruchomić wykrywanie hostów Nmap za pomocą polecenia ping UDP, użyj poniższego polecenia:
sudo nmap -sn -PU scanme.nmap.organizacjaWynik powyższego polecenia można sprawdzić za pomocą Wireshark, jak pokazano na poniższym zrzucie ekranu. Zastosowany filtr Wireshark - udp.port == 40125
Jak widać na powyższym zrzucie ekranu, Nmap wysyła ping UDP do IP 45.33.32.156 (skanowanie.nmap.organizacja). Serwer odpowiada komunikatem ICMP nieosiągalny, co oznacza, że host działa.
5: Ping ARP
Nie możemy zapomnieć o metodzie ARP ping, która działa bardzo dobrze w przypadku wykrywania hostów w sieciach lokalnych. Metoda ARP ping działa poprzez wysyłanie serii sond ARP do podanego zakresu adresów IP i wykrywa hosty na żywo. Ping ARP jest szybki i bardzo niezawodny.
Aby uruchomić ping ARP za pomocą Nmapa, użyj polecenia:
sudo nmap -sn -PR 192.168.0.1/24Jeśli sprawdzisz polecenie za pomocą Wireshark i odfiltrujesz ARP ze źródła 192.168.0.30, otrzymasz zrzut ekranu żądań sondy ARP Broadcast, jak pokazano poniżej. Zastosowany filtr Wireshark to: arp.src.proto_ipv4 == 192.168.0.30
Ukrycie TCP SYN
Odkryjesz, że skanowanie SYN jest dobrą opcją do wykrywania hostów, ponieważ jest szybkie i może skanować szereg portów w ciągu kilku sekund, pod warunkiem, że systemy bezpieczeństwa, takie jak zapory ogniowe, nie przeszkadzają. SYN jest również bardzo potężny i ukryty, ponieważ działa na niekompletnych żądaniach TCP.
Nie będę wchodzić w szczegóły działania TCP SYN/ACK, ale możesz dowiedzieć się więcej na ten temat z różnych zasobów podanych poniżej:
- https://linkfy.do/tcpWiki
- https://linkfy.na/3-kierunkowy uścisk dłoni-wyjaśniony
- https://linkfy.do anatomii/3-drożnej
Aby uruchomić Nmap TCP SYN stealth scan, użyj polecenia:
sudo nmap -sS 192.168.0.1/24Dostarczyłem przechwytywanie Wireshark polecenia Nmap -sS i znaleziska Nmap ze skanowania, zbadaj je i zobacz, jak to działa. Poszukaj niekompletnych żądań TCP z pakietem RST.
- https://linkfy.do/przechwytywania wireshark
- https://linkfy.do/nmap-wyjście-txt
Wniosek
Podsumowując, skupiliśmy się na omówieniu, jak korzystać z funkcji wykrywania hostów Nmap i uzyskać informacje o określonym hoście. Omówiliśmy również, której metody użyć, gdy trzeba przeprowadzić wykrywanie hostów za zaporami ogniowymi, blokować żądania ping ICMP i wiele więcej.
Eksploruj Nmap, aby zdobyć głębszą wiedzę.