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!
Innehållsförteckning
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.