Nmap oder Network Mapper ist ein Toolkit für Funktions- und Penetrationstests in einem Netzwerk, einschließlich Port-Scanning und Schwachstellenerkennung.
Nmap Scripting Engine (NSE) Script ist eine der beliebtesten und leistungsstärksten Funktionen von Nmap. Diese Nmap-Schwachstellen-Scan-Skripte werden von Penetrationstestern und Hackern verwendet, um allgemein bekannte Schwachstellen zu untersuchen.
Common Vulnerabilities and Exposures (CVE) ist eine Datenbank mit öffentlich gemeldeten Datensicherheitsproblemen. Es dient als Referenzmodell zur Erkennung von Schwachstellen und Bedrohungen im Zusammenhang mit der Sicherheit von Informationssystemen.
In diesem Artikel sehen wir uns an, wie man Nmap für den Vulnerability Scan verwendet.
Lass uns anfangen!
Inhaltsverzeichnis
Nmap-Installation
Nmap ist in fast jeder Linux-Distribution vorinstalliert. Falls es fehlt, müssen Sie es manuell installieren. Es kann einfach mit dem folgenden Befehl installiert werden.
apt-get install nmap
Und Sie können es auch installieren, indem Sie die offizielle klonen Git-Repository.
git clone https://github.com/nmap/nmap.git
Navigieren Sie als Nächstes zu diesem Verzeichnis und installieren Sie die Anforderungen mit den folgenden Befehlen.
./configure make make install
Die neueste Version dieser Software sowie binäre Installationsprogramme für Windows, macOS und Linux (RPM) sind verfügbar hier.
Schwachstellenscan mit Nmap
Nmap-vulners, vulscan und vuln sind die gebräuchlichsten und beliebtesten CVE-Erkennungsskripte in der Nmap-Suchmaschine. Diese Skripte ermöglichen es Ihnen, wichtige Informationen über Systemsicherheitslücken zu entdecken.
Nmap-Sicherheitslücken
Einer der bekanntesten Schwachstellenscanner ist Nmap-Sicherheitslücken. Sehen wir uns an, wie Sie dieses Tool einrichten und einen grundlegenden CVE-Scan ausführen. Die Nmap-Skript-Engine durchsucht HTTP-Antworten, um CPEs für das angegebene Skript zu identifizieren.
Installation
Um das Nmap-vulners-Skript zu installieren, navigieren Sie mit dem folgenden Befehl zum Nmap-Skriptverzeichnis.
cd /usr/share/nmap/scripts/
Der nächste Schritt besteht darin, das Git-Repository zu klonen.
git clone https://github.com/vulnersCom/nmap-vulners.git
Nach dem Klonen des Git-Repositorys müssen Sie nichts weiter für die Konfiguration tun. Das Tool wird automatisch installiert.
Und wenn Sie die NSE-Skripte sehen möchten, die in der Nmap-Schwachstellendatenbank vorhanden sind, verwenden Sie den Befehl ls. Es zeigt alle .nse-Erweiterungsskripte auf dem Terminal an.
Verwendungszweck
Es ist einfach, NSE-Skripte zu verwenden. Übergeben Sie einfach das Argument -script an unseren Nmap-Befehl, um anzugeben, welches NSE-Skript verwendet werden soll.
nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>
Vergessen Sie nicht, das Argument „-sV“ zu übergeben, wenn Sie NSE-Skripte verwenden. Nmap-Schwachstellen können nicht auf die Vulners-Exploit-Datenbank zugreifen, wenn sie keine Versionsinformationen von Nmap erhält. Der Parameter -sV ist also immer erforderlich.
Beispielbefehl
Die Syntax ist recht einfach. Rufen Sie einfach das Skript mit der Option „–script“ auf und geben Sie die Schwachstellen-Engine und das Ziel an, um mit dem Scannen zu beginnen.
nmap -sV --script nmap-vulners/ <target>
Wenn Sie bestimmte Ports scannen möchten, fügen Sie einfach die Option „-p“ am Ende des Befehls hinzu und übergeben Sie die Portnummer, die Sie scannen möchten.
nmap -sV --script nmap-vulners/ <target> -p80,223
Nmap – verwundbar
NSE-Skripte werden gemäß einer Reihe von vorgegebenen Kategorien klassifiziert, zu denen jedes Skript gehört. Authentifizierung, Broadcast, Brute Force, Intrusive, Malware, Safe, Version und Vuln sind einige der Kategorien. Sie können alle Kategorietypen von NSE-Skripten und deren Phasen finden hier.
Die Skripte, die unter die Kategorie „Vuln“ fallen, suchen nach bestimmten bekannten Schwachstellen und melden nur, wenn welche im Zielsystem identifiziert wurden.
nmap -sV --script vuln <target>
Nmap-Vulscan
Vulkan ist ein NSE-Skript, das Nmap dabei unterstützt, Schwachstellen auf Zielen basierend auf Dienst- und Versionserkennungen zu erkennen. vulscan ist wie ein Modul für Nmap, das es in einen Schwachstellenscanner verwandelt. Die Nmap-Option -sV ermöglicht die Versionserkennung pro Dienst, die verwendet wird, um potenzielle Exploits für die erkannten Schwachstellen im System zu identifizieren.
Derzeit sind die folgenden vorinstallierten Datenbanken verfügbar:
- Exploitdb.csv
- osvdb.csv
- securitytracker.csv
- openvas.csv
- scipvuldb.csv
- xforce.csv
- securityfocus.csv
- cve.csv
Installation
Um den Vulscan zu installieren, gehen Sie zunächst mit dem folgenden Befehl in das Nmap-Skriptverzeichnis.
cd /usr/share/nmap/scripts/
Der nächste Schritt besteht darin, das Git-Repository zu klonen und alle Anforderungen zu installieren.
git clone https://github.com/scipag/vulscan.git ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
Vulscan nutzt vorkonfigurierte Datenbanken, die lokal auf unserem Rechner gespeichert sind. Um die Datenbank zu aktualisieren, wechseln Sie in das Updater-Verzeichnis. Geben Sie den folgenden Befehl in ein Terminal ein, um zum Updater-Verzeichnis zu navigieren.
cd vulscan/utilities/updater/
Ändern Sie als Nächstes die Berechtigungen der Datei, die im System ausgeführt werden soll.
chmod +x updateFiles.sh
Und schließlich aktualisieren Sie die Exploit-Datenbanken mit dem folgenden Befehl.
./updateFiles.sh
Verwendungszweck
Lassen Sie uns vulscan verwenden, um einen Nmap-Schwachstellenscan durchzuführen. Das vulscan NSE-Skript kann auf die gleiche Weise wie nmap-vulners verwendet werden.
nmap -sV --script vulscan <target>
Standardmäßig durchsucht Vulscan alle Datenbanken gleichzeitig. Es kostet viel Zeit, Informationen über alle Datenbanken abzufragen. Mit dem Parameter vulscandb können Sie jeweils nur eine CVE-Datenbank übergeben.
--script-args vulscandb=database_name
Beispielbefehl
nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233
Individuelles Schwachstellen-Scannen
Einzelne Schwachstellen-Scans können auch mit bestimmten Skripten innerhalb jeder Kategorie durchgeführt werden. Hier ist eine Liste aller 600+ NSE-Skripte und 139 NSE-Bibliotheken.
Beispiele
- http-csrf: Cross-Site Request Forgery (CSRF)-Schwachstellen werden von diesem Skript erkannt.
nmap -sV --script http-csrf <target>
- http-sherlock: Beabsichtigt, die Schwachstelle „shellshock“ in Webanwendungen auszunutzen.
nmap -sV --script http-sherlock <target>
- http-slowloris-attack: Ohne einen DoS-Angriff zu starten, prüft dieses Skript einen Webserver oder ein Zielsystem auf Schwachstellen, um den Slowloris-DoS-Angriff durchzuführen.
nmap -sV --script http-slowloris-check <target>
- http-vmware-path-vuln: VMWare ESX, ESXi und Server wurden alle auf eine Path-Traversal-Schwachstelle getestet
nmap -sV --script http-vmware-path-vuln <target>
- http-passwd: Versucht, /etc/passwd oder boot.ini abzurufen, um zu sehen, ob ein Webserver anfällig für Directory Traversal ist.
nmap -sV --script http-passwd <target>
- http-internal-ip-disclosure: Beim Senden einer HTTP/1.0-Anforderung ohne Host-Header ermittelt diese Prüfung, ob der Webserver seine interne IP-Adresse preisgibt.
nmap -sV --script http-internal-ip-disclosure <target>
- http-vuln-cve2013-0156: Erkennt Ruby on Rails-Server, die anfällig für DOS-Angriffe und Command Injection sind.
nmap -sV --script http-vuln-cve2013-0156 <target-address>
Und schließlich ist hier eine Liste aller NSE-Skripte, die unter die „vuln“ Kategorie.
Kann Ihr System Nmap-Scans erkennen?
Reconnaissance ist die erste Phase beim ethischen Hacken und Penetrationstests. Hacker nutzen die Erkundungsphase, um Schwachstellen und Schlupflöcher in einem System zu lokalisieren und anzugreifen. Daher sollten Abwehrsysteme in der Lage sein, sie zu erkennen.
Sie erhalten Warnungen, wenn Sie SIEM-Tools (Security Information and Event Management), Firewalls und andere Abwehrmaßnahmen verwenden. Und hier ist eine Liste der besten SIEM-Tools zum Schutz Ihres Unternehmens und Ihrer Organisation vor Cyberangriffen. Diese Tools helfen sogar beim Protokollieren von Nmap-Scans. Schwachstellen-Scans lohnen sich, da eine frühzeitige Erkennung zukünftige Schäden von den Systemen abwenden kann.
Fazit
Ich hoffe, Sie fanden diesen Artikel sehr hilfreich, um zu lernen, wie man Nmap für Schwachstellen-Scans verwendet.
Möglicherweise interessieren Sie sich auch für die Liste der Open Source Web Security Scanner zum Auffinden von Schwachstellen.