Denna handledning kommer att fokusera på en viktig Nmap-användning, dvs.e., värd upptäckt och värd upptäckt metodik. Det är bra att notera att detta inte är en nybörjarguide för att arbeta med Nmap eller informationsinsamlingsmetodik i penetrationstestning.
Vad är värdupptäckt
Nmap-värdens upptäcktsprocess hänvisar till nätverksvärdens uppräkning för att samla information om dem för att bygga en attackplan i penntestning.
Under värdupptäckten använder Nmap element som Ping och ett inbyggt skript för att söka efter operativsystem, portar och körande tjänster med TCP- och UDP-protokoll. Om det anges kan du aktivera Nmap-skriptmotorn som använder olika skript för att söka upp sårbarheter mot värden.
Värdupptäckningsprocessen som används av Nmap använder råa ICMP-paket. Dessa paket kan inaktiveras eller filtreras av brandväggar (sällan) och mycket försiktiga systemadministratörer. Men Nmap ger oss en smyggenomgång, som vi kommer att se i denna handledning.
Låt oss komma igång.
Nätverksupptäckt
Utan att slösa för mycket tid, låt oss undersöka olika metoder för att utföra värdupptäckt och övervinna olika begränsningar orsakade av nätverkssäkerhetsenheter som brandväggar.
1: Klassiskt ICMP-ping
Du kan utföra värd upptäckt med en enkel ICMP ekoförfrågan där värden svarar med en ICMP-ekosvar.
För att skicka en ICMP-ekoförfrågan med Nmap, ange kommandot:
$ nmap -PE -sn 192.168.0.16Utgången kommer att likna som visas nedan:
Starta Nmap 7.91 (https: // nmap.org)skanningsrapport för 192.168.0.16
Värd är uppe (0.11s latens).
MAC-adress: EC: 08: 6B: 18: 11: D4 (Tp-link Technologies)
Nmap klar: 1 IP-adress (1 värd upp) skannad i 0.62 sekunder
I kommandot ovan ber vi Nmap att skicka en pingeko (-PE) förfrågan till målet. Om det får ett ICMP-svar är värden uppe.
Nedan finns en Wireshark-skärmdump av kommandot nmap -sn -PE:
Tänk på resursen nedan för att lära dig mer om ICMP-protokollet.
https: // linkfy.till / ICMP
NOTERA: ICMP-begäranden om eko är opålitliga och drar ingen slutsats baserat på svaret. Tänk till exempel på samma begäran till Microsoft.com
$ nmap -sn -PE microsoft.comUtgången kommer att visas enligt nedan:
Starta Nmap 7.91 Obs: Värd verkar nere.Om det verkligen är uppe, men blockerar våra ping-sonder, försök -Pn
Nmap gjort:
1 IP-adress (0 värdar upp) skannas i 2.51 sekunder
Här är en skärmdump för Wireshark-analys:
2: TCP SYN Ping
En annan metod för att upptäcka värd är att använda en Nmap TCP SYN-ping-skanning. Om du känner till de tre handskakningarna TCP SYN / ACK lånar Nmap från tekniken och skickar en begäran till olika portar för att avgöra om värden är uppe eller använder tillåtna filter.
Om vi säger till Nmap att använda SYN-ping skickar det paketet till målporten, och om värden är upp, svarar den med ett ACK-paket. Om värden är nere svarar den med ett RST-paket.
Använd kommandot som visas nedan för att köra en SYN-ping-begäran.
sudo nmap -sn -PS scanme.nmap.orgSvaret från detta kommando bör ange om värden är upp eller ner. Följande är ett Wireshark-filter av begäran.
tcp.flaggor.syn && tcp.flaggor.ack
NOTERA: Vi använder -PS för att ange att vi vill använda TCP SYN-ping-begäran, vilket kan vara en effektivare metod än råa ICMP-paket. Följande är en Nmap-begäran från Microsoft.com med TCP SYN.
$ nmap -sn -PS Microsoft.comResultatet visas nedan:
Starta Nmap 7.91 (https: // nmap.org)Nmap-skanningsrapport för Microsoft.com (104.215.148.63)
Värd är uppe (0.29s latens).
Andra adresser för Microsoft.com (ej skannad): 40.112.72.205 13.77.161.179 40.113.200.201 40.76.4.15
Nmap gjort:
1 IP-adress (1 värd upp) skannad i 1.08 sekunder
3: TCP ACK Ping
TCP ACK-pingmetoden är ett underordnat till SYN-ping-begäran. Det fungerar på samma sätt men använder istället ACK-paketet. I den här metoden försöker NMAP något smart.
Det börjar med att skicka ett tomt TCP ACK-paket till värden. Om värden är offline bör paketet inte få något svar. Om online kommer värden att svara med ett RST-paket som indikerar att värden är uppe.
Om du inte känner till RST (återställ paket) är det paketet som skickas efter mottagandet av ett oväntat TCP-paket. Eftersom ACK-paketet som Nmap skickar inte är ett svar på SYN måste värden returnera ett RST-paket.
För att initiera en Nmap ACK-ping, använd kommandot som:
$ nmap -sn -PA 192.168.0.16Angiven produktion nedan:
Starta Nmap 7.91 (https: // nmap.org)Nmap-skanningsrapport för 192.168.0.16
Värd är uppe (0.15s latens).
MAC-adress: EC: 08: 6B: 18: 11: D4 (Tp-link Technologies)
Nmap gjort:
1 IP-adress (1 värd upp) skannad i 0.49 sekunder
4: UDP Ping
Låt oss prata om ett annat alternativ för värdupptäckt i Nmap, dvs.e., UDP-ping.
UDP-ping fungerar genom att skicka UDP-paket till målvärdens angivna portar. Om värden är online kan UDP-paketet stöta på en stängd port och svara med en ICMP-port som inte kan nås. Om värden är nere kommer meddelandet att finnas olika ICMP-felmeddelanden som TTL överskridits eller inget svar.
Standardporten för UDP-ping är 40, 125. UDP-ping är en bra teknik att använda när värdupptäckt utförs för värdar bakom en brandvägg och filter. Det beror på att de flesta brandväggar letar efter och blockerar TCP men tillåter UDP-protokolltrafik.
För att köra Nmap-värdupptäckt med UDP-ping, använd kommandot nedan:
sudo nmap -sn -PU scanme.nmap.orgUtdata från ovanstående kommando kan undersökas med Wireshark, som visas i skärmdumpen nedan. Wireshark filter används - udp.port == 40125
Som du kan se i ovanstående skärmdump skickar Nmap en UDP-ping till IP 45.33.32.156 (scanme.nmap.org). Servern svarar med ICMP som inte kan nås, vilket indikerar att värden är uppe.
5: ARP Ping
Vi kan inte glömma ARP-pingmetoden som fungerar mycket bra för värdupptäckt inom lokala nätverk. ARP-ping-metoden fungerar genom att skicka en serie ARP-sonder till det angivna IP-adressområdet och upptäcka livevärdar. ARP-ping är snabbt och mycket pålitligt.
För att köra en ARP-ping med Nmap, använd kommandot:
sudo nmap -sn -PR 192.168.0.1/24Om du undersöker kommandot med Wireshark och filtrerar ARP från källa 192.168.0.30 får du en skärmdump av ARP Broadcast-sondförfrågningar som visas nedan. Wireshark-filter som används är: arp.src.proto_ipv4 == 192.168.0.30
TCP SYN Stealth
Du kommer att upptäcka att SYN-skanning är ett bra alternativ för värdupptäckt eftersom det är snabbt och kan skanna en serie portar på några sekunder, förutsatt att säkerhetssystem som brandväggar inte stör. SYN är också mycket kraftfullt och smygande eftersom det fungerar med ofullständiga TCP-förfrågningar.
Jag kommer inte att gå in på detaljerna om hur TCP SYN / ACK fungerar, men du kan lära dig mer om det från de olika resurserna nedan:
- https: // linkfy.till / tcpWiki
- https: // linkfy.till / 3-vägs-handskakning-förklaras
- https: // linkfy.till / 3-vägs-anantomi
För att köra Nmap TCP SYN stealth scan, använd kommandot:
sudo nmap -sS 192.168.0.1/24Jag har tillhandahållit en Wireshark-inspelning av Nmap -sS-kommandot och Nmap-fynden i genomsökningen, undersök dem och se hur det fungerar. Leta efter ofullständiga TCP-förfrågningar med RST-paketet.
- https: // linkfy.till / wireshark-capture
- https: // linkfy.till / nmap-output-txt
Slutsats
För att sammanfatta, har vi fokuserat på att diskutera hur man använder Nmap host discovery-funktionen och får information om den angivna värden. Vi diskuterade också vilken metod som ska användas när du behöver utföra värd-upptäckt för värdar bakom brandväggar, blockera ICMP-ping-förfrågningar och mycket mer.
Utforska Nmap för att få djupare kunskap.