Verwendung des Nmap Scripting Engines (NSE)
Der Nmap Scripting Engine (NSE) ist ein leistungsstarkes Tool, das es Ihnen ermöglicht, die Funktionen von Nmap mithilfe von Lua - Skripten zu erweitern. Lua ist eine leichte Programmiersprache, und diese Skripte können eine Vielzahl von Aufgaben ausführen. Beispielsweise können sie bei der erweiterten Diensterkennung helfen, was bedeutet, dass sie genauer bestimmen können, welche Dienste auf einem Netzwerkgerät laufen. Sie können auch für das Sicherheitslücken - Scannen verwendet werden, was für die Erkennung von Sicherheitsrisiken in einem System von entscheidender Bedeutung ist.
Lassen Sie uns den NSE verwenden, um mehr Informationen über unseren HTTP - Server zu sammeln. NSE - Skripte sind in verschiedene Kategorien gruppiert. Diese Kategorien umfassen "default", das häufig verwendete und sichere Skripte enthält; "discovery", das für die Ermittlung von Netzwerkdiensten verwendet wird; "safe", das keine Schäden am Zielsystem verursacht; und "vuln", das für das Sicherheitslücken - Scannen eingesetzt wird.
Zunächst möchten wir sehen, welche HTTP - verwandten Skripte verfügbar sind. Dazu verwenden wir den folgenden Befehl:
ls /usr/share/nmap/scripts/http*
Dieser Befehl listet alle NSE - Skripte im Verzeichnis /usr/share/nmap/scripts/
auf, die mit http
beginnen. Wenn Sie diesen Befehl ausführen, sehen Sie eine Liste von Skripten, die für die Interaktion mit HTTP - Diensten entwickelt wurden. Diese Skripte können verschiedene Funktionen ausführen, von einfacher Informationssammlung, wie das Abrufen des Titels einer Webseite, bis hin zu komplexeren Aufgaben wie dem Scannen auf Sicherheitslücken in einem HTTP - Dienst.
Jetzt verwenden wir das http - title
- Skript, um den Titel unserer Webseite zu extrahieren. Das http - title
- Skript ist darauf ausgelegt, einen HTTP - Dienst zu untersuchen und den Titel der von ihm ausgelieferten Webseite zu finden. Hier ist der Befehl, um dieses Skript auszuführen:
sudo nmap --script=http-title -p 8000 localhost > /home/labex/project/nmap_script_output.txt
In diesem Befehl wird sudo
verwendet, um den Befehl mit administrativen Rechten auszuführen, da einige Nmap - Operationen diese erfordern können. nmap
ist der Hauptbefehl, und --script=http - title
teilt Nmap mit, das http - title
- Skript zu verwenden. -p 8000
gibt an, dass wir Port 8000 anvisieren, auf dem unser HTTP - Server läuft. localhost
ist das Ziel, was bedeutet, dass wir den Scan auf unserer eigenen Maschine ausführen. Das >
- Symbol leitet die Ausgabe des Befehls in die Datei /home/labex/project/nmap_script_output.txt
um.
Lassen Sie uns die Ausgabe des Befehls überprüfen. Dazu können wir den folgenden Befehl verwenden:
cat /home/labex/project/nmap_script_output.txt
Der cat
- Befehl wird verwendet, um den Inhalt einer Datei anzuzeigen. Wenn Sie diesen Befehl ausführen, sollten Sie eine Ausgabe sehen, die Informationen über den Titel unserer Webseite enthält. Die Ausgabe könnte so aussehen:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-XX-XX XX:XX XXX
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000040s latency).
PORT STATE SERVICE
8000/tcp open http-alt
|_http-title: Directory listing for /
Nmap done: 1 IP address (1 host up) scanned in X.XX seconds
Jetzt versuchen wir einen umfassenderen Scan unter Verwendung mehrerer Skripte. Die Kategorie "default" enthält sichere Skripte, die nützliche Informationen über das Ziel liefern. Um alle Skripte in der Kategorie "default" gegen unseren HTTP - Server auf Port 8000 auszuführen, verwenden wir den folgenden Befehl:
sudo nmap --script=default -p 8000 localhost > /home/labex/project/nmap_default_scripts.txt
Dieser Befehl ähnelt dem vorherigen, aber anstatt ein einzelnes Skript anzugeben, sagen wir Nmap, alle Skripte in der Kategorie "default" auszuführen.
Lassen Sie uns die Ergebnisse dieses Scans untersuchen. Dazu können wir erneut den cat
- Befehl verwenden:
cat /home/labex/project/nmap_default_scripts.txt
Die Ausgabe wird detailliertere Informationen über unseren HTTP - Server enthalten, die von verschiedenen NSE - Skripten gesammelt wurden, die standardmäßig ausgeführt werden.
Schließlich erkunden wir die Skript - Hilfsfunktion, um mehr über ein bestimmtes Skript zu erfahren. Wenn Sie mehr über das http - title
- Skript wissen möchten, können Sie den folgenden Befehl verwenden:
nmap --script-help=http-title
Dieser Befehl zeigt die Dokumentation für das http - title
- Skript an. Die Dokumentation enthält den Zweck des Skripts, wie es verwendet wird und das Format seiner Ausgabe. Das Verständnis der Skriptdokumentation ist wichtig, wenn Sie den NSE für bestimmte Aufgaben verwenden, da es Ihnen hilft, zu wissen, was das Skript tut und wie es richtig verwendet wird.