Beginners Guide til Nmap

Noen gang lurt på hvordan angriperne vet hva portene er åpne på et system? Eller hvordan du kan finne ut hvilke tjenester en datamaskin kjører uten bare spør nettstedet admin? Du kan gjøre alt dette og mer med et hendig lite verktøy kalt Nmap.

Hva er Nmap? Forkortelse for " nettverk mapper, " nmap er en veritabel redskapsskjulet av funksjonalitet for å utføre nettverksskanning. Den kan brukes for sikkerhet skanner, bare for å identifisere hvilke tjenester en verten kjører, til " fingeravtrykk " operativsystemet og programmer på en vert, den type brannmur en rekke bruker, eller å gjøre en rask opptelling av et lokalt nettverk. Det er, kort sagt, til en meget godt verktøy vite.

Det er berømt, også. Når du blir kjent Nmap litt, vil du se at det gjør alle typer gjesteopptredener i TV.

I denne opplæringen, vil jeg dekke noen av de grunnleggende bruk Nmap og gi noen eksempler deg kan bruke raskt.

Får Nmap og grunnleggende bruk

Du vil finne Nmap pakket for de fleste store Linux distroer. Den nyeste utgaven av Nmap kom ut tidlig i 2010, så den nyeste versjonen (5.21) ikke kan være i dagens stabile versjoner. Du kan finne kildene og noen binærfiler på nedlastingssiden.

Den grunnleggende syntaks for Nmap er Nmap Scan Type
Alternativer
target
. La oss si at du ønsker å skanne en vert for å se hvilket operativsystem den kjører. For å gjøre dette, kjører du følgende:

 nmap -O target.host.com 

Merk at Nmap krever root privilegier for å kjøre denne type skanning. Skanningen kan ta et minutt eller så å kjøre, så vær tålmodig. Når den er ferdig, vil du se noe som dette:

 Starte Nmap 5,21 (http://nmap.org) på 2010-02-27 23:52 ESTNmap skannerapporten for 10.0.0.1Host er opp ( 0.0015s latency) .Ikke vist: 997 stengt portsPORT STATE SERVICE53 /tcp åpen domain5009 /tcp åpen flyplass-admin10000 /tcp åpen SNET-sensor-mgmtMAC Adresse: 00: 11: 24: 6B: 43: E2 (Apple Computer) Enhetstype : WAP | printerRunning: Apple innebygd, Canon innebygd, Kyocera innebygde, Xerox embeddedOS detaljer: VxWorks: Apple AirPort Extreme v5.7 eller AirPort Express V6.3; Canon imagerunner skriver (5055, C3045, C3380, eller C5185); Kyocera FS-4020DN skriver; eller Xerox Phaser 8860MFP printerNetwork Avstand: 1 hopOS deteksjon utført. Vennligst rapporter eventuelle feil resultater på http://nmap.org/submit/.Nmap gjort: en IP-adresse (en host opp) skannes i 10.21 sekunder 

Som du ser, gir Nmap mye data. Her tar det en gjette på operativsystemet som kan kjøre på systemet. Jeg kjørte denne skanningen mot en Apple Airport Extreme router. Som en ekstra bonus, forteller Nmap meg at enheten er en hoppe unna, MAC-adressen til enheten og produsent av nettverkskortet, de åpne portene, og hvor lenge skanningen tok.

Her er resultatet av en annen skanne, mot en stasjonær maskin som kjører Ubuntu 9.10:

 Starte Nmap 5,21 (http://nmap.org) på 2010-02-28 00:00 ESTNmap skannerapporten for 10.0.0.6Host er opp (0.0039s latency) .Ikke vist: 999 stengt portsPORT STATE SERVICE22 /tcp åpen sshMAC Adresse: 00: 17: 08: 2A: D6: F0 (Hewlett Packard) Enhetstype: general purposeRunning: Linux 2.6.XOS detaljer: Linux 2.6.19 - 2.6 .31Network Avstand: 1 hopOS deteksjon utført. Vennligst rapporter eventuelle feil resultater på http://nmap.org/submit/.Nmap gjort: en IP-adresse (en host opp) skannes i 3.40 sekunder 

Her ser vi at systemet har en HP NIC (det er en HP-arbeidsstasjon ), kjører Linux-kjernen sted mellom Linux 2.6.19 og 2.6.31. Du kan ikke være i stand til å få en eksplisitt identifikasjon av operativsystemet ned til den versjonen av Linux.

Practice Hosts

I eksemplene ovenfor, valgte jeg en lokal router og en av mine arbeidsstasjoner delvis fordi jeg har tillatelse til å skanne dem. Du kan bruke Nmap å skanne nesten enhver vert. Men det er en dårlig idé å kjøre mange skanninger mot vertene du ikke har kontroll over, eller har ikke tillatelse til å skanne. De nmap folk har en test vert på scanme.nmap.org som kan brukes til testing, så lenge du ikke kjører noen tester av exploits eller Denial of Service (DoS) angrep.

Noen admins don 't setter pris på uventede skanner, så bruk beste skjønn og begrense skanninger til vertene som er på ditt eget nettverk, eller at du har tillatelse til å skanne. Det kan også være mot din ISP vilkår for å bruke noen av nmap er mer aggressive skannefunksjoner, så vær forsiktig der ute!

flere verter

Du kan skanne mer enn en vert på en gang bruker nmap. Hvis du bruker IP-adresser, kan du angi et område som 10.0.0.1-6 eller et område som 10.0.0.0/24. Den 10.0.0.1-6 vil skanne verter 10.0.0.1, 10.0.0.2, 10.0.0.3 gjennom 10.0.0.6. Bruke /24 notasjon vil skanne hele spekteret av vertene fra 10.0.0.0 til 10.0.0.255. For eksempel, for å skanne 10.0.0.1 gjennom 10.0.0.42 å lære hva OS de kanskje kjører jeg ville bruke nmap -O 10.0.0.1-42.

Hvis du har vertsnavn i stedet for IP-adresser, kan du skille dem med et mellomrom på kommandolinjen, slik:

 nmap -O host1.target.com host2.target.com 
Kontrollere åpne porter

Hvis du gir Nmap ingen alternativer i det hele tatt og bare peke det på et gitt vert det vil skanne etter åpne porter og rapportere tilbake de som er åpne, og hva tjenesten kjører på dem. For eksempel, kjører nmap target.hostname.com
kanskje gi noe sånt som dette:

 Interessante porter på target.hostname.com (10.0.0.88): Ikke vist: 1711 stengt portsPORT STATE SERVICE22 /tcp åpen ssh80 /tcp åpen http3306 /tcp åpen mysqlNmap gjort: en IP-adresse (en host opp) skannes i 0,228 sekunder 

Her kan du se at det er tre porter åpne: 22, 80, og 3306 som kjører SSH, HTTP, og MySQL hhv. Nmap gjenkjenner seks stater: åpen, lukket, filtrert, ufiltrert, open | filtrert, og lukket | filtrert. Disse er stort sett selvforklarende. Se nmap docs for mer om disse statene. Hvis Nmap kan fortelle hva tjenesten kjører, vil den rapportere det under SERVICE kolonnen.

Hvis du ønsker litt mer informasjon, skru den opp et hakk ved å legge en eller to -V alternativer til kommandoen . For eksempel vil bruker nmap -vv host.target.com produsere noe sånt som dette:

 Starte Ping Scan kl 11: 44Scanning 10.0.0.28 [1 port] Fullført Ping Scan på 11:44, 0.00s utløpt ( 1 totalt verter) initiere Parallel DNS oppløsning på en vert. kl 11: 44Completed Parallell DNS oppløsning på en vert. på 11:44, 0.00s elapsedInitiating Connect Scan kl 11: 44Scanning host.target.com (10.0.0.28) [1714 havner] Oppdaget åpen port 22 /tcp på 10.0.0.28Discovered åpen port 80 /tcp på 10.0.0.28Discovered åpen port 3306 /tcp på 10.0.0.28Completed Connect Scan på 11:44, 0.08s forløpt (1714 totalt porter) Host host.target.com (10.0.0.28) ser ut til å være opp ... good.Interesting porter på host.target .com (10.0.0.28): Ikke vist: 1 711 stengt portsPORT STATE SERVICE22 /tcp åpen ssh80 /tcp åpen http3306 /tcp åpen mysqlRead datafiler fra: /usr /share /nmapNmap gjort: en IP-adresse (en host opp) skannes i 0,104 sekunder 

Nmap gir mye mer informasjon når du bruker ordrik (-v).

Tjeneste Scans

Hvis du er veldig nysgjerrig på hvilke tjenester en rekke vel løp prøv -SV alternativer. Dette vil gjøre en mer aggressiv scan for å prøve å finne ut hvilke versjoner av tjenestene kjører på en gitt vert, og også kan bidra til å bestemme mer spesifikt hva OS et verten kjører. For eksempel, løp jeg nmap -SV mot en testserver og fikk dette som svar:

Starte Nmap 5,21 (http://nmap.org) på 2010-02-28 00:15 EST
< pre> Nmap skannerapporten for test.host.net (XX.XXX.XXX.XX) Host er opp (0.090s latency) .Ikke vist: 965 lukkede porter, 33 filtrert portsPORT STATE SERVICE VERSION22 /tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1.2 (protokoll 2.0) 80 /tcp åpen http Apache httpd 2.2.8 ((Ubuntu) PHP /5.2.4-2ubuntu5.10 med Suhosin-Patch) Serviceinfo: OS: LinuxService deteksjon utført. Vennligst rapporter eventuelle feil resultater på http://nmap.org/submit/.Nmap gjort: en IP-adresse (en host opp) skannes i 11,43 sekunder

Som du kan se, Nmap kan " fingeravtrykk " pakkene og identifisere versjoner av programvaren som kjører på SSH og HTTP-porter. Her kan du se at systemet blir pinget er en Ubuntu boks med Apache 2.2.8 og OpenSSH 4.7p1. Dette kan være nyttig for en rekke årsaker. En rask Nmap skanningen kan identifisere systemer som kjører unpatched systemer og derfor de som kan være sårbare for kjente exploits.

Hva skjer i nettverket?

Ikke helt sikker på hva som kan kjøres på nettverket ? Prøv å bruke nmap -SP, som vil kjøre en ping scan på den angitte nettverket. For eksempel vil nmap -SP 10.0.0.0/24 skanne 256 vertene fra 10.0.0.0 gjennom 10.0.0.255 for å se om de er tilgjengelige, og rapportere tilbake. Du kan også bruke et område, for eksempel nmap -SP 10.0.0.1-15.

Zenmap

Til slutt, hvis alt dette kommandolinje moro er ikke vesken, har Nmap et GUI som du kan bruke til å bygge og utføre kommandoer. Kalt Zenmap vil GUI lar deg spesifisere mål, kjøre skanninger, vise resultatene og med lagre og sammenligne dem mot hverandre.

Når du åpner Zenmap, kan du gi det et mål å skanne og velge en av profil skanner for å komme i gang. Det inkluderer grunnleggende ping skanning, raske skanninger, noen mer intense skanninger som inkluderer UDP tjenester, og så videre. Den Zenmap GUI er en god måte å bli kjent med Nmap, men det er også en god idé å vite hvordan du bruker Nmap fra kommandolinjen hvis du skal jobbe med den ofte.

I en fremtidig opplæringen vil vi ta en mer inngående titt på Nmap og spesifikke oppgaver du kanskje ønsker å gjøre med Nmap. Jeg håper denne oversikten ga en god følelse hva Nmap kan gjøre, og hjelper deg å komme i gang å jobbe med Nmap. Anmeldelser