Vorstellung des httprecon project Marc Ruef | 06.12.2007 Das Identifizieren von Anwendungen ist von enormer Wichtigkeit, um Schwachstellen in diesen bestimmen zu können. Zu diesem Zweck wird das sogenannte Fingerprinting verwendet. Beim HTTP-Fingerprinting wird sich sodann um das Erkennen des eingesetzten Webservers bemüht. Es gibt verschiedene Lösungen, die eine solche Erkennung automatisieren. Dabei wird sich in erster Linie auf das Auswerten der Statuscodes verlassen. Einige Proof-of-Concepts analysieren jedoch auch die Reihenfolge der HTTP-Header. (z.B. WebservFP (http://www.computec.ch/download.php?view.696), httprint (http://www.net-square.com/httprint/)) Die bestehenden Lösungen eignen sich aus verschiedenen Gründen nur bedingt für den professionellen Einsatz. In vielen Fällen wird die Fingerprint-Datenbank nicht oder nur spärlich aktualisiert. Das Moderieren dieser ist gar aufgrund komplexer und proprietärer Implementierungen gar nicht oder nur mit erheblichem Aufwand möglich. Ebenso wird die Reporting-Funktionalität, welche bei professionellen Sicherheitsüberprüfungen unabdingbar wird, vernachlässigt. centerimghttp://www.computec.ch/_images/newspost_images/httprecon_screenshot.jpg/img /center Mit dem httprecon project (http://www.computec.ch/projekte/httprecon/) sollen diese Einschränkungen aufgehoben werden. So wird sich um zusätzliche Analysetechniken, wie sie im Buch Die Kunst des Penetration Testing (http://www.amazon.de/dp/3936546495/) in Kapitel 9.3 (HTTP-Fingerprinting, Seiten 530-550) beschrieben wurde, bemüht. Zum Beispiel werden syntaktische Details (Leerzeichen, Gross-/Kleinschreibung, ETag-Zeichensatz) berücksichtigt. Hierbei wird das detaillierte Verhalten bei unterschiedlichen Test-Cases gleichermassen untersucht. Die Genauigkeit der Prüfungen ist damit um ein Vielfaches höher, weder bei bestehenden Utilities. Die Fingerprint-Datenbank lässt sich sehr einfach administrieren. Durch eine eingebaute Save-Funktion können neue Fingerprints unkompliziert abgespeichert und für das offizielle Repository vorgeschlagen werden. Da hierzu uncodierte ASCII-Dateien im CSV-Format genutzt werden, lassen sich einzelne Einträge ebenso mit einem einfachen Texteditor anpassen. Durchgeführte Scans lassen sich mit einem Knopfdruck in ein HTML-Dokument exportieren. Auf der Projektseite wird die Fingerprint-Datenbank für jedermann zugänglich gemacht. Damit lassen sich ebenfalls manuelle Penetration Tests unterstützen sowie statistische Auswertungen der bestehenden Webserver-Landschaft anstreben. So ist zum Beispiel die Liste der Statuscodes bei überlangen Anfragen (http://www.computec.ch/projekte/httprecon/?s=database&t=get_long&f=statuscode) oder der Statustext bei 404-Fehlermeldungen (http://www.computec.ch/projekte/httprecon/?s=database&t=get_nonexisting&f=statustext) interessant durchzusehen. Die Software ist in Visual Basic 6 geschrieben und unter der General Public License (GPL) veröffentlicht. Sowohl das win32 Binary als auch der VB6 Quelltext stehen auf der Projektseite zum Download bereit. Die aktuelle Version ist httprecon 1.0, welche mit 227 bekannten Implementierungen daherkommt. Regelmässige Aktualisierungen der Komponenten sind vorgesehen. Bugreports und Feature-Requests werden bitte per Email an mich gerichtet.