Wer wissen will, mit welcher Software eine Webseite betrieben wird, der kann einen Blick in das generator-Tag des Seitenquelltexts werfen. Das sieht dann zum Beispiel so aus:
<meta name="generator" content="WordPress 3.0" />
Erstens kann das bewusst verfälscht worden sein und in vielen Fällen werden keine Subversionierungen angezeigt. Will man also wissen, ob eine Webseite für eine bestimmte Schwachstelle gepatcht wurde, oder nicht, muss man genauer nachforschen. Der BlindElephant WebApp Fingerprinter ist dazu da, die Version einer bekannten Webapplikation herauszufinden. In unserem Beispiel von oben wäre das die Blog-Software WordPress. BlindElephant kann aktuell die folgenden Produkte erkennen:
- WordPress (inklusive einiger Plugins)
- Drupal (inklusive einiger Plugins)
- Joomla
- MediaWiki
- MovableType
- phpBB
- PHP-Nuke
- Liferay
- Moodle
- osCommerce
- phpMyAdmin
- SPIP
Das in Python programmierte Tool vergleicht dazu vorhandene Dateien auf dem Server gegen Hash-Werte der verschiedenen Versionen. Diese Methode ist schnell, schont die Bandbreite und ist sehr flexibel einsetzbar. Um das Tool zu nutzen reicht es aus, den Tarball herunterzuladen und in einem beliebigen Verzeichnis zu entpacken. Eine Installation mit python setup.py install ist nur nötig, wenn man beabsichtigt das Tool als Library zu verwenden. Danach ist das Tool extrem einfach zu bedienen:
python BlindElephant.py http://example.com wordpress
Nach diesem Befehl rattert der blinde Elefant nun alle möglichen WordPress-Dateien auf dem Server durch und verbessert seinen Tipp, um welche Version es sich handelt. Am Ende kommt er zu einer Einschätzung:
Fingerprinting resulted in:
3.0
3.0-IIS
3.0-RC1
3.0-RC1-IIS
3.0-RC2
3.0-RC2-IIS
3.0-RC3
3.0-RC3-IIS
Best Guess: 3.0
Also insbesondere bei der Unterscheidung der Vorabversionen gibt es Schwierigkeiten, weil die Unterscheidungsmöglichkeiten am kleinsten sind. Die Trefferquote ist jedoch sehr hoch. Wer übrigens tatsächlich versucht example.com zu scannen, der bekommt die Fehlermeldung zu sehen, die BlindElephant zeigt, wenn man mit der Webseiten-Software daneben lag:
File produced no match. Error: Error code: 404 (Not Found)
(...)
Error: All versions ruled out!
Example.com wird also nicht mit WordPress betrieben! Für diese Erkenntnis hat sich das Tool doch schon gelohnt.
Was man mit dem Tool noch so alles anfangen kann, hat Qualys auf der letzten BlackHat in Las Vegas gezeigt und dazu Folien und ein Whitepaper veröffentlicht.

