Hvad er Nmap, og hvordan man bruger det - En vejledning til det største scanningsværktøj nogensinde

Nmap er det mest berømte scanningsværktøj, der bruges af penetrationstestere. I denne artikel vil vi se på nogle kernefunktioner i Nmap sammen med et par nyttige kommandoer.

Hvad er Nmap?

Nmap er en forkortelse for Network Mapper. Det er et open source Linux kommandolinjeværktøj, der bruges til at scanne IP-adresser og porte i et netværk og til at opdage installerede applikationer.

Nmap tillader netværksadministratorer at finde ud af, hvilke enheder der kører på deres netværk, opdage åbne porte og tjenester og opdage sårbarheder.

Gordon Lyon (pseudonym Fyodor) skrev Nmap som et værktøj til at hjælpe med at kortlægge et helt netværk let og finde dets åbne porte og tjenester.

Nmap er blevet meget populær og har været med i film som The Matrix og den populære serie Mr. Robot.

Hvorfor bruge Nmap?

Der er en række grunde til, at sikkerhedsfagfolk foretrækker Nmap frem for andre scanningsværktøjer.

For det første hjælper Nmap dig med hurtigt at kortlægge et netværk uden sofistikerede kommandoer eller konfigurationer. Det understøtter også enkle kommandoer (for eksempel for at kontrollere, om en vært er oppe) og kompleks scripting gennem Nmap-scriptmotoren.

Andre funktioner i Nmap inkluderer:

  • Evne til hurtigt at genkende alle enheder inklusive servere, routere, switche, mobile enheder osv. På enkelt eller flere netværk.
  • Hjælper med at identificere tjenester, der kører på et system inklusive webservere, DNS-servere og andre almindelige applikationer. Nmap kan også registrere applikationsversioner med rimelig nøjagtighed for at hjælpe med at opdage eksisterende sårbarheder.
  • Nmap kan finde oplysninger om operativsystemet, der kører på enheder. Det kan give detaljerede oplysninger som OS-versioner, hvilket gør det lettere at planlægge yderligere tilgange under penetrationstest.
  • Under sikkerhedsrevision og sårbarhedsscanning kan du bruge Nmap til at angribe systemer ved hjælp af eksisterende scripts fra Nmap Scripting Engine.
  • Nmap har en grafisk brugergrænseflade kaldet Zenmap. Det hjælper dig med at udvikle visuelle kortlægninger af et netværk for bedre brugervenlighed og rapportering.

Kommandoer

Lad os se på nogle Nmap-kommandoer. Hvis du ikke har Nmap installeret, kan du få det herfra.

Grundlæggende scanninger

Scanning af listen over aktive enheder på et netværk er det første trin i netværkskortlægning. Der er to typer scanninger, du kan bruge til det:

  • Ping-scanning - Scanner listen over enheder, der kører på et givet undernet.
> nmap -sp 192.168.1.1/24
  • Scan en enkelt vært - Scanner en enkelt vært til 1000 kendte porte. Disse porte er dem, der bruges af populære tjenester som SQL, SNTP, apache og andre.
> nmap scanme.nmap.org

Stealth-scanning

Stealth-scanning udføres ved at sende en SYN-pakke og analysere svaret. Hvis SYN / ACK modtages, betyder det, at porten er åben, og du kan åbne en TCP-forbindelse.

Imidlertid fuldender en stealth-scanning aldrig 3-vejs-håndtrykket, hvilket gør det svært for målet at bestemme scanningssystemet.

> nmap -sS scanme.nmap.org

Du kan bruge kommandoen '-sS' til at udføre en stealth-scanning. Husk, skjult scanning er langsommere og ikke så aggressivt som de andre typer scanning, så du bliver muligvis nødt til at vente et stykke tid på at få et svar.

Versionsscanning

At finde applikationsversioner er en vigtig del af penetrationstest.

Det gør dit liv lettere, da du kan finde en eksisterende sårbarhed fra Common Vulnerabilities and Exploits (CVE) -databasen til en bestemt version af tjenesten. Du kan derefter bruge den til at angribe en maskine ved hjælp af et udnyttelsesværktøj som Metasploit.

> nmap -sV scanme.nmap.org

Brug kommandoen '-sV' til at foretage en versionsscanning. Nmap vil give en liste over tjenester med sine versioner. Husk, at versionsscanninger ikke altid er 100% nøjagtige, men det tager dig et skridt tættere på at komme ind i et system med succes.

OS-scanning

Ud over tjenesterne og deres versioner kan Nmap give oplysninger om det underliggende operativsystem ved hjælp af TCP / IP-fingeraftryk. Nmap vil også forsøge at finde systemets oppetid under en OS-scanning.

> nmap -sV scanme.nmap.org

Du kan bruge de ekstra flag som osscan-limit for at begrænse søgningen til et par forventede mål. Nmap viser tillidsprocenten for hvert OS-gæt.

Igen er OS-detektion ikke altid nøjagtig, men det går langt i retning af at hjælpe en pen-tester med at komme tættere på deres mål.

Aggressiv scanning

Nmap har en aggressiv tilstand, der muliggør OS-detektion, versionsdetektering, script-scanning og traceroute. Du kan bruge argumentet -A til at udføre en aggressiv scanning.

> nmap -A scanme.nmap.org

Aggressive scanninger giver langt bedre information end almindelige scanninger. Imidlertid sender en aggressiv scanning også flere sonder, og det er mere sandsynligt, at den opdages under sikkerhedsrevisioner.

Scanning af flere værter

Nmap har evnen til at scanne flere værter samtidigt. Denne funktion er virkelig praktisk, når du administrerer en enorm netværksinfrastruktur.

Du kan scanne flere værter gennem adskillige tilgange:

  • Skriv alle IP-adresser i en enkelt række for at scanne alle værter på samme tid.
> nmap 192.164.1.1 192.164.0.2 192.164.0.2
  • Brug stjernen (*) til at scanne alle undernet på én gang.
> nmap 192.164.1.*
  • Tilføj kommaer for at adskille adressens slutninger i stedet for at skrive hele domænerne.
> nmap 192.164.0.1,2,3,4
  • Brug en bindestreg til at angive en række IP-adresser
> nmap 192.164.0.0–255

Port scanning

Port scanning er et af de mest grundlæggende træk ved Nmap. Du kan scanne for porte på flere måder.

  • Brug af -p param til at scanne efter en enkelt port
> nmap -p 973 192.164.0.1
  • Hvis du angiver porttypen, kan du scanne efter oplysninger om en bestemt type forbindelse, f.eks. For en TCP-forbindelse.
> nmap -p T:7777, 973 192.164.0.1
  • En række porte kan scannes ved at adskille dem med en bindestreg.
> nmap -p 76–973 192.164.0.1
  • Du kan også bruge flag -top-porte til at angive de øverste n-porte, der skal scannes.
> nmap --top-ports 10 scanme.nmap.org

Scanning fra en fil

Hvis du vil scanne en stor liste over IP-adresser, kan du gøre det ved at importere en fil med listen over IP-adresser.

> nmap -iL /input_ips.txt

Ovenstående kommando producerer scanningsresultaterne for alle de givne domæner i filen "input_ips.txt". Bortset fra blot at scanne IP-adresserne kan du også bruge yderligere muligheder og flag.

Nøjagtighed og eksport af scanningsresultater

Penetrationstest kan vare dage eller endda uger. Eksport af Nmap-resultater kan være nyttigt for at undgå overflødigt arbejde og for at hjælpe med oprettelse af endelige rapporter. Lad os se på nogle måder at eksportere Nmap-scanningsresultater på.

Omfattende output

> nmap -v scanme.nmap.org

Den detaljerede output giver yderligere oplysninger om scanningen, der udføres. Det er nyttigt at overvåge trin for trin handlinger, som Nmap udfører på et netværk, især hvis du er en outsider, der scanner en klients netværk.

Normal output

Nmap-scanninger kan også eksporteres til en tekstfil. Det vil være lidt anderledes end det originale kommandolinjeproduktion, men det vil fange alle de vigtige scanningsresultater.

> nmap -oN output.txt scanme.nmap.org

XML-output

Nmap-scanninger kan også eksporteres til XML. Det er også det foretrukne filformat for de fleste pen-testværktøjer, hvilket gør det let at analysere ved import af scanningsresultater.

> nmap -oX output.xml scanme.nmap.org

Flere formater

Du kan også eksportere scanningsresultaterne i alle tilgængelige formater på én gang ved hjælp af -oA-kommandoen.

> nmap -oA output scanme.nmap.org

Ovenstående kommando eksporterer scanningsresultatet i tre filer - output.xml, output. Nmap og output.gnmap.

Nmap Hjælp

Nmap har en indbygget hjælpekommando, der viser alle de flag og muligheder, du kan bruge. Det er ofte praktisk i betragtning af antallet af kommandolinjeargumenter, som Nmap kommer med.

> nmap -h

Nmap Scripting Engine

Nmap Scripting Engine (NSE) er et utroligt kraftfuldt værktøj, som du kan bruge til at skrive scripts og automatisere adskillige netværksfunktioner.

Du kan finde masser af scripts distribueret på tværs af Nmap eller skrive dit eget script baseret på dine krav. Du kan endda ændre eksisterende scripts ved hjælp af Lua programmeringssprog.

NSE har også angrebsscript, der bruges til at angribe netværket og forskellige netværksprotokoller.

At gå igennem scriptmotoren dybtgående ville være uden for anvendelsesområdet for denne artikel, så her er der flere oplysninger om Nmap-scriptmotoren.

Zenmap

Zenmap er en grafisk brugergrænseflade til Nmap. Det er en gratis og open source-software, der hjælper dig med at komme i gang med Nmap.

Ud over at levere visuelle netværkskortlægninger giver Zenmap dig også mulighed for at gemme og søge i dine scanninger til fremtidig brug.

Zenmap er fantastisk til begyndere, der ønsker at teste Nmaps muligheder uden at gå gennem en kommandolinjegrænseflade.

Konklusion

Nmap er helt klart den “schweiziske hærskniv” inden for netværk takket være sin oversigt over alsidige kommandoer.

Det giver dig mulighed for hurtigt at scanne og opdage vigtige oplysninger om dit netværk, værter, porte, firewalls og operativsystemer.

Nmap har adskillige indstillinger, flag og præferencer, der hjælper systemadministratorer med at analysere et netværk i detaljer.

Hvis du vil lære Nmap grundigt, er her en god ressource for dig.

Elskede denne artikel? Deltag i mit nyhedsbrevog få et resumé af mine artikler og videoer hver mandag.