Specific Criticism of CVSS4
Marc Ruef
An den diesjährigen Hashdays hat Marc Ruef eine Präsentation mit dem Titel Nmap NSE Scripting for IT Security Professionals gehalten. Dabei wurde das von uns für umfangreiche Netzwerküberprüfungen genutzte Framework vorgestellt. Am Schluss des Talks wurde darauf verwiesen, dass wir einen Teil unserer genutzten Nmap NSE Skripte sowie den Ruby-Parser veröffentlichen werden. Die Funktionsweise dieser sowie der empfohlene Ablauf sind in den Slides festgehalten.
Name | Typ | Grösse |
---|---|---|
Nmap NSE Hacking for IT Security Professionals | ppt | 2971 KBytes |
Nmap NSE Top Ten Webserver Scripts | tar.gz (NSE/Lua) | 4422 Bytes |
Nmap xml2csv Parser | tar.gz (Ruby) | 14977 Bytes |
Die enthaltenen NSE-Skripte helfen bei der Auswertung von Webservern. Die nachfolgende Liste zeigt die Top Ten dessen auf. Einige der Skripte benötigen die Aktivierung der Version Detection mit dem Schalter -sV
, um die benötigten Informationen zusammentragen zu können.
ID | Titel | Version Detection |
---|---|---|
1 | Web Server Identification | empfohlen |
2 | Web Server Banner Grabbing | optional |
3 | Web Server robots.txt Enumeration | optional |
4 | Web Server HTTP Fingerprinting | erforderlich |
5 | Web Server Default Install Page | optional |
6 | Web Server X-Powered-By | optional |
7 | Web Server OPTIONS Support | optional |
8 | Web Server ETag Enumeration | optional |
9 | Web Server NTLM Authentication | optional |
10 | Web Server HTTP/1.1 Pipelining Support | optional |
Um die NSE-Skripte zu installieren, entpacken Sie das tar.gz-Archiv. Es gibt zwei unterschiedliche Unterordner, die entsprechend innerhalb des Nmap-Hauptordners berücksichtigt werden müssen:
nmap/nselib/scipreporting_hashdays.lua
– Output Wrappernmap/scripts/scip_nse_topten_webserver/*
– NSE ScriptsDie jeweiligen Dateien müssen in die entsprechenden Ordner der lokalen Nmap-Installation kopiert werden.
Die Ausführung von Nmap erfolgt in gewohnter Weise, wobei durch den Schalter --script=scip_nse_topten_webserver
die Top Ten Skripte ausgeführt werden können:
C:\>nmap -sV —script=scip_nse_topten_webserver www.scip.ch -p80Starting Nmap 5.21 ( http://nmap.org ) at 2010-11-18 11:23 Westeuropõische Normalzeit Nmap scan report for example.scip.ch (192.168.0.101) Host is up (0.00s latency). rDNS record for 192.168.0.101: example.scip.ch PORT STATE SERVICE VERSION 80/tcp open http Apache httpd | web_server_identification: sID{1}, | sAccuracy{80}, | sTesttype{Exploiting}, | sTestsource{Application Mapping}, | sVersion{1.0-hd10}, | sOutput{Header: | | Date: Thu, 18 Nov 2010 10:24:03 GMT | Server: Apache | Vary: Accept-Encoding | Content-Length: 6749 | Connection: close | Content-Type: text/html | | }, | sDescription{The target service is a web server which is using the application protocol http to communicate. An attacker might approach this service to enumerate or compromise the target host.}, |_sTimestamp{1290075843}; | web_server_banner_grabbing: sID{2}, | sAccuracy{80}, | sTesttype{Scanning}, | sTestsource{HTTP-Banner (Server Line)}, | sVersion{1.0-hd10}, | sOutput{Apache}, | sDescription{The web server is announcing himself with a welcome banner in the Server line of the http header. An attacker might use this information to initiiate target-oriented attacks.}, |_sTimestamp{1290075843};
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 8.02 seconds
Die Ausgabe wird nun um die durch die NSE-Skripte bereitgestellten Informationen erweitert. Pro NSE-Skript, das eine Ausgabe generiert hat, wird ein Datensatz ausgegeben. Die einzelnen Felder beinhalten die jeweiligen Informationen:
Feld | Beschreibung |
---|---|
sId | Eindeutige Identifikationsnummer des NSE-Skripts |
sAccuracy | Genauigkeit der Analyse in Prozent |
sTesttype | Typ des Tests (Derivative, Portscan, Scanning, …) |
sTestsource | Quelle der Daten (in diesem Fall immer Nmap) |
sVersion | Versionsnummer des NSE-Skripts |
sOutput | Ausgabe des Testzugriffs (z.B. gefundener Banner) |
sDescription | Kurze Beschreibung des Problems |
sTimestamp | Unix-Timestamp bei erfolgreicher Identifikation |
Die XML-Ausgabe dieses Scans kann dann mit dem in Ruby geschriebenen Parser nse_xml2csv.rb
in eine CSV-Datei umgewandelt werden. Dadurch wird eine Weiterverarbeitung der Daten, zum Beispiel in einer Tabellenkalkulation oder Datenbank, möglich. Dies ist gerade bei einer umfangreichen Datensammlung von Vorteil.
C:\>ruby nse_xml2csv.rb -h NAME nse_xml2csv.rbOPTIONS
—help,-h Displays help page. —debug,-d Sets debug to true. —scan-file,-i scan file nmap XML output file to parse —target-file,-t target file The target file to create. If none is supplied, output will be written to current directory (results.csv)AUTHOR: Stefan Friedli
COPYRIGHT © scip AG – 2010 C:\>ruby nse_xml2csv.rb -i nmap_result.xml -t results_from_xml.csv nse_xml2csv.rb 1.0 launched… Finished… see results_from_xml.csv for results.
Das Resultat wird in die entsprechende Datei geschrieben und kann sodann in einer Tabellenkalkulation betrachtet werden:
Die hier bereitgestellten Codeteile wurden von Stefan Friedli und Marc Ruef geschrieben. Sie unterliegen, falls nicht anders angegeben, der GNU General Public License Version 3.
Our experts will get in contact with you!
Marc Ruef
Marc Ruef
Marc Ruef
Marc Ruef
Our experts will get in contact with you!