Hur använder man Nmap för sårbarhetssökning?

By rik

Nätverkssökning med Nmap: En Djupdykning i Säkerhetsanalys

Nmap, ofta benämnt som en nätverksmappare, är ett mångsidigt verktyg för att utföra nätverksanalys och penetreringstestning. Det innefattar funktioner som portskanning och upptäckt av potentiella sårbarheter.

En av de mest framstående egenskaperna hos Nmap är dess skriptmotor, NSE (Nmap Scripting Engine). NSE-skript är ovärderliga för säkerhetsexperter och hackare för att identifiera vanliga och välkända svagheter i system.

Common Vulnerabilities and Exposures (CVE) fungerar som en omfattande databas som katalogiserar offentligt kända säkerhetsbrister. Denna databas är grundläggande för att referera till och identifiera hot och sårbarheter som berör informationssäkerheten.

I den här guiden ska vi utforska hur Nmap kan användas effektivt för att söka efter sårbarheter.

Låt oss börja vår undersökning!

Installation av Nmap

Nmap är förinstallerat på de flesta Linux-distributioner. Om det saknas på ditt system, kan installationen utföras manuellt med hjälp av följande kommando i terminalen:

apt-get install nmap

Alternativt kan du installera verktyget genom att klona den officiella Git-förrådet.

git clone https://github.com/nmap/nmap.git

Efter kloning, navigera till den skapade katalogen och installera de nödvändiga komponenterna med följande kommandon:

./configure
make
make install

De senaste versionerna av Nmap, tillsammans med binära installationsfiler för Windows, macOS och Linux (RPM), är tillgängliga för nedladdning här.

Genomföra Sårbarhetsskanningar med Nmap

Nmap-vulners, vulscan och vuln är de mest använda och populära NSE-skripten för att upptäcka CVE:er. Dessa skript ger oss djupgående insikt i systemsäkerhetsbrister.

Nmap-vulners

Nmap-vulners är en välkänd sårbarhetsskanner. Vi ska nu se hur man konfigurerar detta verktyg och hur man genomför en enkel CVE-skanning. NSE-skriptet undersöker HTTP-svar för att fastställa CPE:er (Common Platform Enumeration) som är relevanta för målet.

Installation

För att installera Nmap-vulners-skriptet, börja med att navigera till Nmaps skriptkatalog med:

cd /usr/share/nmap/scripts/

Därefter klonar vi Git-förrådet:

git clone https://github.com/vulnersCom/nmap-vulners.git

Efter kloning är installationen automatiskt klar. Du behöver inte utföra några ytterligare konfigurationssteg.

För att se en lista över tillgängliga NSE-skript i Nmap-vulners-databasen, använd ls-kommandot. Det kommer att lista alla .nse-skript i terminalen.

Användning

Användningen av NSE-skript är enkel. Ange bara argumentet ”–script” till Nmap-kommandot, och definiera vilket NSE-skript som ska köras.

nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>

När du använder NSE-skript är det nödvändigt att inkludera argumentet ”-sV”. Nmap-vulners behöver versionsinformation från Nmap för att kunna få tillgång till Vulners exploit-databasen. Därför är ”-sV” en konstant parameter.

Exempelkommando

Syntaxen är rättfram. Anropa skriptet med alternativet ”–script”, ange sårbarhetsmotorn och målet för skanningen.

nmap -sV --script nmap-vulners/ <target>

För att rikta skanningen mot specifika portar, lägg till alternativet ”-p” i slutet av kommandot och ange portnumret som ska undersökas.

nmap -sV --script nmap-vulners/ <target> -p80,223

Nmap – vuln

NSE-skript är organiserade i kategorier baserade på deras funktion. Kategorier inkluderar ”auth”, ”broadcast”, ”brute”, ”intrusive”, ”malware”, ”safe”, ”version” och ”vuln”. En fullständig lista över kategorier och deras användningsområden finns här.

Skripten under kategorin ”vuln” är inriktade på att identifiera specifika, kända sårbarheter och returnera en rapport endast om sådana brister upptäcks i målsystemet.

nmap -sV --script vuln <target>

Nmap-vulscan

Vulscan är ett NSE-skript som hjälper Nmap att identifiera sårbarheter baserat på tjänster och versionsinformation. Vulscan förvandlar Nmap till en sårbarhetsskanner. Nmap-alternativet ”-sV” används för att upptäcka tjänstversioner, vilket är avgörande för att identifiera potentiella sårbarheter.

Följande databaser är för närvarande förinstallerade:

  • exploitdb.csv
  • osvdb.csv
  • securitytracker.csv
  • openvas.csv
  • scipvuldb.csv
  • xforce.csv
  • securityfocus.csv
  • cve.csv
Installation

För att installera Vulscan, navigera först till Nmaps skriptkatalog med hjälp av:

cd /usr/share/nmap/scripts/

Därefter klonar vi Git-förrådet och installerar eventuella krav:

git clone https://github.com/scipag/vulscan.git

ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan 

Vulscan använder lokala databaser. För att uppdatera dessa, gå till uppdateringskatalogen med:

cd vulscan/utilities/updater/

Ändra sedan behörigheterna för körbarhetsfilen:

chmod +x updateFiles.sh

Slutligen, uppdatera databaserna med:

./updateFiles.sh
Användning

För att genomföra en Nmap-sårbarhetsskanning med Vulscan, använd följande syntax (på samma sätt som nmap-vulners):

nmap -sV --script vulscan <target>

Som standard kommer Vulscan att söka i alla tillgängliga databaser. Om detta inte önskas, kan du använda ”vulscandb”-parametern för att begränsa sökningen till en specifik databas i taget.

--script-args vulscandb=database_name
Exempelkommando
nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233

Individuell Sårbarhetsskanning

Enskilda sårbarhetsskanningar kan utföras med hjälp av specifika skript i varje kategori. Hitta en komplett lista över alla 600+ NSE-skript och 139 NSE-bibliotek.

Exempel

  • http-csrf: Upptäcker potentiella Cross-Site Request Forgery (CSRF) sårbarheter.
nmap -sV --script http-csrf <target>
  • http-sherlock: Avser att exploatera sårbarheten ”Shellshock” i webbapplikationer.
nmap -sV --script http-sherlock <target>
  • http-slowloris-attack: Kontrollerar en webbserver för sårbarhet för en Slowloris DoS-attack (utan att faktiskt starta attacken).
nmap -sV --script http-slowloris-check <target>
  • http-vmware-path-vuln: Testar VMware ESX, ESXi och Server för en potentiell sökvägssårbarhet.
nmap -sV --script http-vmware-path-vuln <target>
  • http-passwd: Försöker hämta /etc/passwd eller boot.ini för att avgöra om webbservern är sårbar för sökvägstraversering.
nmap -sV --script http-passwd <target>
  • http-internal-ip-disclosure: Kontrollerar om en webbserver läcker sin interna IP-adress när en HTTP/1.0-förfrågan skickas utan en Host-header.
nmap -sV --script http-internal-ip-disclosure <target>
  • http-vuln-cve2013-0156: Upptäcker Ruby on Rails-servrar som är mottagliga för DOS-attacker och kommandoinjektion.
nmap -sV --script http-vuln-cve2013-0156 <target-address>

Slutligen, här är en komplett lista över alla NSE-skript som tillhör ”vuln”-kategorin.

Kan Ditt System Upptäcka Nmap-skanningar?

Spaning är det inledande steget i etisk hacking och penetrationstestning. Hackare använder denna fas för att upptäcka potentiella svagheter i ett system. Därför är det avgörande att defensiva system kan upptäcka sådana aktiviteter.

Om du använder SIEM-verktyg (Security Information and Event Management), brandväggar och andra defensiva metoder, kommer du att få varningar om aktivitet som liknar en Nmap-skanning. Här är en lista över de bästa SIEM-verktygen som kan förbättra din organisations säkerhet och hjälpa till att logga Nmap-skanningar. Att genomföra sårbarhetsskanningar är ett viktigt steg, då det kan motverka framtida systemskador.

Slutsats

Jag hoppas att den här guiden har varit informativ och hjälpt dig att lära dig hur du använder Nmap för sårbarhetssökning.

Du kanske också är intresserad av att lära dig mer om öppen källkod för webbsäkerhetsskannrar för att identifiera sårbarheter.