Introduksjon til Nmap for Sårbarhetsskanning
Nmap, forkortelse for Network Mapper, er et allsidig verktøysett for nettverksanalyse og penetrasjonstesting. Det tilbyr funksjonalitet for portskanning og identifisering av sikkerhetshull. En av de mest fremtredende egenskapene er Nmap Scripting Engine (NSE), som tillater bruk av skript for automatisert sårbarhetsdeteksjon. Sikkerhetsforskere og etiske hackere benytter seg av disse skriptene for å kartlegge kjente sikkerhetsbrister.
Common Vulnerabilities and Exposures (CVE) er en omfattende database over offentliggjorte svakheter i datasikkerhet. Denne databasen fungerer som et standardisert referansepunkt for å oppdage og håndtere trusler mot informasjonssystemer.
Denne artikkelen gir en veiledning i bruk av Nmap for å utføre sårbarhetsskanninger, og viser hvordan du kan oppdage potensielle sikkerhetshull i systemene dine.
La oss begynne!
Installere Nmap
Nmap er ofte inkludert som en forhåndsinstallert applikasjon i de fleste Linux-distribusjoner. Hvis den ikke er tilgjengelig, kan du enkelt installere den manuelt. En vanlig metode er å bruke følgende kommando i terminalen:
apt-get install nmap
Alternativt kan du installere Nmap ved å klone det offisielle git-repositoriet. Dette gjøres med kommandoen:
git clone https://github.com/nmap/nmap.git
Etter kloning, naviger til den nye mappen og utfør de nødvendige konfigurasjonstrinnene:
./configure make make install
De nyeste versjonene av Nmap, sammen med binære installasjonsprogrammer for Windows, macOS og Linux (RPM), er tilgjengelige for nedlasting her.
Gjennomføre Sårbarhetsskanninger med Nmap
Nmap tilbyr flere skript for å identifisere CVE-er. Noen av de mest brukte er «vulners», «vulscan» og «vuln». Disse skriptene gir deg muligheten til å avdekke viktig informasjon om sårbarheter i systemet.
Nmap-vulners
Nmap-vulners er et anerkjent skript for sårbarhetsskanning. For å ta i bruk dette verktøyet, følg installasjonsinstruksjonene nedenfor. Skriptet analyserer HTTP-svar for å identifisere CPE-er, som er nødvendig for å koble til sårbarhetsdatabasen.
Installasjon
Gå til Nmaps skriptkatalog ved å bruke denne kommandoen:
cd /usr/share/nmap/scripts/
Deretter kloner du git-repositoriet:
git clone https://github.com/vulnersCom/nmap-vulners.git
Etter kloning, vil verktøyet installeres automatisk. Du kan bekrefte dette ved å bruke `ls`-kommandoen, som vil vise alle .nse-filer i databasen.
Bruk
Bruk av NSE-skript er enkelt. Spesifiser skriptet med `-script`-argumentet sammen med Nmap-kommandoen:
nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>
Det er viktig å huske på å inkludere `-sV`-argumentet. Dette sørger for at Nmap henter versjonsinformasjon, som er avgjørende for at `nmap-vulners` skal fungere korrekt.
Eksempelkommando
Start en sårbarhetsskanning ved å inkludere skriptet med `–script`-alternativet og spesifisere målet:
nmap -sV --script nmap-vulners/ <target>
For å skanne spesifikke porter, kan du bruke `-p`-alternativet, etterfulgt av de aktuelle portnumrene:
nmap -sV --script nmap-vulners/ <target> -p80,223
Nmap – vuln
NSE-skript er sortert etter kategorier, hvor «vuln» er en av dem. Skript i denne kategorien fokuserer på kjente sikkerhetshull. De rapporterer kun sårbarheter som oppdages i det skannede systemet.
nmap -sV --script vuln <target>
Nmap-vulscan
Vulscan er et NSE-skript som forbedrer Nmaps evne til å oppdage sårbarheter basert på tjenester og versjonsinformasjon. Det fungerer som en modul som forvandler Nmap til en sårbarhetsskanner. Versjonsdeteksjon med `-sV`-alternativet er viktig for å identifisere potensielle angrepsvektorer for de avdekkede svakhetene.
Følgende databaser er forhåndsinstallert med Vulscan:
- exploitdb.csv
- osvdb.csv
- securitytracker.csv
- openvas.csv
- scipvuldb.csv
- xforce.csv
- securityfocus.csv
- cve.csv
Installasjon
Naviger til Nmaps skriptkatalog:
cd /usr/share/nmap/scripts/
Klon git-repositoriet og lag en symbolsk link:
git clone https://github.com/scipag/vulscan.git ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
For å oppdatere de lokale databasene, gå til oppdateringsmappen:
cd vulscan/utilities/updater/
Endre tillatelsene for `updateFiles.sh`:
chmod +x updateFiles.sh
Oppdater databasene med:
./updateFiles.sh
Bruk
Vulscan brukes på samme måte som nmap-vulners:
nmap -sV --script vulscan <target>
Som standard søker Vulscan i alle databaser samtidig. For å skanne med en bestemt database, kan du bruke parameteren `vulscandb`:
--script-args vulscandb=database_name
Eksempelkommando
nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233
Individuell Sårbarhetsskanning
Du kan også gjennomføre individuelle skanninger ved å bruke spesifikke skript innenfor hver kategori. En omfattende liste over alle 600+ NSE-skript og 139 NSE-biblioteker er tilgjengelig online.
Eksempler
- `http-csrf`: Oppdager Cross-Site Request Forgery (CSRF) sårbarheter.
nmap -sV --script http-csrf <target>
- `http-sherlock`: Søker etter «shellshock»-sårbarheter i webapplikasjoner.
nmap -sV --script http-sherlock <target>
- `http-slowloris-attack`: Sjekker for sårbarhet mot Slowloris DoS-angrep, uten å utføre angrepet.
nmap -sV --script http-slowloris-check <target>
- `http-vmware-path-vuln`: Tester VMWare ESX, ESXi og Server for path traversal sårbarheter.
nmap -sV --script http-vmware-path-vuln <target>
- `http-passwd`: Prøver å hente `/etc/passwd` eller `boot.ini` for å sjekke om webserveren er sårbar for kataloggjennomgang.
nmap -sV --script http-passwd <target>
- `http-internal-ip-disclosure`: Sjekker om en webserver lekker sin interne IP-adresse ved bruk av en HTTP/1.0-forespørsel uten et vertshode.
nmap -sV --script http-internal-ip-disclosure <target>
- `http-vuln-cve2013-0156`: Oppdager Ruby on Rails servere som er utsatt for DoS-angrep og kommandoinjeksjon.
nmap -sV --script http-vuln-cve2013-0156 <target-address>
En komplett liste over alle NSE-skript i `vuln`-kategorien er tilgjengelig her.
Oppdagelse av Nmap-skanninger
Rekognosering er første fase i etisk hacking og penetrasjonstesting. Derfor bør systemer ha kapasitet til å oppdage Nmap-skanninger. Bruk av Security Information and Event Management (SIEM)-verktøy, brannmurer og andre sikkerhetstiltak kan generere varsler ved skanninger. Det finnes en rekke SIEM-verktøy som kan hjelpe med dette. Det er viktig å utføre sårbarhetsskanninger regelmessig da tidlig identifisering kan forebygge potensielle angrep og skade.
Konklusjon
Denne artikkelen har forklart hvordan du bruker Nmap for sårbarhetsskanninger. Det finnes også en rekke andre nettsikkerhetsskannere med åpen kildekode som kan brukes for å avdekke sårbarheter.