Sprache: English | Deutsch 
 
Home » Learning Center » Task: Web-Anwendungen 

Task: Web-Anwendungen

Der Greenbone Security Manager unterstützt die Prüfung von Web-Anwendungen auf 2 Arten:

  • Durch eigene Network Vulnerability Tests (NVTs, etwas über 1500 haben Relevanz für Web-Anwendungen)
  • Durch den integrierten Web-Anwendungs-Scanner w3af

Einfachen Scan von Webanwendungen ausführen

top^

Dieses Beispiel führt eine breit angelegte Prüfung von Web-Anwendungen aus. Ein erfahrener Anwender wird auf einer solchen Basis in eine vertiefte Prüfung mit angepassten Parametern einsteigen.

  1. Importieren Sie die Scan Configuration Web-Application Scan.

  2. Diese Konfiguration beinhaltet alle Network Vulnerability Tests (NVT's), die in irgendeiner Weise relevant für die Prüfung von Web-Anwendungen sind. Dabei reichen die Überprüfungen von Webserver-Versionen über bekannte Schwachstellen in Web-Applikationen bis hin zu rudimentärer generischer Suche (Fuzzing).

    Dies hat den Vorteil, dass kein zeitintensives Auswählen relevanter NVT's nötig ist. Auf der anderen Seite wird dieser allgemeine Scan länger dauern und ggf. zuviel Informationen zusammenstellen als eigentlich notwendig.

    Es ist also eine Konfiguration um eine noch nicht tiefgreifend analysierte Web-Anwendung kennen zu lernen um anschließend die Punkte zu identifizieren die eine tiefere Analyse notwendig erscheinen lassen.

  3. Legen Sie die Zielsysteme (Targets) fest.

  4. Nun können Sie die Aufgabe (Task) erstellen. Dafür kombinieren Sie die oben importierte Scan Configuration mit den entsprechend erstellten Zielsystemen.

  5. Die Suche wird gestartet in dem Sie für den eben erstellten Task auf klicken. Es kann einige Zeit dauern, bis der Scan abgeschlossen ist. Den aktuellen Stand des Scans erhalten Sie indem Sie auf klicken.

  6. Sobald der Status auf "Done" wechselt, ist der vollständige Bericht verfügbar. Sie können aber auch schon während des Scans die bereits gefundenen Ergebnisse einsehen.

Fine-Tuning für Scan von Web-Anwendungen

top^

Die im obigen Beispiel importierte Scan Configuration auch als Grundlage für speziell angepasst Scans verwendet werden.

Konkret kann zum einen eine individuelle Unterauswahl der NVT's erstellt werden. Zum anderen kann die Parametrisierung ausgestaltet werden.

Anpassung Scanner Preferences

top^

Klicken Sie in der Übersicht der Scan Configurations auf das Icon um die Scan-Parameter je nach Bedarf im Abschnitt "Edit Scanner Preferences" anzupassen.

Die hier gemachten Justierungen werden von allgemeinen NVT's berücksichtigt, nicht aber von w3af. Das integrierte Werkzeug erlaubt eine eigenen, uanbahängige Parametrisierung.

  • cgi-path: Falls bekannt, können Sie hier weitere Pfade angeben um sie beim Scan zu berücksichtigen.

    Die einzelnen Pfade werden jeweils mit einem Doppelpunkt getrennt.

  • port_range: Liegen die Ports fest auf denen die Web-Anwendung läuft, kann hier durch eine Einschränkung die Zahl nicht-relevanter Scan-Ergebnisse deutlich reduziert werden (z.B. nur "80, 8080, 8443").

    Diese Einschränkung macht vor allem deshalb Sinn, weil es eine Reihe von Standard-Diensten gibt die auf HTTP-Basis funktionieren. Sie laufen auf irgendwelchen anderne Ports und werden beim Scan-Vorgang (richtigerweise) als eine Web-Anwendung identifiziert und dann im Detail geprüft.

Mit dem "Save Config"-Knopf am Ende dieses Abschnittes werden die Änderungen übernommen.

Anpassung NVT Preferences

top^

Klicken Sie in der Übersicht der Scan Configurations auf das Icon und gehen Sie zum Abschnitt "Network Vulnerability Test Preferences". Dort kann man direkt über das Icon zum NVT-Editor springen dessen Parameter einstellen.

  • Global variable settings (Enable CGI scanning): Schaltet den Test von CGI's ein.

    Dies ist auch voreingestellt. Wenn keine solchen Tests gemacht werden sollen, schalten Sie hier um von "yes" auf "no".

  • Global variable settings (HTTP User-Agent): Jedes Programm welches einen Web-Server anspricht sendet dabei eine eigene Kennzeichnung mit. Auch beim Scan wird eine solche Kennung mitgesendet und sie kann hier eingestellt werden.

    In einigen Fällen verhält sich eine Web-Anwendung unterschiedlich je nach dem ob sich beispielsweise ein Mozilla Browser oder ein Internet Explorer meldet. Insofern kann eine Variation notwendig werden um ein bestimmtes Verhalten zu testen.

    Ein weitere Aspekt ist, dass eine spezielle Kennung erlaubt, in den Logeinträgen des Web-Servers die Auswirkungen des Scans leichter zu finden.

  • HTTP login page (Login form, Login form fields, Login page): Diese Einstellungen helfen der Scan-Engine sich bei anmeldepflichtigen Web-Anwendungen einzuloggen um dann erst die Tests auszuführen. Andernfalls würden die Tests mangels Authorisierung abgewiesen werden.

    Mit Login form wird die URL zur Aktion der Web-Anwendung für das einloggen gesetzt. Wenn Sie die Web-Anwendung im Browser aufrufen können Sie die URL zumeist direkt ablesen.

    Die Login page bezeichnet die URL auf der die Aktion zum einloggen ausgelöst werden kann.

    Schliesslich kann mit Login form fields für URL-basierte Web-Anmeldungen über die Platzhalter "%USER%" und "%PASS%" das Benutzerkonto mit Password übermittelt werden. Das konkrete Format müssen Sie auch hier aus der zu prüfenden Web-Anwendung ermitteln. Die konkreten Zugangsdaten lassen sich über das NVT "Login configurations" (siehe unten) einstellen.

  • Login configurations (HTTP account, HTTP password): Mit diesen beiden Parameter werden Zugangsdaten definiert die benutzt werden um auf den entsprechend konfiurierten Login-Seiten (siehe oben) eine Anmeldung durchzuführen und der Scan damit über die Login-Seite hinaus in die eigentliche Anwendung wirksam wird.

    Es sollten hierfür nur Test-Zugänge verwendet werden. Beachten Sie, dass ggf. das Passwort im Klartext gesendet wird.

    Wenn die Änderung des Passworts in Kraft treten soll, so muss "Replace old value" explizit angeschaltet werden. Ansonsten wird das eingegebenen Passwort bei der Aktion "Save Config" wieder verworfen.

  • Nmap (NASL wrapper) (Service scan): Eine Umstellung auf "yes" kann die Informationsgewinnung vor dem eigentlichen Schwachstellen-Scan erhöhen.

    Das macht nur dann Sinn, falls noch unklar ist auf welchen Systemen und an welchem Port Web-Anwendung arbeiten. Ggf. macht es auch Sinn, falls die Web-Anwendung ansonsten nicht auf Anhieb als solche erkannt wird.

  • Web mirroring (Number of pages to mirror, Start page): Für den Scan einer Webanwendung wird ein Spiegel (also eine Kopie in Form einer Momentaufnahme) erstellt. Während des Scans arbeitet sich die Scan-Engine systemtisch durch die Verweisstruktur.

    Diese beiden Einstellungen beschreiben wieviele Webseiten gespiegelt und wo damit gestartet werden soll. Die Voreinstellungen sind in der Regel ausreichend für eine erste Prüfung. Je nach Web-Anwendung kann es jedoch notwendig werden entsprechend nachzujustieren.

  • HTTP NIDS evasion: Falls versucht werden soll ein Intrusion Detection System (IDS), Intrusion Prevention System (IPS) oder eine vorgeschaltete Web Application Firewall (WAF) zu umgehen, bietet dieses NVT eine Reihe von Einstellungen.

    Die Justierung dieser Einstellungen sollte mit Kenntnis der IDS/IPS/WAF Technologien erfolgen.

  • w3af (NASL wrapper) (Profile): Der integrierte Web-Anwendungsscanner "w3af" erlaubt unterschiedliche Profile für einen Scan.

    Das voreingestellte Profil "full_audit" sorgt für einen umfassenden Scan. Für weitere Profile und Anpassungsmöglichkeiten bietet die Dokumentation von w3af Unterstützung.