Webseiten-Audit mit w3af

1. Server Sicherheitw3af

Eine Webseite zu betreiben ist einfach. Zahlreiche Hoster bieten ausreichend Angebote für Privat- und Firmenkunden. Will man uneingeschränkte Freiheiten haben, führt allerdings kein Weg am eigenen Webserver vorbei. Im Gegensatz zu einem Hosting-Angebot kann die Verwaltung der Webseite dann allerdings eine Herausforderung darstellen. Schließlich ist man für die Sicherheit der Seite bzw. des Servers selbst verantwortlich. Im Internet existieren viele Tools die Webserver auf Schwachstellen untersuchen, um sie anschließend mit geeigneten Mitteln zu kompromittieren. Ein kompromittierter Server wird dann meist in einen Spam-Verteiler umgewandelt, der massenweise E-Mail Werbung versendet.

Im vorliegenden Artikel wird ein Tool vorgestellt, mit dem solche Lücken gefunden werden können. Mit w3af könnt ihr eure Webseiten anhand bekannter Angriffsmethoden auf Schwachstellen prüfen und gegebenenfalls nachbessern.

2. w3af

w3af ist ein »Web Applikation-Angriffs- und Audit-Framework«. Das Konzept hinter dem Framework basiert auf einem modularen Aufbau und lässt sich dementsprechend leicht erweitern. Das Audit-Tool ist ein Bestandteil von Kali-Linux. Es kann ebenso über die offizielle Webseite bezogen werden.

In den folgenden Abschnitten wird beschrieben wie ein Ziel definiert, Plugins ausgewählt und das Ergebnis im HTML-Format dargestellt wird.

2.1 Ziel definieren

Zunächst wird das Tool über die Konsole gestartet:

root@localhost:/pentest/web/w3af#: ./w3af_console

Als nächstes wird ein Ziel definiert, dass von w3af geprüft werden soll. Im Beispiel wird dies »http://localhost« sein.

w3af>>> target
w3af/config:target>>> set target http://localhost
w3af/config:target>>>

2.2 Die Qual der Wahl – Die Plugins

w3af bietet zahlreiche Plugins, um die Webseite auf Schwachstellen zu prüfen. In der aktuellen Version (1.6.0.3 vom 12. Juni 2014) werden neun verschiedene Plugin-Gruppen mitgeliefert:

Ich beschränke mich im Artikel auf die Plugin-Gruppe Audit, Infrastructure und Output. Die Plugin-Gruppe Audit enthält aktuell folgenden Testmöglichkeiten:

  • xsrf: This plugin finds Cross Site Request Forgeries (XSRF) vulnerabilities.
  • htaccessMethods: This plugin finds .htaccess misconfigurations in the LIMIT configuration parameter.
  • sqli: This plugin finds SQL injections.
  • sslCertificate: This plugin audits SSL certificate parameters.
  • fileUpload: This plugin will try to expoit insecure file upload forms.
  • mxInjection: This plugin will find MX injections.
  • generic: This plugin finds all kind of bugs without using a fixed database of errors.
  • localFileInclude: This plugin will find local file include vulnerabilities.
  • unSSL: This plugin verifies that URL’s that are available using HTTPS aren’t available over an insecure HTTP protocol.
  • xpath: This plugin finds XPATH injections.
  • osCommanding: This plugin will find OS commanding vulnerabilities.
  • remoteFileInclude: This plugin finds remote file inclusion vulnerabilities.
  • dav: This plugin finds WebDAV configuration errors.
  • ssi:  This plugin finds server side include (SSI) vulnerabilities.
  • eval: This plugin finds eval() input injection vulnerabilities.
  • buffOverflow: This plugin finds buffer overflow vulnerabilities.
  • xss: This plugin finds Cross Site Scripting (XSS) vulnerabilities.
  • xst: This plugin finds the Cross Site Tracing (XST) vulnerability.
  • blindSqli: This plugin finds blind SQL injections.
  • formatString: This plugin finds format string bugs.
  • preg_replace:  This plugin will find preg_replace vulnerabilities.
  • globalRedirect: This plugin finds global redirection vulnerabilities.
  • LDAPi: This plugin will find LDAP injections by sending a specially crafted string to every parameter and analyzing the response for LDAP errors.
  • phishingVector:  This plugins finds phishing vectors in web applications.
  • frontpage:  This plugin audits the frontpage extension configuration by trying to upload a file to the remote server.
  • responseSplitting: This plugin will find response splitting vulnerabilities.

Eine komplette Übersicht über alle Plugin-Gruppen und deren Audit-Möglichkeiten findet ihr unter den Plugin Descriptions.

Zunächst verlassen wir den Konfigurationsmodus und wechseln zu den Plugins.

w3af/config:target>>> back
w3af>>> plugins

Für das Beispiel nutze ich die audit-Plugins htaccessMethods und buffOverflow.

w3af/plugins>>> audit htaccessMethods buffOverflow

Aus der Gruppe infrastructure verwende ich noch die Plugins phpinfo und serverHeader.

w3af/plugins>>> infrastructure phpinfo serverHeader

Schließlich wird noch ein Ausgabeformat (HTML) definiert. Dort werden später alle Ergebnisse zusammengefasst.

w3af/plugins>>> output htmlFile
w3af/plugins>>>

2.3 Start der Scanroutine

Im letzten Schritt wird der Scan gestartet und das Ziel mit den ausgewählten Plugins geprüft. Abhängig von der Auswahl und Menge der Plugins nimmt der Scan unterschiedlich viel Zeit in Anspruch.

w3af/plugins>>> back
w3af>>> start

Das Scanergebnis aus dem Beispiel offenbart folgende Ergebnisse:
Scan

Als Webserver kommt ein lighttpd zum Einsatz. Aufgrund der HTTP Header Informationen kann auf ein Linux Debian System geschlossen werden.

Hilf mit die Spendenziele zu erreichen!

Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.

Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.

Mitmachen ➡

3. Fazit

Mit w3af können Webseiten und die dahinterliegende Infrastruktur von Webservern herrvoragend auf potenzielle Schwachstellen überprüft werden. Das Tool benötigt aufgrund der Fülle von Plugins etwas Einarbeitungszeit. Zudem sollte man in der Lage sein die Scan-Ergebnisse im Anschluss richtig zu interpretieren, um gefundene Lücken zielgerichtet zu schließen.

Bildquellen:

w3af: http://w3af.org/

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion

1 Ergänzungen zu “Webseiten-Audit mit w3af”

  1. Comment Avatar Markus Prescht sagt:

    Hier gibt’s auch Videos zu w3af: http://w3af.sourceforge.net/videos/video-demos.php

HilfeWenn du konkrete Fragen hast oder Hilfe benötigst, sind das offizielle Forum oder der Chat geeignete Anlaufstellen, um dein Anliegen zu diskutieren. Per E-Mail beantworte ich grundsätzlich keine (Support-)Anfragen – dazu fehlt mir einfach die Zeit. Kuketz-Forum

Abschließender Hinweis

Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.

Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.