Die NMAP Scripting Engine (NSE) enthält eine Reihe von Skripten, die nach Kategorie klassifiziert sind, und Benutzer können ihre eigenen Skripte mit benutzerdefinierten Funktionen schreiben.
In diesem Tutorial werden die Grundlagen der NSE erläutert, einschließlich praktischer Beispiele.
Skripte und Typen von NSE (NMAP Scripting Engine)
Die in der NSE enthaltenen Skripte werden nach verschiedenen Kriterien klassifiziert, die auf dem Moment der Ausführung, dem Skriptzweck und den Methoden basieren.
Die erste Klassifizierung, die hauptsächlich auf dem Moment der Ausführung basiert, enthält 4 Skripttypen:
Die zweite Klassifizierung basiert auf den Zwecken und der Sicherheit des Skripts. Kategorien bestellen Skripte nach diesen Kriterien. Die Kategorien sind:
Auth: Skripte unter dieser Kategorie sind nützlich, um mit der Authentifizierung umzugehen. Unter dieser Kategorie finden Sie Skripte, um Authentifizierungsprozesse wie HTTP-Methode-Manperen zu umgehen, um die kennwortgeschützten Ressourcen durch Ausführen von HTTP-Verb-Manipulationen zu umgehen. Wenn eine Reihe von Pfaden, die Sie überprüfen sollten.
Die Kategorie Auth enthält keine Brute -Force -Skripte, die in der Kategorie Brute gespeichert sind. Unter Auth können Sie jedoch ähnliche Funktionen wie das Skript http-Default-Accounts finden.
Übertragen: Diese Skripte ermöglichen es, Hosts zu entdecken, indem Sie das lokale Netzwerk übertragen.
Brutal: Diese Kategorie enthält Skripte, um Brute-Force-Angriffe wie das HTTP-Wort-Wordpress-Brute-Skript auszuführen, um WordPress-Sites oder RSYNC-Brute anzugreifen, um Angriffe gegen das RSYNC-Protokoll durchzuführen.
Standard: Diese Kategorie umfasst Skripte -Meeting -Anforderungen, die auf Geschwindigkeit, Nützlichkeit, Ausführlichkeit, Zuverlässigkeit, Intrusivität und Datenschutz basieren. Skripte unter dieser Kategorie müssen schnell fertig werden und wertvolle Informationen über das Ziel melden müssen. Die Ausgabe muss lesbar sein und auf genaue Informationen begrenzt sein. Aufdringliche Skripte, die wahrscheinlich das Zielsystem oder Dienst abstürzen, sind für diese Kategorie weniger geeignet.
Entdeckung: Skripte unter dieser Kategorie versuchen, mehr über das Ziel zu erfahren, indem Sie öffentliche Quellen, SNMP-fähige Geräte, Verzeichnisse und dergleichen abfragen. Das Skript http-affiliate-id greift Affiliate-Netzwerk-IDs wie Google AdSense oder Analytics, Amazon usw. ab., Aus einer Webseite und kann verwendet werden, um Seiten mit demselben Eigentümer zu identifizieren.
DOS: Diese Skripte sind nützlich, um Ziele für Schwachstellen vor DOS -Angriffen zu testen. Diese Skripte neigen dazu, ein verletzliches System oder Dienst zu stürzen.
Ausbeuten: Skripte in dieser Kategorie werden verwendet, um Schwachstellen für Ziele zu nutzen.
Extern: Diese Kategorie enthält die Skripte, die während des Scanprozesses externe Ressourcen beinhalten, z. B. Datenbankinformationsanforderungen für das Ziel. Skripte, die Informationen zum Scan-Prozess mit Datenbanken von Drittanbietern teilen, werden in dieser Kategorie platziert. Das IP-Geolocation-Geoplugin versucht beispielsweise, den physischen Zielort mithilfe http: // www zu bestimmen.Geoplugin.com/.
Fuzzeller: Diese Kategorie enthält Skripte, um randomisierte Felder massiv zu senden, um Schwachstellen zu entdecken.
Aufdringlich: Skripte in dieser Kategorie werden das Ziel wahrscheinlich mit einer erheblichen Menge an Ressourcen abstürzen oder als böswillige Aktivität erkannt werden.
Malware: Malware -Skripte sind so konzipiert.
Sicher: Im Gegensatz zu aufdringlichen Skripten werden sich sicher. Skripte unter dieser Kategorie befassen sich hauptsächlich mit Entdeckungsaufgaben.
Ausführung: Versionskripte erweitern die Version von Version NMAP. Ein Beispiel ist das Skript-Docker-Version, mit dem eine Service Docker-Version erfasst wurde.
Vuln: Vuln -Skripte sind nützlich, um Schwachstellen für Ziele genau zu testen.
NSE -Skripte befinden sich bei /usr/share/nmap/scripts, und jedes neue Skript, das Sie hinzufügen möchten (e.G., Vulscan) sollte dort platziert werden.
So verwenden Sie NMAP Scripting Engine (NSE)
NSE ist in NMAP enthalten, um NMAP zu installieren, falls Sie es noch nicht durch Ausführen (auf Debian- und Debian -basierte Linux -Distributionen) haben:
sudo apt installieren nmapNotiz: Auf Redhat -basierten Linux -Verteilungen können Sie ausführen:
yum Installieren Sie NMAPFühren Sie nach der Installation oder wenn Sie NMAP bereits installiert haben, den folgenden Befehl aus, um die NMAP -Skriptmotor -Datenbank zu aktualisieren:
NMAP-script-updatedbMit NMAP können verschiedene Syntax Scans ausführen. Das folgende Beispiel zeigt einen NMAP-Scan mit der Versionserkennung an, das das Skript http-Wortpressbrute aufgerufen und als Argument an den Ort der Wörterbücher vorliegt. Dies ist eine mögliche Syntax, wenn Sie wissen, welches Skript Sie ausführen möchten.
Im ersten Beispiel werde ich zeigen, wie NMAP NSE eine WordPress-Website mit brutaler Kraft mit dem Skript http-wordpress-bruten hacken kann.NSE. In diesem Beispiel ist die gehackte Website Noticias Mercedes, die ich besitze.
nmap -sv--Script http-wordpress-brute--Script-args 'userDB = Benutzer.TXT, PassDB = Pass.txt 'NoticiasMercedes.comWo:
Nmap -sv: Ruft NMAP auf und aktiviert die Versionserkennung.
-Skript http-Wortpressbrute: Ruft das http-Wortpress-Brute-Skript auf brutale KraftwordPress-Sites auf.
-Benutzerdb = Benutzer von Skript-Args.TXT, PassDB = Pass.txt': Gibt die Wörterbücher für Benutzer- und Kennwort an. In diesem Fall habe ich die Dateien -Benutzer erstellt.txt und passieren.TXT mit Dummydaten und den richtigen Anmeldeinformationen, die Dateien befanden sich im selben Verzeichnis, in dem NMAP ausgeführt wurde, können auch den Pfad angeben: -script-args 'userdb =/path/to/dicionaty/user.txt, passdb =/path/to/dicionaty/pass.txt'
Wie Sie in der Ausgabe sehen können, wurde das Passwort erfolgreich gehackt:
Nehmen wir für das folgende Beispiel an, dass Sie sich über das Skript nicht sicher sind, das Sie mit Ihrem Ziel ausführen möchten, aber Sie möchten Ihren Scan auf Sicherheitsüberprüfungen beschränken. In diesem Fall können Sie NMAP anweisen, alle Skripte aus den sicheren oder standardmäßigen Kategorien oder beides auszuführen.
Das folgende Beispiel zeigt, wie alle Skripte sowohl in die Standard- als auch in den sicheren Kategorien mit einer benutzerfreundlichen Syntax ausführen:
NMAP --Skript "Standard und sicher" NoticiasMercedes.comDas letzte Beispiel zeigt, wie Sie SSH -Anmeldeinformationen mit NSE knacken:
NMAP-Script SSH-Brute.NSE localhostWie bei HTTP-WordPress-Brute können Sie mit diesem Skript auch Wörterbücher angeben, die das Argument umgehen:
--Skript-Args userdb = Benutzer.TXT, PassDB = Pass.txtWo Benutzer.txt und passieren.TXT muss durch Ihre Wörterbücher ersetzt werden (und bei Bedarf),
Die folgenden Artikel enthalten zusätzliche NSE -Beispiele:
Ich hoffe, Sie haben diesen Artikel über NSE nützlich gefunden. Folgen Sie LinuxHint weiter, um weitere Linux -Tipps und Tutorials zu erhalten.