Specific Criticism of CVSS4
Marc Ruef
Die chinesische Firma NOSEC Technologies Co., Ltd. bietet unter http://www.iiscan.com einen Webdienst namens iiScan Web Application Security Evaluation System an, mit dem Webserver einem automatisierten Scanning unterzogen werden können.
Die Registrierung erfordert die Angabe einer gültigen Mailadresse und eines Passworts. Zusätzlich muss zum gegenwärtigen Zeitpunkt ein Invitation Code angegeben werden, der durch den Hersteller vergeben wird (z.B. via Twitter oder per Email). Nachdem die Anmeldung abgeschickt wurde, wird auf die spezifizierte Mailadresse eine Bestätigung mit Aktivierungslink geschickt. Durch das Aufrufen dessen wird das Konto freigeschaltet.
Das Webfrontend lässt sich wie gehabt über die Firmenwebseite aufrufen. Standardmässig ist es auf Chinesisch eingestellt, lässt sich aber mit einem simplen Klick auf Englisch wechseln. In der linken Spalte wird das Grundmenü bereitgestellt, in dem Server verwaltet und Scans ausgeführt werden können. In der rechten Spalte wird der eigentliche Inhalt dargestellt.
Zuerst muss eine Domain (bzw. ein Server) für ein Scanning hinzugefügt werden. Nachdem der Name des Webservers angegeben wurde, muss auf diesen eine Datei hochgeladen werden, die einen Hash enthält. Dieser kann sodann durch den Webdienst verifiziert werden, um missbräuchliche Scans Dritter zu verhindern.
Nachdem die Legitimität der Analyse bestätigt wurde, kann der Scan gestartet werden. Hierbei kann wahlweise ein kompletter Scan oder einzelne Scantechniken ausgewählt werden. Letztere umfassen:
Der Scan wird nach dem Aktivieren in eine Queue geschrieben, wodurch eine sequentielle Ausführung der jeweiligen Tasks gewährleistet werden will. Dieser kann jederzeit durch das Klicken auf einen Stop-Link angehalten werden. Unser Test-Scan wurde um 11:00 Uhr übermittelt, wurde um 11:12 Uhr gestartet und war sodann um 11:16 Uhr beendet.
In den Log-Files des geprüften Webservers kann gesehen werden, dass der Scan von einem Host des Unternehmens ausgeführt wird. Abgesehen von einem einzigen Zugriff wird bei allen der gleiche individuelle User-Agent verwendet. Dies macht es relativ einfach möglich, das Vorgehen der Analyse untersuchen zu können:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727) NOSEC.JSky/1.0
Im Schnitt werden zwei Zugriffe pro Sekunde ausgeführt, wodurch sich die Belastung des Servers in Grenzen hält. Dabei werden in einer ersten Phase nicht-existente Dateien (z.B. /never_could_exist_file.nosec
)und für Schwachstellen bekannte Dateien (z.B. /_vti_bin/_vti_adm/admin.dll
) gesucht. Dies geschieht mit unterschiedlichen HTTP-Methoden (neben GET
ebenfalls mit PUT
und DELETE
). Zusätzlich werden erste Cross Site Scripting-Versuche innerhalb der URL (ohne Berücksichtigung der Applikationsstrukturen) angegangen.
216.18.22.x - [11:12:51] "GET / HTTP/1.0" 216.18.22.x - [11:12:53] "GET / HTTP/1.0" 216.18.22.x - [11:12:53] "GET /robots.txt HTTP/1.1" 216.18.22.x - [11:12:53] "GET / HTTP/1.1" 216.18.22.x - [11:12:54] "GET /never_could_exist_file.nosec HTTP/1.0" 216.18.22.x - [11:12:54] "GET /never_could_exist_file_nosec.aspx HTTP/1.0" 216.18.22.x - [11:12:55] "PUT /jsky_test.txt HTTP/1.1" 216.18.22.x - [11:12:55] "GET / HTTP/1.1" 216.18.22.x - [11:12:56] "PUT /jsky_web_scanner_test_file.txt HTTP/1.1" 216.18.22.x - [11:12:57] "GET /Jsky_Web_Scanner_Test.dll HTTP/1.1" [...]
Eine detailliertere Analyse der jeweiligen Zugriffsversuche wurden im Labs Blog von Sucuri Security veröffentlicht. Dabei wird aufgezeigt, dass in einer abschliessenden Phase nach der Analyse der Webseiten-Struktur eben diese geprüft wird. Indem zum Beispiel für spezifische GET-Parameter typische Cross Site Scripting und SQL Injection Angriffsmuster eingesetzt werden. Diese Phase konnten wir bei unserem Test nicht beobachten, was eventuell damit zu tun hat, dass der Webserver keine klassischen GET-Parameter benutzt, sondern auf strukturelle Query-Strings setzt (z.B. http://www.scip.ch/?dienstleistungen.penetrationtest anstelle von http://www.scip.ch/?section=dienstleistungen&service=penetrationtest). Der Scan wurde deshalb auch nie richtig abgeschlossen und stand stattdessen stundenlang auf 94%
fest.
Bei der Durchsicht der Webserver-Logs fällt auf, dass beim Scanning die 3xx Redirect
Meldungen des Webservers nicht berücksichtigt werden. Es wird wohl angenommen, dass ein Auftreten dieser schlussendlich stets auf eine 404 Not Found
verweisen wird. Dies ist nicht ganz korrekt, was dazu führen kann, dass gewisse Schwachstellen nicht identifiziert werden könnten.
Die Zwischenresultate des Scans können noch während der Ausführung eingesehen werden. Dabei werden sowohl Online-HTML-Reports als auch PDF-Reports bereitgestellt (letztere haben bei unserem Test während der Scanning-Phase nicht funktioniert, erst nach Abschluss der Analyse). Die Aufmachung dieser ist übersichtlich und sehr stark an klassischen Nessus-Reports angelehnt. Leider fehlt vielerorts die englische Übersetzung, weshalb mit chinesischen Beschreibungen Vorlieb genommen werden muss. Die einzige gefundene Schwachstelle, ein vermeintliches Anbieten der DELETE
-Methode, war zudem ein False-Positive.
Das dargebotene Produkt ist simpel gehalten und so verhält es sich auch. Als professionelle Scanning-Lösung kann iiScan, vor allem in einer scheinbar noch nicht ausgegarten Version, noch nicht herhalten. Da fehlen einfach die umfangreichen Scan-Zugriffe und die granularen Möglichkeiten der Moderation von Scans. Mit diesem Produkt wurde jedoch eine gute Grundlage geschaffen, auf der man durchaus aufbauen kann. Sind die Entwickler auch weiterhin um die Verbesserung ihrer Lösung bemüht, könnte diese durchaus in 1-2 Jahren für so manches Unternehmen von Interesse sein.
Our experts will get in contact with you!
Marc Ruef
Marc Ruef
Marc Ruef
Marc Ruef
Our experts will get in contact with you!