Nmap, eller netværksmapper, er et værktøjssæt til funktionalitet og penetrationstest i hele et netværk, herunder portscanning og sårbarhedsdetektion.
Nmap scripting engine (NSE) Script er en af de mest populære og kraftfulde funktioner i Nmap. Disse Nmap sårbarhedsscanningsscripts bruges af penetrationstestere og hackere til at undersøge almindelige kendte sårbarheder.
Common Vulnerabilities and Exposures (CVE) er en database over offentligt offentliggjorte datasikkerhedsproblemer. Den fungerer som en referencemodel til at opdage sårbarheder og trusler relateret til informationssystemers sikkerhed.
I denne artikel vil vi se på, hvordan du bruger Nmap til sårbarhedsscanning.
Lad os komme igang!
Indholdsfortegnelse
Nmap installation
Nmap er forudinstalleret i næsten alle Linux-distributioner. Hvis det mangler, skal du installere det manuelt. Det kan nemt installeres med følgende kommando.
apt-get install nmap
Og du kan også installere det ved at klone den officielle git repository.
git clone https://github.com/nmap/nmap.git
Derefter skal du navigere til den mappe og installere kravene ved hjælp af nedenstående kommandoer.
./configure make make install
Denne softwares seneste version samt binære installationsprogrammer til Windows, macOS og Linux (RPM) er tilgængelige her.
Sårbarhedsscanning med Nmap
Nmap-vulners, vulscan og vuln er de almindelige og mest populære CVE-detektionsscripts i Nmap-søgemaskinen. Disse scripts giver dig mulighed for at opdage vigtige oplysninger om systemsikkerhedsfejl.
Nmap-sårbare
En af de mest kendte sårbarhedsscannere er Nmap-sårbare. Lad os se på, hvordan du opsætter dette værktøj, samt hvordan du kører en grundlæggende CVE-scanning. Nmap-scriptmotoren søger efter HTTP-svar for at identificere CPE’er for det givne script.
Installation
For at installere Nmap-vulners-scriptet skal du navigere til Nmap-scripts-biblioteket ved hjælp af følgende kommando.
cd /usr/share/nmap/scripts/
Det næste trin er at klone git-lageret.
git clone https://github.com/vulnersCom/nmap-vulners.git
Efter at have klonet git-lageret, behøver du ikke at gøre andet for konfigurationen. Værktøjet installeres automatisk.
Og hvis du vil se NSE-scripts, der findes i Nmap-vulners-databasen, skal du bruge ls-kommandoen. Det vil vise alle .nse-udvidelsesscripts på terminalen.
Brug
Det er nemt at bruge NSE-scripts. Send blot argumentet -script til vores Nmap-kommando for at instruere hvilket NSE-script der skal bruges.
nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>
Glem ikke at sende “-sV” argument, mens du bruger NSE scripts. Nmap-vulners vil ikke være i stand til at få adgang til Vulners exploit-databasen, hvis den ikke modtager nogen versionsinformation fra Nmap. Så parameteren -sV er påkrævet hele tiden.
Eksempel kommando
Syntaksen er ret ligetil. Kald bare scriptet med “–script”-indstillingen og angiv sårbare motor og mål for at begynde scanningen.
nmap -sV --script nmap-vulners/ <target>
Hvis du ønsker at scanne nogle specifikke porte, skal du blot tilføje “-p”-indstillingen til slutningen af kommandoen og sende det portnummer, du vil scanne.
nmap -sV --script nmap-vulners/ <target> -p80,223
Nmap – vuln
NSE-scripts er klassificeret efter et sæt forudbestemte kategorier, som hvert script tilhører. Autentificering, broadcast, brute force, påtrængende, malware, sikker, version og vuln er nogle af kategorierne. Du kan finde alle kategorityperne af NSE-scripts og deres faser her.
De scripts, der falder ind under “vuln”-kategorien, leder efter specifikke kendte sårbarheder og rapporterer kun tilbage, hvis nogen er identificeret i målsystemet.
nmap -sV --script vuln <target>
Nmap-vulscan
Vulscan er et NSE-script, der hjælper Nmap med at opdage sårbarheder på mål baseret på tjenester og versionsregistreringer. vulscan er som et modul til Nmap, der omdanner det til en sårbarhedsscanner. Nmap-indstillingen -sV giver mulighed for detektering af versioner pr. tjeneste, som bruges til at identificere potentielle udnyttelser for de opdagede sårbarheder i systemet.
I øjeblikket er følgende forudinstallerede databaser tilgængelige:
- exploitdb.csv
- osvdb.csv
- securitytracker.csv
- openvas.csv
- scipvuldb.csv
- xforce.csv
- sikkerhedsfokus.csv
- cve.csv
Installation
For at installere Vulscan, skal du først gå til Nmap scripts-biblioteket ved at bruge følgende kommando.
cd /usr/share/nmap/scripts/
Det næste trin er at klone git-lageret og installere alle kravene.
git clone https://github.com/scipag/vulscan.git ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
Vulscan gør brug af præ-konfigurerede databaser gemt lokalt på vores maskine. For at opdatere databasen, gå til opdateringsbiblioteket. Indtast følgende kommando i en terminal for at navigere til opdateringsbiblioteket.
cd vulscan/utilities/updater/
Derefter skal du ændre tilladelserne for filen, der skal køres i systemet.
chmod +x updateFiles.sh
Og endelig skal du opdatere udnyttelsesdatabaserne med nedenstående kommando.
./updateFiles.sh
Brug
Lad os bruge vulscan til at lave en Nmap sårbarhedsscanning. Vulscan NSE-scriptet kan bruges på samme måde som nmap-vulners.
nmap -sV --script vulscan <target>
Som standard vil Vulscan søge i alle databaserne samtidigt. Det tager meget tid at forespørge oplysninger ved hjælp af alle databaserne. Ved at bruge vulscandb-parameteren kan du kun sende én CVE-database ad gangen.
--script-args vulscandb=database_name
Eksempel på kommando
nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233
Individuel sårbarhedsscanning
Individuelle sårbarhedsscanninger kan også udføres ved at bruge bestemte scripts inden for hver kategori. Her er en liste over alle 600+ NSE scripts og 139 NSE biblioteker.
Eksempler
- http-csrf: Cross-Site Request Forgery (CSRF) sårbarheder detekteres af dette script.
nmap -sV --script http-csrf <target>
- http-sherlock: Har til hensigt at udnytte “shellshock”-sårbarheden i webapplikationer.
nmap -sV --script http-sherlock <target>
- http-slowloris-attack: Uden at starte et DoS-angreb kontrollerer dette script en webserver eller et målsystem for sårbarhed til at udføre Slowloris DoS-angrebet.
nmap -sV --script http-slowloris-check <target>
- http-vmware-path-vuln: VMWare ESX, ESXi og Server er alle testet for en path-traversal sårbarhed
nmap -sV --script http-vmware-path-vuln <target>
- http-passwd: Forsøg på at hente /etc/passwd eller boot.ini for at se, om en webserver er sårbar over for mappegennemgang.
nmap -sV --script http-passwd <target>
- http-internal-ip-disclosure: Når du sender en HTTP/1.0-anmodning uden en Host-header, afgør denne kontrol, om webserveren lækker sin interne IP-adresse.
nmap -sV --script http-internal-ip-disclosure <target>
- http-vuln-cve2013-0156: Registrerer Ruby on Rails-servere, der er sårbare over for DOS-angreb og kommandoinjektion.
nmap -sV --script http-vuln-cve2013-0156 <target-address>
Og endelig er her en liste over alle NSE-scripts, der kommer under “vuln” kategori.
Er dit system i stand til at registrere Nmap-scanninger?
Rekognoscering er den første fase i etisk hacking og penetrationstest. Hackere bruger rekognosceringsfasen til at lokalisere fejl og smuthuller i et system til at angribe. Derfor bør forsvarssystemer være i stand til at opdage dem.
Du vil modtage advarsler, hvis du bruger SIEM-værktøjer (Security Information and Event Management), firewalls og andre defensive foranstaltninger. Og her er en liste over de bedste SIEM-værktøjer til at sikre din virksomhed og organisation mod cyberangreb. Disse værktøjer hjælper endda med at logge Nmap-scanninger. Sårbarhedsscanninger er umagen værd, da tidlig identifikation kan afværge fremtidig skade på systemerne.
Konklusion
Jeg håber, du fandt denne artikel meget nyttig til at lære, hvordan du bruger Nmap til sårbarhedsscanning.
Du kan også være interesseret i at lære listen over Open Source websikkerhedsscannere for at finde sårbarheder.