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

Nmap, eller nätverksmappare, är en verktygslåda för funktionalitet och penetrationstestning i hela ett nätverk, inklusive portskanning och sårbarhetsdetektering.

Nmap scripting engine (NSE) Script är en av de mest populära och kraftfulla funktionerna i Nmap. Dessa Nmap sårbarhetsskanningsskript används av penetrationstestare och hackare för att undersöka vanliga kända sårbarheter.

Common Vulnerabilities and Exposures (CVE) är en databas över offentligt avslöjade datasäkerhetsfrågor. Den fungerar som en referensmodell för att upptäcka sårbarheter och hot relaterade till informationssystemens säkerhet.

I den här artikeln kommer vi att titta på hur man använder Nmap för sårbarhetssökning.

Låt oss börja!

Nmap installation

Nmap är förinstallerat i nästan alla Linux-distributioner. Om den saknas måste du installera den manuellt. Det kan enkelt installeras med följande kommando.

apt-get install nmap

Och du kan också installera det genom att klona tjänstemannen git repository.

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

Navigera sedan till den katalogen och installera kraven med hjälp av nedanstående kommandon.

./configure
make
make install

Den här programvarans senaste version, såväl som binära installationsprogram för Windows, macOS och Linux (RPM), är tillgängliga här.

Sårbarhetsskanning med Nmap

Nmap-vulners, vulscan och vuln är de vanligaste och mest populära CVE-detekteringsskripten i Nmap-sökmotorn. Dessa skript låter dig upptäcka viktig information om systemsäkerhetsbrister.

Nmap-vulners

En av de mest kända sårbarhetsskannrarna är Nmap-vulners. Låt oss titta på hur man ställer in det här verktyget samt hur man kör en grundläggande CVE-skanning. Nmap-skriptmotorn söker efter HTTP-svar för att identifiera CPE:er för det givna skriptet.

Installation

För att installera Nmap-vulners-skriptet, navigera till Nmap-skriptkatalogen med följande kommando.

cd /usr/share/nmap/scripts/

Nästa steg är att klona git-förvaret.

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

Efter att ha klonat git-förvaret behöver du inte göra något annat för konfigurationen. Verktyget kommer att installeras automatiskt.

Och om du vill se NSE-skripten som finns i Nmap-vulners-databasen, använd ls-kommandot. Den kommer att visa alla .nse-tilläggsskript på terminalen.

Användande

Det är lätt att använda NSE-skript. Skicka helt enkelt argumentet -script till vårt Nmap-kommando för att instruera vilket NSE-skript som ska användas.

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

Glöm inte att skicka ”-sV”-argumentet när du använder NSE-skript. Nmap-vulners kommer inte att kunna komma åt Vulners exploit-databasen om den inte får någon versionsinformation från Nmap. Så parametern -sV krävs hela tiden.

Exempel kommando

Syntaxen är ganska okomplicerad. Ring bara skriptet med alternativet ”–script” och ange sårbarhetsmotorn och målet för att börja skanna.

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

Om du vill skanna några specifika portar, lägg bara till alternativet ”-p” i slutet av kommandot och skicka portnumret du vill skanna.

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

Nmap – vuln

NSE-skript klassificeras enligt en uppsättning förutbestämda kategorier som varje skript tillhör. Autentisering, broadcast, brute force, intrusive, malware, safe, version och vuln är några av kategorierna. Du kan hitta alla kategorityper av NSE-skript och deras faser här.

Skripten som faller under kategorin ”vuln” letar efter specifika kända sårbarheter och rapporterar bara tillbaka om några identifieras i målsystemet.

nmap -sV --script vuln <target>

Nmap-vulscan

Vulscan är ett NSE-skript som hjälper Nmap att upptäcka sårbarheter på mål baserat på tjänster och versionsdetektering. vulscan är som en modul för Nmap som omvandlar den till en sårbarhetsskanner. Nmap-alternativet -sV tillåter detektering av versioner per tjänst, som används för att identifiera potentiella utnyttjande av de upptäckta sårbarheterna i systemet.

För närvarande finns följande förinstallerade databaser tillgängliga:

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

Installation

För att installera Vulscan, gå först till Nmap-skriptkatalogen genom att använda följande kommando.

cd /usr/share/nmap/scripts/

Nästa steg är att klona git-förvaret och installera alla krav.

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

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

Vulscan använder sig av förkonfigurerade databaser sparade lokalt på vår maskin. För att uppdatera databasen, gå till uppdateringskatalogen. Skriv följande kommando i en terminal för att navigera till uppdateringskatalogen.

cd vulscan/utilities/updater/

Ändra sedan behörigheterna för filen som ska köras i systemet.

chmod +x updateFiles.sh

Och slutligen, uppdatera exploateringsdatabaserna med kommandot nedan.

 ./updateFiles.sh

Användande

Låt oss använda vulscan för att göra en Nmap sårbarhetsskanning. Vulscan NSE-skriptet kan användas på samma sätt som nmap-vulners.

nmap -sV --script vulscan <target>

Som standard kommer Vulscan att söka i alla databaser samtidigt. Det tar mycket tid att söka information med hjälp av alla databaser. Med hjälp av vulscandb-parametern kan du bara skicka en CVE-databas åt gången.

--script-args vulscandb=database_name

Exempel Kommando

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

Individuell sårbarhetsskanning

Individuella sårbarhetssökningar kan också utföras med hjälp av särskilda skript inom varje kategori. Här är en lista över alla 600+ NSE-skript och 139 NSE-bibliotek.

Exempel

  • http-csrf: Cross-Site Request Forgery (CSRF) sårbarheter upptäcks av detta skript.
nmap -sV --script http-csrf <target>
  • http-sherlock: Avser att utnyttja sårbarheten ”shellshock” i webbapplikationer.
nmap -sV --script http-sherlock <target>
  • http-slowloris-attack: Utan att starta en DoS-attack kontrollerar detta skript en webbserver eller ett målsystem för sårbarhet för att utföra Slowloris DoS-attacken.
nmap -sV --script http-slowloris-check <target>
  • http-vmware-path-vuln: VMWare ESX, ESXi och Server är alla testade för en sökvägssårbarhet
nmap -sV --script http-vmware-path-vuln <target>
  • http-passwd: Försök att hämta /etc/passwd eller boot.ini för att se om en webbserver är sårbar för katalogövergång.
nmap -sV --script http-passwd <target>
  • http-internal-ip-disclosure: När du skickar en HTTP/1.0-förfrågan utan en Host-header avgör denna kontroll om webbservern läcker sin interna IP-adress.
nmap -sV --script http-internal-ip-disclosure <target>
  • http-vuln-cve2013-0156: Upptäcker Ruby on Rails-servrar som är sårbara för DOS-attacker och kommandoinjektion.
nmap -sV --script http-vuln-cve2013-0156 <target-address>

Och slutligen, här är en lista över alla NSE-skript som kommer under ”vulnkategori.

Kan ditt system upptäcka Nmap-skanningar?

Spaning är den första fasen i etisk hackning och penetrationstestning. Hackare använder spaningsfasen för att lokalisera brister och kryphål i ett system att attackera. Därför bör försvarssystem kunna upptäcka dem.

Du kommer att få varningar om du använder SIEM-verktyg (Security Information and Event Management), brandväggar och andra defensiva åtgärder. Och här är en lista över de bästa SIEM-verktygen för att säkra ditt företag och din organisation från cyberattacker. Dessa verktyg hjälper till och med att logga Nmap-skanningar. Sårbarhetssökningar är värt besväret eftersom tidig identifiering kan förhindra framtida skador på systemen.

Slutsats

Jag hoppas att du tyckte att den här artikeln var mycket användbar för att lära dig hur du använder Nmap för sårbarhetssökning.

Du kanske också är intresserad av att lära dig listan över webbsäkerhetsskannrar med öppen källkod för att hitta sårbarheter.