Avancerede anvendelser til Nmap
Efter den første del i denne serie er det på tide at se på nogle af de mere avancerede funktioner i nmap
. Fra den grundlæggende portscanning er det muligt at få flere oplysninger om scanningen ved at tilføje -vv
flag:
nmap -vv 192.168.1.101
Udgangen vil se sådan ud:
I første del så vi på, hvordan man scanner en række adresser. Der er endnu en måde at udføre scanningen, men denne gang ved at angive antallet af bits fra subnetmasken:
nmap 192.168.1.1/24
Ovennævnte kommando scanner alle værter fra 192.168.1.0 til 192.168.1.255 på et netværk, der har en undernetmaske på 255.255.255.0. Selv om større subnetmasker er mulige (f.eks. 255.255.0.0 er / 16), ville dette medføre, at nmap
scanner et stort antal værter og sandsynligvis bør undgås.
For at få nmap
til at lave en liste over værter, den vil scanne, brug -sL
flag:
nmap-sL 192.168.1.1/24
I dette tilfælde vil udgangen være en liste over adresser (en pr. Linje), der starter ved 192.168.1.0 og slutter ved 192.168.1.255.
Hvis der er værter på dit netværk, er objektet til at blive scannet (siger servere med indbrudsdetekteringssystemer installeret eller visse typer firewallapparater), kan du fortælle nmap
at springe over en bestemt adresse ved at bruge -exclude
flag. Følgende eksempel scanner alle værter fra .0 til .255 men ikke 192.168.1.4:
nmap 192.168.1.1/24-ekskluderer 192.168.1.4
Stealth
Når man leder efter åbne porte, kan nmap
bruge flere forskellige typer scanningsmetoder. Netværksforbindelser etableres ved hjælp af TCP-protokollen. Det definerer hvilke pakker med data, der skal sendes og hvad skal svaret være. For at etablere en forbindelse sendes først en SYN-pakke til værten. Hvis porten er åben, og værten er villig til at acceptere forbindelser, svarer den ved at sende en SYN-ACK-pakke tilbage. Derefter sender klienten en ACK-pakke for at fuldføre forbindelsen. Denne forbindelse bruges derefter højere op af software som webbrowsere og e-mail-programmer. Når det påberåbes fra en normal brugerkonto, er det præcis hvad nmap
gør for hver port, der scannes. Hvis en forbindelse er etableret, rapporteres havnen som åben.
Men hvis nmap
påberåbes fra en root-konto eller bruger sudo
, er det standard til en anden type scan, der kaldes halvåbning. I dette scenario skaber nmap
de lavtliggende TCP-pakker (i stedet for at bruge det underliggende operativsystem til at gøre det på dets vegne), og når det modtager SYN-ACK, svarer det ikke til en ACK, og så er der en fuld forbindelse ikke etableret. Men fordi værten svarede med en SYN-ACK, betyder det at porten er åben og tilgængelig for en fuld forbindelse. Fordelen ved halvåbning er, at den er hurtigere, og det medfører ikke, at serversoftwaren lytter på porten for at logge en forbindelse.
Du kan sikre, at -sS
bruges ved at bruge -sS
flag. Når du kombinerer med -vv
, kan du se nmap
rapporterer om brugen af en "SYN Stealth Scan" til at -vv
værten. Her er den fulde kommando:
sudo nmap -sS-vv 192.168.1.101
Bemærk også, at nmap
nu giver en rapport om antallet af råpakker, det genererede, så det kunne udføre den halvåbne scanning.
Alle lyste op som et juletræ
Der er endnu en type scanning værd at nævne, og det er NULL-scanningen og dens venner - FIN-scanningen og Xmas scanningen. I TCP-standarden er der en lille sektion, der fortæller en TCP-implementering, hvad man skal gøre, hvis den modtager en pakke med de forkerte flag. Det praktiske resultat af dette "sløjfehul" er, at enhver pakke, der ikke indeholder SYN-, RST- eller ACK-bits, vil resultere i en returneret RST-pakke, hvis porten er lukket og slet ikke er noget, hvis porten er åben. nmap
kan bruge dette til sin fordel ved at sende malformede pakker og vente på at se om der er et svar.
NULL-scanningen, der påberåbes ved hjælp af -sN
angiver ikke nogen bits i pakkeoverskriften. FIN scan, -sF
, indstiller TCP FIN bit og Xmas scan, -sX
, indstiller FIN, PSH og URG flag. Det kaldes Xmas scanningen, da pakken nu lyser op som et juletræ!
Hvis værten svarer med en RST-pakke, er porten lukket, intet, og porten er åben.
Konklusion
Som vi kan se, er nmap
et kraftfuldt værktøj og er designet lige for at være skidt eller gennemsigtig. Som et sidste forsøg kan du prøve følgende kommando som en måde at finde ud af, hvilke værter, der lever i dit lokale netværk uden at scanne værterne, men bare ved at bede om deres MAC-adresser:
sudo nmap -PR-vv 192.168.1.1/24
-PR
flag vil forårsage nmap
at bede om nmap
MAC-adresse (ved hjælp af ARP) og markere værten som levende, hvis den får et svar.