Tråd bedømmelse:
  • 1 Stemmer - 5 Gennemsnit
  • 1
  • 2
  • 3
  • 4
  • 5
Nmap 101 - Network Mapping
03-11-2013, 02:11 (Denne besked var sidst ændret: 25-06-2015, 22:00 af iTick.)
#1
Nmap 101 - Network Mapping
Intro:
Nmap (Network Mapper) er et værktøj til at scanne maskiner med, og det er et af de mest brugte og mest advancerede værktøjer til formålet.
Det er gratis og findes til de fleste platforme. Denne lille gennemgang dækker kun en lille del af, hvad man man udføre med nmap.
Lige meget hvilket værktøj man bruger, vil der altid være mulig for at få false positives/negatives, så man kan evt. supplere sit scan,
med andre værktøjer.

Før du starter:
Et simpelt scan tager formegentlig kun et øjeblik. Men det er normalt at bruge tid på, at bygge det helt rigtige scan op,
så man får de data man ønsker. En anden god idé er, at overveje om man ønsker at være diskret, eller det ikke er nødvendigt.
Man kan i nmap stille på en del timers, men generelt set, vil man bare angive hvor aggresivt, et scan skal være.
Eller måske mere interessant, hvor anonymt det skal være. Man vil højest sansynligt tænde nogle alarmklokker, hvis man scanner meget aggresivt.
Du kan også vælge at være meget diskret. Dette påvirker dog scan tiden meget. Et diskret scan kan nemt tage et par timer at udføre.

Første trin:
Det første man normalt vil gøre, er at finde ud af, hvilke maskiner der er på netværket.
Et netværk kan scannes på mange måder, og nmap accepterer mange forskellige måder at gøre det samme på.

Nedenstående scanner hele netværket 10.0.2.0/23 med brug af CIDR notation.

Kode:
nmap 10.0.2.0/23

Der er ikke angivet noget port nummer. Dette ville normalt lade nmap scanne efter de meste gængse porte.
Nmap har en liste af gængse portnumre, den scanner, når man ikke angiver et portnummer.

Ovenstående kan også angives med domaine og CIDR notation. Dette er selvfølgelig afhængig af DNS.

Kode:
nmap scanme.nmap.org/23

En anden mulighed er, at scanne et interval af ip adresser. Nedenstående eksempel, kan godt være lidt forunderlig at læse.

Kode:
nmap 10.0.2-3.1-254

Dette ville scanne 10.0.2.0/23 subnettet, som er 10.0.2.0-10.0.3.255
Hvis man ønsker at scanne et klasse C netværk, kan man gøre det med:

Kode:
nmap 192.168.1.0

Hvis man kun var interesseret i f.eks. web servere i dette range, kan man angive portnummeret med "-p", så vi kan scanne mod port 80.

Kode:
nmap -p80 10.0.2.0/23

Du bestemmer selv, om du ønsker mellemrum efter "-p". Argumenterne "-p80" og "-p 80" gør det samme.

Man kan også lave et tilsvarende scan mod http med følgende kommando:

Kode:
nmap -phttp 10.0.2.0/23

Dette vil dog inkludere flere af de porte som er kendt for at være web services. Se evt. IANAs port liste i link sektionen.

Det er også muligt at scanne flere ranges. F.eks 192.168.1.0 klasse C subnettet og 172.16.0.0 klasse C subnettet.

Kode:
nmap 192.168.1.0 172.16.0.0

Enumerating:
Nu hvor alle hosts er scannet, og man ønsker at enumerere en bestemt udvalgt host, kan vi lavet et portscan mod denne:

Kode:
nmap -Pn -p80 nmap.scanme.org

Dette eksempel scanner nmap.scanme.org, for at se om port 80 er åben. Dette er angivet med -p80
Argumentet "-Pn" fortæller bare, at vi ikke skal pinge hosten, før vi scanner den. At vi går ud fra, den er oppe.

Man kan også scanne efter f.eks. ssh og ftp ved hjælp af et kommasepareret argument til "-p":

Kode:
nmap -Pn -pssh,ftp nmap.scanme.org

Det er også muligt at angive intervaller.
Her scannes alle porte mellem 1000 og 2000:

Kode:
nmap -Pn -p1000-2000 nmap.scanme.org

Og selvfølgelig kan man lave en kombination af disse, som hvis vi f.eks. ønser at scanne efter ssh på port 22,
web service på port 80 og alle porte mellem 1000 og 2000 kan man gøre følgende:

Kode:
nmap -Pn -pssh,80,1000-2000 nmap.scanme.org

Hvis man ønsker at scanne alle porte, kan man angive dette med "-p-".
Det vil selvfølgelig tage lang tid, så man skal vurdere om man virkelig har brug for de informationer.

Kode:
nmap -Pn -p- nmap.scanme.org

Man kan scanne både TCP og UDP porte samtidig. Man kan kombinere dette med "T:" for TCP og "U:" for UDP.

Kode:
nmap -Pn -p U:53,69,T:80 nmap.scanme.org

Dette scan, vil undersøge UDP port 53 og 69, og TCP port 80.

OS Detection:
For at finde exploits til den host man scanner, er det en fordel at vide hvilket operativ system, man har med at gøre.
Selv om dette ofte er ret upræcist, giver det dog stadig et ret kvalificeret gæt.

Hvis man giver Nmap "-O" argumentet, vil nmap forsøge at gætte, hvilket operativ system, der kører på den host man scanner.

Kode:
nmap -Pn -O nmap.scanme.org

Man skal ikke regne med, nmap kan give et præcist svar. Nogle gange er service pack og patch level usikkert.
Argumentet "-O" kører ikke alle scans, dette kan afhjælpes med "--max-os-tries 50". Dette er en værdi mellem 1 og 50.
Default er som regel nok. Dette kan også kombineres med ting som banner grabbing, eller scans med andre værktøjer.

Kode:
nmap -Pn -O --max-os-tries 50 nmap.scanme.org

Service/version scan:
Når man har fundet ud af, hvilke porte en host har åben, vil det næste trin formegentlig være, at bekræfte hvilke services der rent faktisk kører på hosten.
Det er ikke garanteret at fordi port 80 er åben, at det er en web server der lytter på den port.
Det er heller ikke garanteret, at en web server rent faktisk kører på port 80. Den kan lige så vel, køre på en anden port.
En anden bonus information ved service scans, er at man måske at finde ud af, hvilken type og hvilken version der lytter på den aktuelle port.
Hvis en host har port 80 åben, kan man måske bekræfte at det er en IIS server eller en Apache2 server.
Nogle gange er det også muligt at finde versionsnummeret på webserveren.

Vi kører et scan med "-sV" argumentet, som fortæller nmap, der skal scannes efter service og versionsnummer.

Kode:
nmap -Pn -sV nmap.scanme.org

Giver dette ikke nok information, er det muligt at udvide dette scan med "--version-all" som sætter itensiteten op og forsøger alle tilgængelige probes.

Kode:
nmap -Pn -sV --version-all nmap.scanme.org

Script scanning:
Når man har fundet ud af, hvilke services hosten kører, og på hvilke porte, kan man køre et script scan. Der er nogle meget specifikke scans at vælge i mellem.
I dette eksempel, scanner vi dog generelt efter kendte vulnerabilities.

Kode:
nmap -Pn --script vuln nmap.scanme.org

Dette scanner hosten og ud fra en del probes, vil nmap vurdere om der er nogle kendte vulnerabilites.
Der er mange andre scripts, man kan prøve af. En del, som er mere specifikke end ovenstående.
Selvfølgelig kan man også ty til andre værktøjer for at undersøge dette.

Mere:
Nmap understøtter et hav af funktioner og argumenter og det er nemmere at læse nmaps dokumentation, end at jeg skriver dem alle her. Så vil formålet med dette, heller ikke være til stede.
En ting, jeg gerne vil nævne, er argumentet "-T" som angiver hvor aggressivt man ønsker at scanne.
Denne angives som "-T0" til "-T5" og nul til fem er som følger: paranoid|sneaky|polite|normal|aggressive|insane og T3 er default.
Hvis man ikke behøver at være diskret, kan man sætte denne værdi op fra -T3 til f.eks. -T4, for at udføre det aktuelle scan hurtigere.
Jo lavere man sætter værdien, jo mere diskret er man, og jo længere tid tager det.
Jeg vil lige pointere, man altså ikke er usynlig, når man bruger "-T0".
Nedenstående er et version scan, som kører i "polite" mode.

Kode:
nmap -sV -T2 nmap.scanme.org

Er det vigtigere at være diskret, er det måske en god idé at prøve et IDLE scan eller et FTP bounce scan.

Man kan også udføre et avanceret/aggressivt scan med argumentet "-A".
Dette er et alias for følgende: OS detection "-O", version scanning "-sV", script scanning "-sC" og traceroute "--traceroute".
Hvis man vælger at køre et scan som tager lang tid, og det skal være detaljeret, kan man lige så godt få det hele med, og så lade det tage den tid det tager.

Kode:
nmap -A nmap.scanme.org

Jeg har langt fra beskrevet alt hvad nmap kan, og jeg har heller ikke vist noget output fra disse scans. Jeg vil nemlig rigtig gerne opfordre alle til, selv at prøve dem af. Rod med det og få fornemmelsen for det. Hvad man kan se, og hvad man ikke kan se, i de forskellige scan resultater.
Brug den tid det tager, på at lav det scan, der skal bruges til formålet. Undersøg hvad de forskellige parametre gør, og hvordan de påvirker resultatet.
Jeg vil også anbefale at læse den dokumentation der er på nmap.org. Og brug google.

Links:
http://nmap.org/
http://www.iana.org/assignments/service-...umbers.txt
---
Writing a shellcode decoder stub in assembly is like talking gibberish in such a way that it is still perfectly intelligible. - iTick
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
03-11-2013, 13:47 (Denne besked var sidst ændret: 03-11-2013, 13:48 af Spagnum.)
#2
RE: Nmap 101 - Network Mapping
Kanon arbejde. Nmap er et værktøj som alle, interesseret i netværk og it sikkerhed bør kendeSmile
Don't learn to hack, hack to learn
Find alle beskeder fra denne bruger
Citer denne besked i et svar
03-11-2013, 14:28
#3
RE: Nmap 101 - Network Mapping
(03-11-2013, 13:47)Spagnum Skrev: Kanon arbejde. Nmap er et værktøj som alle, interesseret i netværk og it sikkerhed bør kendeSmile

Det har du faktisk ret i. Generelt set, er det også et godt værktøj for netværksfolk. :)
---
Writing a shellcode decoder stub in assembly is like talking gibberish in such a way that it is still perfectly intelligible. - iTick
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
03-11-2013, 14:47
#4
RE: Nmap 101 - Network Mapping
(03-11-2013, 14:28)iTick Skrev: Det har du faktisk ret i. Generelt set, er det også et godt værktøj for netværksfolk. :)

Super Super arbejde Itick! som spagnum siger så burde alle der bare vil lidt mere en ddos og havij kende til dette program! :D Og synes en ting som du gør meget ud af som er super er at sige at det her kun er en måde! fr nmap har så vildt mange muligheder! Så alt i alt super tut som vil give + rep hvis jeg ikke allerede havde givet dig :D
There is 3 rules for a life.
1. fuck.
2. Dont give a fuck.
3. Dont be fucked over
Find alle beskeder fra denne bruger
Citer denne besked i et svar
04-11-2013, 00:05
#5
RE: Nmap 101 - Network Mapping
Jeg kunne ikke være mere enig. :)
---
Writing a shellcode decoder stub in assembly is like talking gibberish in such a way that it is still perfectly intelligible. - iTick
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
« Ældre | Nyere »




User(s) browsing this thread: 1 Gæst(er)