Google Hacking: Webanwendungen finden
Mit Google Hacking kann man nicht nur Webserver, sondern auch Webanwendungen finden. Und sogar noch mehr als "nur" Webanwendungen, aber das wird erst in einer späteren Folge Thema.
"Google Dorks" im Einsatz
Die "Google Dorks" haben Sie ja schon in der Einführung kennen gelernt. Meist bestehen sie aus dem Anwendungsnamen und der Versionsnummer. In der vorherigen Folge mussten wir ja leider feststellen, dass diese Suchanfragen schon kurz nach ihrer Veröffentlichung quasi nutzlos sind - statt der gesuchten Anwendung findet man die entsprechenden Advisories, Exploits etc.. Dafür gibt es zwei Gründe:
Erst mal werden diese Text meist (auch) auf Mailinglisten veröffentlicht, die wiederum an zig Stellen im Web gespiegelt werden. Und dann stuft Google Texte, in denen die Suchbegriffe im Text vorkommen, als wichtiger ein als Seiten, auf denen sie lediglich im Footer der Seite die Webanwendung verraten. Zusammen genommen führt das dazu, dass die eigentlich interessanten Ergebnisse ausgeblendet werden oder erst auf den "hinteren Plätzen" erscheinen.
Wie man dieses Problem zumindest teilweise umgeht, haben Sie ebenfalls in der vorherigen Folge erfahren: Indem man eben die ersten -zig Ergebnisseiten überspringt und/oder ggf. die Suche unter Einbeziehung der übersprungenen Ergebnisse wiederholt.
Bessere Ergebnisse durch Optionen
Im Fall von Anwendungen gibt es meist bessere Ergebnisse im Sinne eines Angreifers, wenn Teile des URL in die Suche einbezogen werden können. Eine Anfrage wie z.B.
inurl:"tiki-index.php" filetype:php "This is TikiWiki 1.9"
ist deutlich spezifischer als das unverbindlichere
"This is TikiWiki 1.9"
Zumindest gibt Google dann nur "falsche" Fundstellen aus, bei denen im URL
tiki-index.php
vorkommt und die den Filetype PHP haben. Und
das sind deutlich weniger: Ungefähr 47.400 im Vergleich zu ungefähr
3.180.000 Ergebnissen bei der allgemeinen Suche - bei der übrigens
meine
Einführung
zum Google Hacking auf dem 7. Platz steht.
Abb. 1: 3.180.000 Ergebnisse für die allgemeine Anfrage (Klick für
großes Bild)
Abb. 2: 47.400 Ergebnisse für die spezifische Anfrage (Klick für
großes Bild)
In einer Hinsicht ist dieses Beispiel aber schlecht gewählt: Schon die
unspezifische Suche findet reichlich "echte" Ergebnisse. Der Grund dürfte
der Suchstring sein, "This is TikiWiki 1.9"
wird kaum in
Berichten über und Anleitungen für TikiWiki vorkommen, und das
Advisory
enthält als Dork
"powered by tikiwiki"
und erscheint damit nicht in der Suche (sofern es nicht auf TikiWiki-Seiten veröffentlicht wurde). Die oben angegebene Suchanfrage stammt aus der Google Hacking Database der Exploit DB und die ist eher kein Kandidat für massenhaftes Kopieren.
Die Ergebnisse werden also um so besser, je spezifischer sie sind. Und das ist ja auch ganz allgemein der Fall. Oder haben Sie sich noch nie über die Flut von eBay-Auktionen geärgert, die bei der Google-Suche nach Produktnamen oft die wirklich interessanten Seiten verdrängen? Nebenbei bemerkt: Wieso Google eBay nicht einfach komplett aus dem Index schmeißt, ist mir ein Rätsel. Wer etwas bei eBay sucht, wird das wohl kaum über Google tun. Zumindest die Auktionen könnten problemlos bei Google raus fliegen. Aber genug gemeckert, zurück zum eigentlichen Thema. Was könnte man denn außer den Copyright-Angaben etc. noch als Suchbegriff verwenden, wenn man Anwendungen sucht?
Verräterische Fehlermeldungen
Fehlermeldungen sind aus zwei Gründen interessant: Zum einen verraten sie die Anwendung an sich, zum anderen weisen sie auf einen Fehler oder sogar eine möglicherweise ausnutzbare Schwachstelle hin. Zumindest verraten sie oft einiges über die Anwendung wie z.B. ihren vollständigen Pfad.
Die Anfrage
"Fatal error: Call to undefined function"
z.B. findet PHP- und ASP-Fehlermeldungen. Bzw. Texte, in denen darüber diskutiert wird oder Fehlerkorrekturen beschrieben werden usw.. Ergänzt man sie etwas, wird das Ergebnis besser:
"Fatal error: Call to undefined function" filetype:php
Jetzt sind es nur noch ca. 10.200.000 statt vorher ca. 29.200.000
Ergebnisse, fast 2/3 haben wir also schon ausgesiebt. Um weitere "falsche"
Ergebnisse auszuschließen, kann man jetzt schrittweise vorgehen: Man
nimmt möglichst allgemeine, aber doch typische Begriffe aus den ersten
falschen Fundstellen und schließt sie in der Suchanfrage aus. Im
Beispiel bietet sich dafür z.B. der Begriff "Resolved"
an:
"Fatal error: Call to undefined function" filetype:php -Resolved
Da waren es nur noch ungefähr 7.550.000 Ergebnisse. Das kann man ggf. mehrmals wiederholen.
Unter Umständen ist es auch hilfreich, die Sprache umzuschalten und
Ergebnisse in allen anderen Sprachen zu ignorieren. Die obigen Angaben
beziehen sich auf die Einstellung auf deutsch, zum Vergleich die Ergebnisse
für die englische Sprachversion: 21.400.000 Ergebnisse für die
erste, allgemeine Anfrage, unverändert 10.200.000 mit dem Dateityp PHP
und im Vergleich dazu keine Verbesserung durch das Herausnehmen von
"Resolved"
(was bedeutet, dass es im Vergleich zur "deutschen"
Suche sogar eine Verschlechterung ist):
Suchanfrage | deutsch | englisch |
---|---|---|
"Fatal error: Call to undefined function" |
29.200.000 | 21.400.000 |
+ filetype:php |
10.200.000 | 10.200.000 |
+ -Resolved |
7.550.000 | 10.200.000 |
Wie Sie Portalseiten und Netzwerkhardware über Google finden erfahren Sie in der nächsten Folge.
Übersicht über alle Artikel zum Thema
- Google Hacking, ganz einfach
- Google Hacking - The Next Generation
- Google Hacking: Verzeichnislisten und Intranets
- Google Hacking: Webserver finden
- Google Hacking: Webanwendungen finden
- Google Hacking: Portale und Netzwerkhardware finden
- Google Hacking: Interessante Dateien finden
- Google Hacking verhindern: Verzeichnisse schützen
- Google Hacking verhindern, Teil 2
Trackbacks
Dipl.-Inform. Carsten Eilers am : Drive-by-Infektionen über kompromittierte Webanwendungen
Vorschau anzeigen
entwickler.de am : PingBack
Die Anzeige des Inhaltes dieses Trackbacks ist leider nicht möglich.