Firefox-Addons für Penetration Tester Marc Ruef | 09.11.2009 Eine Vielzahl der Client/Server-basierten Anwendungen werden heutzutage als Webapplikationen umgesetzt. Der Grund dafür ist vielfältig. In erster Linie kann der Nutzen der etablierten Techniken nicht bestritten werden. Auf der Basis webfähiger Programmiersprachen lassen sich innert kürzester Zeit Anwendungen entwickeln, die sich komfortabel über bestehende Browser in einem Netzwerk oder über das Internet nutzen lassen. Sodann wird es für Penetration Tester immer wichtiger, sich mit Webapplikationen auseinanderzusetzen. Die manuelle Prüfung individueller Lösungen kann jenachdem sehr aufwendig sein. Durch die Modularität des beliebten Webbrowsers Firefox ist es möglich, zusätzliche Addons zu installieren und damit den Browser für derlei Tätigkeit zugeschnittene Funktionen zu erweitern. Nachfolgend sollen einige der nützlichsten Firefox Addons für Web Application Penetration Tests vorgestellt werden. Das Herzstück eines jeden Web Application Penetration Test bildet das Addon namens Web Developer (https://addons.mozilla.org/en-US/firefox/addon/60). Dieses erweitert die Menuleiste des Browsers um ein vielfältiges Menu, mit dem komfortabel auf die Elemente einer Webseite zugegriffen und diese bisweilen angepasst werden können. Mit wenigen Klicks lassen sich so Formularfelder einblenden oder Cookies anzeigen. Es gibt eigentlich nichts, was man nicht irgendwie mit Web Developer hinkriegt. In ähnlicher Weise mit Mächtigkeit bestückt ist Firebug (https://addons.mozilla.org/en-US/firefox/addon/1843). Dieses umfangreiche Addon lässt Anpassungen an clientseitigen Informationen einer Webseite an. So lassen sich on-the-fly HTML, CSS und Script-Code anpassen. Gerade bei javascriptbasierten Webseiten, die im Zuge des Web 2.0 immer mehr an Verbreitung finden, ist diese Möglichkeit unerlässlich. Durch Tamper Data (https://addons.mozilla.org/en-US/firefox/addon/966) lassen sich die für den Versand vorgesehenen Daten manipulieren. Da Firefox für das Zusammenbauen der GET- und POST-Requests zuständig bleibt, können dedizierte Eingriffe bei der Analyse von Schwachstellen bezüglich Input Validation verwendet werden (klassische Linux-Tester pflegen die Handarbeit mit curl durchzuführen). Soll in umfassender Weise die durch Firefox verschickten HTTP-Header verändert werden, kann auf Modify Headers (https://addons.mozilla.org/en-US/firefox/addon/967/link) zurückgegriffen werden. Wem das manuelle Anpassen der Headerstruktur zu kompliziert ist, der kann auf einzelne Addons für spezifische Header-Zeilen zurückgreifen. Zum Beispiel User Agent Switcher (https://addons.mozilla.org/en-US/firefox/addon/59) für das Ändern der User-Agent Zeile (Browsername), No-Referer (https://addons.mozilla.org/en-US/firefox/addon/1999) für das Deaktivieren des Referers bzw. RefControl (https://addons.mozilla.org/de/firefox/addon/953) für das Manipulieren dessen oder X-Forwarded-For Spoofer (https://addons.mozilla.org/en-US/firefox/addon/5948) für das Vortäuschen von X-Forwarded-For Informationen. Cross Site Scripting- und SQL Injection-Attacken auf der Basis von korrupten Header-Informationen lassen sich so komfortabel prüfen. Das Auswerten von Zielsystemen ist und bleibt stets wichtig, um sich auf die Eigenarten der Zielumgebung einstellen zu können. Durch PassiveRecon (https://addons.mozilla.org/en-US/firefox/addon/6196) lässt sich das Kontextmenu einer Seite so erweitern, dass komfortabel Footprinting betrieben werden kann. So werden direkt Links zu Netcraft oder spezielle Google Hacking Suchabfragen (z.B. alle PDF-Dokumente einer Seite) vorgesehen. Ein simpler Ansatz der technischen Auswertung verfolgt Server Spy (https://addons.mozilla.org/en-US/firefox/addon/2036). Beim Besuch einer jeden Webseite wird die Server-Zeile der HTTP-Rückantwort ausgelesen und in der Statuszeile des Browsers angezeigt. So sieht man schnell und unkompliziert, auf welcher Plattform die Webapplikation betrieben wird (sofern diese Daten natürlich korrekt sind). Ein manuelles Auswerten des HTTP-Datenstroms, ohne dass man einen separaten Protocol Analyzer wie Wireshark installieren muss, bietet Live HTTP Headers (https://addons.mozilla.org/en-US/firefox/addon/3829). Wird dieses Addon aktiviert, zeichnet es den Austausch zwischen Firefox und Server auf. Eine Durchsicht dessen ist in Echtzeit möglich oder die Daten können für eine spätere Analyse abgespeichert werden. Ein grundlegendes Problem von Webapplikations Tests ists die Unberechenbarkeit von Caches. Zwar agiert hier Firefox wesentlich flexibler weder der Internet Explorer. Doch erst mit Addons wie BetterCache (https://addons.mozilla.org/en-US/firefox/addon/6371) kann das Cache-Verhalten exakt bestimmt und damit einem unliebsamen Caching bei Tests vorgebeugt werden. Webapplikationen können bisweilen Eigenarten mitbringen, die Tests erschweren können. So können komplexe Bilder verlinkt, anderweitig unliebsame Objekte eingeblendet oder inkompatibles Javascript verwendet werden. Durch Greasemonkey (https://addons.mozilla.org/en-US/firefox/addon/748) lassen sich mittels einfachem Javascript dynamische Anpassungen für Webseiten definieren. Dadurch können Elemente ausgeblendet oder ersetzt werden. Sollen eingebettete Objekte oder Seiten (z.B. iFrames) mit einem einfachen Klick blockiert werden, bietet sich auch die Nutzung von Adblock Plus (https://addons.mozilla.org/en-US/firefox/addon/1865), das ursprünglich für das Unterdrücken von Werbung/Bannern konzipiert wurde, an. In ähnlicher Weise agiert NoScript (https://addons.mozilla.org/en-US/firefox/addon/722), das aktive Elemente (Javascript) gänzlich oder teilweise deaktiviert. Wer repetitive Aufgaben in Firefox automatisieren möchte, der kann iMacros for Firefox (https://addons.mozilla.org/en-US/firefox/addon/3863) verwenden. Das einfache Makromodul erlaubt es, Abläufe aufzuzeichnen und auf Knopfdruch widerzugeben (manche kennen diese Funktionalität noch aus Windows 3.1). Gilt es zum Beispiel Authentisierungs-Mechanismen zu prüfen, kann die Login-Prozedur damit automatisiert werden. Leider fehlen bis dato gute und verlässliche Addons, die webbasierte Sicherheitsüberprüfungen automatisieren lassen können sollen. Erste Gehversuche mit Produkten wie HackBar (https://addons.mozilla.org/en-US/firefox/addon/3899), SQL Inject Me (https://addons.mozilla.org/en-US/firefox/addon/7597), XSS Me (https://addons.mozilla.org/en-US/firefox/addon/7598) und RESTTest (https://addons.mozilla.org/en-US/firefox/addon/5946) zeigen zwar, dass es da zaghafte Bestrebungen gibt. Die Funktionalität und Qualität dieser Plugins ist jedoch bis dato unterdurchschnittlich und kann nicht mit den Automatismen separater Lösungen (z.B. Nikto oder httprecon (http://www.computec.ch/projekte/httprecon)) mithalten.