Google Hacking - DI Andreas Vida

Transcription

Google Hacking - DI Andreas Vida
Google Hacking
BAKKALAUREATSARBEIT
Seminar: Computernetzwerke (Sicherheitsfragen)
zur Erlangung des akademischen Grades
Bakkalaureus der technischen Wissenschaften
in der Studienrichtung
INFORMATIK
Eingereicht von:
Vida Andreas, 0155987
Angefertigt am:
FIM- Institut für Informationsverarbeitung und Mikroprozessortechnik
Betreuung:
Prof. Dr. Jörg R. Mühlbacher
Linz, Jänner 2006
Google Hacking
Vida Andreas
J
anner 2006
Inhaltsverzeichnis
1 Einleitung
2
2 Grundlegende Suchtechniken
3
3 Anonymitat durch Google
6
4 Verzeichnislisten suchen und Dateisysteme traversieren
7
5 Zugangsdaten im Internet
8
6 Aunden von Exploits
9
2.1 Formulieren zielfuhrender Abfragen . . . . . . . . . . . . . . .
2.2 Erweiterte Google Operatoren . . . . . . . . . . . . . . . . . .
2.3 Automatisierung des Suchprozesses . . . . . . . . . . . . . . .
3.1 Der Google Cache . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Verwendung vorhandener Proxyserver . . . . . . . . . . . . .
3.3 Google als Proxy? . . . . . . . . . . . . . . . . . . . . . . . .
4.1 Substitution von Zahlen in URLs . . . . . . . . . . . . . . . .
5.1 Passworter und Benutzernamen . . . . . . . . . . . . . . . . .
5.1.1 Verschlusselte Passworter . . . . . . . . . . . . . . . .
6.1 Suchen nach vorhandenem Code . . . . . . . . . . . . . . . .
7 Sammeln von Informationen uber Angrisziele
7.1 Networkmapping eines bestimmten Ziels
7.2 Suche von Versionsnummern . . . . . . .
7.2.1 Standardseiten . . . . . . . . . .
7.2.2 Fehlermeldungen . . . . . . . . .
7.3 Login Portale . . . . . . . . . . . . . . .
7.4 Suchen von Netzwerkhardware . . . . .
7.4.1 Kameras . . . . . . . . . . . . . .
7.4.2 Drucker . . . . . . . . . . . . . .
7.4.3 Router . . . . . . . . . . . . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
4
6
6
6
7
7
8
9
9
10
10
10
10
10
11
11
11
12
12
8 Social Engineering Aspekte von Google
8.1
8.2
8.3
8.4
Suchen von E-Mail Adressen
Durchsuchen des Usenet . . .
Helpdesksuchen . . . . . . . .
Bedeutung des Linkgraphen .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9 Schutz vor Google Hackern
.
.
.
.
12
12
12
12
13
13
9.1 Mitarbeiterschulungen und Unternehmensrichtlinien . . . . . 13
9.2 Systemkonguration, Wartung und Pege . . . . . . . . . . . 14
9.3 Google yourself!\ . . . . . . . . . . . . . . . . . . . . . . . . 14
"
Zusammenfassung
Der Begri des Google Hacking steht fur Techniken mit denen Sicherheitsexperten, Hacker aber auch Kriminelle, fast unter alleiniger
Ausnutzung der Suchmaschine Google, verwundbare Computersysteme suchen, nden und teilweise unter ihre Kontrolle bringen. Das Ziel
ist, an sensible Daten zu gelangen, oder diese zu manipulieren. Es wird
dargelegt, welche Abfragen zu potenziellen Angriszielen fuhren, wie
man Werkzeuge ndet, um den eigentlichen Angri durchzufuhren,
sowie welche Aktionen notig sind, um sich gegen derartige Bedrohungen zu schutzen. Beschrieben werden auch Social Engineering Angrie
unterstutzt durch Google, und des weiteren Moglichkeiten der Automatisierung von Google Abfragen. Der Text kommt zu dem Schluss,
dass die Gefahr ausgehend von Suchmaschinen relativ gering ist, wenn
man die notigen Sicherheitsvorkehrungen trit.
1 Einleitung
Google [Google1] hat sich in den letzten Jahren zu einer der wichtigsten im
Internet frei zuganglichen Suchmaschinen entwickelt. Hinter einer einfachen
Webschnittstelle verbergen sich machtigere Funktionen, als die meisten Benutzer ahnen. Da die Bedienung so intuitiv wie moglich gestaltet wurde,
erreichen alltagliche Suchabfragen auch brauchbare Ergebnisse, ohne dass
der Benutzer tiefer in die Materie eindringen, oder auf eine erweiterte Suchsyntax zuruckgreifen muss.
Diese Arbeit beschaftigt sich mit Google aus der Sicht des fortgeschrittenen Benutzers, der Google dazu verwendet, um vertrauliche Informationen
zu nden und ggf. zu manipulieren. Dies geschieht oft im Zusammenhang
mit Penetrationtests, die von professionellen Hackern im Auftrag eines bestimmten Unternehmens durchgefuhrt werden. Dabei ist immer ein konkretes Angrisziel gegeben und der Pentrationstester kann u. a. Google dazu
verwenden, um Schwachstellen aufzuzeigen.
Auf der Gegenseite benden sich Kriminelle, deren Ziele und Aufgabenstellungen sich leicht unterscheiden, da oft viele mogliche Ziele vorhanden
2
sind. Aber auch hier hilft Google bei der Auswahl des Zieles, sowie der eventuell zum Einsatz kommenden Angriswerkzeuge (Code, Skripten, etc...).
Ein weiteres Ziel dieser Arbeit ist es herauszunden, wie gro die Gefahr einzustufen ist, die von Bedrohungen durch Suchmaschinen wie Google
ausgeht.
Die Suchmaschine Google bendet sich, wie die gesamte Informationstechnik, in einem stetigen Prozess der Weiterentwicklung. Anfragen, die heute brauchbare Ergebnisse liefern, nden moglicherweise morgen nichts mehr,
aber auch die Umkehrung ist moglich.
Im Wettlauf zwischen Angreifern und Verteidigern, sind naturlich die
letzteren stets bestrebt, gefundene Locher zu schlieen. Ein spielerischer
Zugang zu dem Thema ndet sich in [Irvine2003].
Fur Personen, die sich mit Sicherheitsfragen auseinandersetzen mussen,
ist es wichtig zu erkennen, dass sich im Laufe der Zeit die Motive der Beteiligten und die Prinzipien fur Angrie fast nicht andern (fur Details uber
Sicherheitsaspekte von Software etwa [Prem2000]), die verwendeten Softwaretools zum Ausnutzen von Vulnerabilities (Exploits) jedoch sehr rasch.
Das ist mit der Grund, warum in diesem Text mehr Wert auf Prinzipien
gelegt wird, und die Anzahl der Beispiele fur konkrete Abfragen eher gering gehalten wurde. Alle vorgestellten Techniken sind prinzipiell auf alle
Suchmaschinen anwendbar, die ahnliche Operationen wie Google bieten.
Das Wort Google Hacking wurde vor allem gepragt von Johnny Long
durch den Titel seiner Bucher [Long2004] bzw. [Long2005].
2 Grundlegende Suchtechniken
2.1 Formulieren zielfuhrender Abfragen
Eine gute Abfrage braucht ein solides Fundament. Ein Ausdruck der eindeutig das identiziert was gesucht wird, auf keinen Fall weniger als notig.
Wenn man das Fundament hat, dann verfeinert man den Ausdruck, indem man die Suche weiter einschrankt, indem man Ergebnisse ausschliet,
die zu allgemein sind. Der Verfeinerungsschritt wird solange wiederholt bis
man mit dem Ergebnis zufrieden ist. Manchmal ist es auch notig, dass man
einen Verfeinerungsschritt wieder ruckgangig macht, wenn die Ergebnisse
nicht mehr besser werden. Es handelt sich um einen iterativen Prozess, der
immer bessere Abfragen liefert.
Google schrankt die moglichen Suchworter auf eine Zahl von 10 ein,
Wildcards werden nicht gezahlt. Bei Suchwortern ist die Gro-Kleinschreibung
nicht relevant.
Deutsche Umlaute konnen auch mittels ae, oe, ue eingegeben werden.
Google versucht den Wortstamm von Suchwortern zu nden und sucht nach
allen Wortern mit diesem Stamm.
Bei Google gibt es zwei Wildcards:
3
.\: steht genau f
ur ein Zeichen
"
*\: steht f
ur genau ein Wort
"
Die einfachen Operatoren, die von Google unterstutzt werden sind:
OR\ oder auch nur j\ (man beachte die Groschreibung)
"
"
AND\: wird aber nicht benotigt da standardmaig von Google ver"
wendet wenn zwei Worter stehen.
Anf
uhrungszeichen: Ermoglichen die Suche nach einer ganzen Phrase
+\: Der Ausdruck nach dem Zeichen wird in die Suche mit aufge-
"
nommen, auch wenn es sich um ein hauges Wort handelt, dass normalerweise ignoriert wurde.
-\: Der Ausdruck nach dem Zeichen wird von der Suche ausgeschlos-
"
sen.
2.2 Erweiterte Google Operatoren
Die Syntax der erweiterten Operatoren beginnt mit dem Operatornamen
gefolgt von einem :\ und danach muss ohne Leerzeichen ein Ausdruck fol"
gen. Eine einfuhrende Beschreibung ndet sich auch bei [Google2]. Nicht alle
Operatoren lassen sich miteinander kombinieren. Es kommt aber manchmal
stark auf die individuelle Anfrage an, wodurch sich Experimente oft lohnen.
site:
Dieser Operator schrankt die Suche auf eine genannte Domain ein und
ist daher besonders praktisch, um mehr Wissen uber ein bestimmtes
Ziel zu gewinnen. Domainnamen werden bekanntlich von rechts nach
links gelesen. Das bleibt bei der Benutzung des Operators zu beachten.
Durch Probieren kann man feststellen, dass der Operator aber nicht
nur die Domain selbst beachtet, sondern auch den restlichen Teil der
URL, der als Parameter ubergeben wird. Gibt es also viele Dokumente
auf einer Site, dann kann man diverse Unterordner angeben, um so die
Suche noch weiter einzuschranken. Der Operator lasst sich hervorragend in Kombination mit anderen Operatoren verwenden.
inurl:, allinurl:
Hiermit werden jene Ergebnisse verworfen, die in ihrer URL nicht das
Wort nach dem Operator enthalten. allinurl: verwendet statt nur einem
Ausdruck den ganzen restlichen Text der Anfrage als Parameter. Wie
bei allen Operatoren mit der Vorsilbe all-\, ist inurl: der Vorzug uber
"
allinurl: zu geben, da dieser nicht als letzter Operator stehen muss
und die gleiche Funktionalitat besitzt, wenn man ihn etwa auf eine
geklammerte Disjunktion von Wortern anwendet.
4
letype:
Der Google Webcrawler bezieht bei seinen Streifzugen durch das Web
nicht nur typische Dokumente wie HTML, PHP, ASP usw. mit ein,
sondern durchsucht auch den Text von Oce Dokumenten, PDF Dateien u. a.
Der letype: Operator bezieht sich auf die Endung der Dateien die
zuruckgegeben werden. Als Synonym kann auch der Operator ext: in
den Suchausdruck eingebaut werden. Den Google Hacker interessieren
viele Dateitypen, aus denen er kleine Informationshappen uber das
Ziel anhaufen kann. Denkbar sind etwa Datenbankdumps, Windows
Registry Fragmente im plain-text Format, Access Datenbankdateien,
vor allem aber Source Code fur PHP, JSP und dergleichen, welcher
aufgrund einer Serverfehlkonguration lesbar geworden ist.
intitle:, allintitle:, allintext:, inanchor:
Google betrachtet hiermit das title-Element in HTML-Dokumenten.
Gesondert davon kann man auf den Text, also die Worter, die im
HTML-body Element vorkommen betrachten.
link:
Listet Seiten auf die Links zu der URL enthalten, die man als Parameter speziziert hat. Der Operator kann nur fur sich alleine stehen
und ndet Einsatz, bei der Analyse des Linkgraphen einer Site.
inanchor: bezieht sich auf das HTML anchor-Element, sucht also in
einem Linktext.
daterange:x-y
Ein oziell nicht unterstutzter Operator, der es erlaubt, die Suche auf
Seiten einzuschranken, welche in einem gegebenen Zeitraum von Google indiziert wurden. Die Zeitfensterangabe erfolgt in Form von zwei
Zahlen (x, y), welche als Tage nach dem Ursprung des Julianischen
Kalenders interpretiert werden. (vgl. [Long2004, S.71,72]).
numrange:x-y
Dient dazu, um nach einer ganzen Zahl a mit x <= a <= y zu suchen.
Dabei werden Kommatas und Wahrungssymbole ignoriert. Der Operator bietet ein groes Potential, welches mibraucht werden kann um
Sozialversicherungsnummern, Kreditkartennummern oder etwa Matrikelnummern zu suchen - die Grenzen sind dabei nur durch die individuelle Kreativitat gesetzt. Unterstutzt wird von Google auch die
aquivalente Kurzschreibweise x..y
5
2.3 Automatisierung des Suchprozesses
Um eine automatisierte Suche zu ermoglichen, kann man einerseits den ofziellen Weg einschlagen und die Google API verwenden. Man verwendet
dann Google als SOAP Service und ist auf 1000 Abfragen pro Tag eingeschrankt, wobei eine Abfrage maximal 10 Ergebnisse liefern kann. Der illegale von Google untersagte Weg besteht darin, Google URLs zu erzeugen,
uber HTTP die Ergebnisse abzugreifen und die resultierende HTML Seite
zu parsen.
Diesem Prinzip folgend existieren keine Einschrankung, aber es ist moglich
dadurch auf einer Blacklist von Google zu landen.
Google URLs erzeugt man, indem man an die Basis-URL
http://www.google.com/search?\ name=value Paare getrennt von einem
"
&-Zeichen, angehangt. Eine detaillierte Beschreibung wie man Google URLs
erzeugt ndet sich in [Long2004, S.35 ].
Um Automatisierungen zu erzeugen eignen sich praktisch alle gangigen
hoheren Programmiersprachen.
3 Anonymitat durch Google
3.1 Der Google Cache
Beim Durchforsten der Dateien im Internet erganzt und aktualisiert der
Webcrawler der Google Suchmaschine laufend seinen Cache, in dem er den
Text der Seiten ablegt, die er besucht. Bei diesem Prozess folgt der Crawler
von einer Startseite ausgehend allen Links, nach dem Muster einer Breitensuche [Brin2000, S.10]. Abfragen, die an Google gesendet werden, fuhren
zu einer Suche in diesem Pool von Seiten. Google fuhrt bei der Aufzahlung
der Ergebnisse immer einen Link auf, der die Seite so prasentiert, wie sie
beim Crawling-Prozess vorgefunden wurde ( Cache\-Link).
"
Dem Benutzer wird somit ein gewisser Grad an Anonymitat gegeben,
man kann also Seiten besuchen, ohne dass die eigene IP-Adresse in den
Logles des Webservers aufscheint.
Dabei ist zu beachten, dass ein Klick auf den Cache\-Link nicht ganz
"
das erwunschte Resultat bringt, da etwa Bilder immer noch von der Zielseite
direkt geholt werden. Um den reinen Cacheeintrag zu sehen, muss der Link,
der von Google angegeben wird leicht modiziert werden. Die URL muss
angepasst werden, indem der strip Parameter gesetzt wird, etwa durch das
Anhangen des Strings &strip=1\.
"
3.2 Verwendung vorhandener Proxyserver
Im Internet gibt es Proxy Server, die beim Browsen zusatzliche Anonymitat
ermoglichen, sofern sie als Anonymizer Proxy fungieren und nicht per Header der Zielseite mitteilen, von wem die Anfrage wirklich kommt. Eine simple
6
Google Abfrage mit free proxy\ liefert zum Zeitpunkt der Verfassung die"
ses Textes zahlreiche nutzliche Ergebnisse, die es Hackern ermoglichen ihre
Herkunft zu vertuschen. Durch den Einsatz von Softwaretools kann der Benutzer mehrere Proxies hintereinanderschalten. Diese proxy-chains bieten in
der Praxis ausreichend Anonymitat.
3.3 Google als Proxy?

Google's Ubersetzungsdienste
konnen auch als Proxy mibraucht werden.

Beim herkommlichen Ubersetzen
holt Google fur den Benutzer die Seite
ubersetzt diese, und gibt sie dem Benutzer zuruck. Um eine Verstummelung

des Textes durch die Ubersetzung
zu verhindern, kann man die URL der

Ubersetzung
manipulieren. Ausschlaggebend ist der Parameter langpair\ in
"
der Google URL. Hier setzt man die Zielsprache gleich der Ursprungssprache
und erhalt somit das gewunschte Ergebnis. Anonymitat ist durch dieses
Vorgehen nicht zu erreichen, wie leicht nachgepruft werden kann.
Google ist demnach kein Anonymizer.
4 Verzeichnislisten suchen und Dateisysteme traversieren
Verzeichnislisten werden in der Regel von Webservern bereitgestellt, falls
der Benutzer vergessen hat eine Startseite in einem Verzeichnis anzulegen.
Dem Google Hacker werden so alle Dateien in dem Verzeichnis oenbart.
Meist sind auch die Unterverzeichnisse betroen, und man kann das Verzeichnissystem beliebig traversieren. Verzeichnislisten konnen sich auch noch
im Google Cache benden, wenn die Startseite des Verzeichnisses langst erzeugt wurde. Eine Googleabfrage mit dem richtigen Zeitfenster erlaubt somit
einen Blick hinter die Kulissen, auch wenn dieser moglicherweise veraltet ist.
Verzeichnislisten ndet man zuverlassig mit der Abfrage intitle:index.of\
"
(Standard beim Apache Webserver), nutzlich ist oft auch die Verbindung
mit dem site: Operator, oder die zusatzliche Anfuhrung von konkreten Dateinamen, nach denen man sucht. Verzeichnislisten an sich stellen kein Sicherheitsrisiko dar, wenn sie nicht gerade die genaue Serverrevisionsnummer
enthalten, oder es moglich ist durch die Manipulation der URL aus dem
Webserverwurzelverzeichnis auszubrechen. Sie deuten aber darauf hin, dass
die betroene Seite unter einem Mangel an Sorgfalt erstellt wurde, was auf
andere Sicherheitslucken schlieen lasst.
4.1 Substitution von Zahlen in URLs
Durchsucht man mit dem site: Operator diverse Server, listet Google oft
Links auf, die Zahlen enthalten, sei es in Verzeichnis- oder Dateinamen.
Auch wenn man nicht auf den Luxus von Verzeichnislisten zuruckgreifen
7
kann, ist es in solchen Fallen moglich, mehr zu erfahren, indem man diese
Zahlen manipuliert, um an Orte zu gelangen, die zwar nicht von Google
gefunden wurden, weil etwa kein Link dorthin verweist, die aber trotzdem
relevante Information enthalten konnen. Diese blinde\ Suche lasst sich zu"
dem auch noch mit relativ wenig Aufwand automatisieren. Denkbar ist ein
Tool, welches Zahlen in einer URL de- oder inkrementiert, je nach konkretem
Benutzerwunsch.
5 Zugangsdaten im Internet
5.1 Passworter und Benutzernamen
Es ist erstaunlich wie sorglos manche Leute oft unbewut im Internet Zugangsdaten publizieren. Die Suche nach Zugangsdaten mit Google gestaltet
sich keineswegs trivial, aber automatisierte Techniken erhohen die Treerquote.
Die Orte an denen man Passworter ndet, sind
SQL-Dumps in denen schlampige Programmierer die Benutzernamen
oder Passworter direkt im Code verwendet haben.
Windows Registry Dumps
Etwa letype:reg in Verbindung mit anderen Begrien liefert oft (verschlusselte) Passworter.
Kongurationsdateien
Viele Programme werden mit Standardkongurationsdateien ausgeliefert, und die meisten Nutzer modizieren den Inhalt dieser Dateien
nur an wenigen Stellen, manchmal auch gar nicht. Mit dem Wissen
uber den Aufbau bzw. die genaue Syntax der Datei kann Google gezielt befragt werden. Ein Beispiel fur so eine Kongurationsdatei ist
die Datei passwd unter Linux/Unix, welche alle Benutzernamen des
jeweiligen Systems enthalt.
Fur konkrete und aktuelle Google Abfragen sei auf das Internet verwiesen
[GHDB].
Sollte die Googlesuche auch nur einen Benutzernamen ergeben, oder ein
Passwort fur einen nur weniger interessanten Zweck, so sind diese Informationen nicht zu unterschatzen. Menschen neigen dazu nur einen kleinen Pool
an Passwortern zu verwenden. So kann das gefundene Passwort auf anderen Accounts des selben Benutzers (unter leichten Abwandlungen) probiert
werden. Bei bekannten Benutzernamen funktionieren manchmal brute-force
Attacken, die unter Einsatz spezieller Dictionaries gefuhrt werden.
8
5.1.1 Verschlusselte Passworter
Die Verschlusselung bietet meist nur einen begrenzten Schutz, da der Hacker
meist viel Zeit, und moglicherweise auch genugend Ressourcen (Rechenkraft)
aufbringen kann. Ein educated guess etwa durch eine intensive Googlesuche (Stichwort Social Engineering) kann die Erfolgswahrscheinlichkeit drastisch erhohen. Im Internet kursieren Tools zum Knacken diverser gangiger
Passwortverschlusselungen.
6 Aunden von Exploits
6.1 Suchen nach vorhandenem Code
Um fertig kompilierte Tools zu nden, benotigt man keine besonderen Suchtechniken. Der Nachteil dieser Tools ist aber, dass sie meist schon auf lange
bekannten Softwarefehlern basieren und nicht mehr an vielen Orten eingesetzt werden konnen, da die meisten Systeme schon gepatcht sind. Jede
Sicherheitslucke durchwandert im Laufe der Zeit verschiedene Reifephasen
und mit Google wird man kaum 0-day exploits nden, schon gar nicht fertig kompilierte. Weitet der Angreifer also die Suche auf Sourcecode aus, so
erhalt er groere Erfolgschancen.
Google Hacks sind remote exploits und basieren oft auf
buer overows
SQL injections
cross site scripting (XSS)
Da nicht bekannt ist, in welchen Dateiarten sich der Code im Internet
bendet, verbessert der letype: Operator nicht immer die Ergebnisqualitat.
Er kann jedoch sehr nutzlich sein, wenn man explizit nach Sourcecodedateien suchen mochte, die in einer bestimmten Programmiersprache geschrieben
wurden. Eine brauchbare Abfrage fur Sourcecode stellt man zusammen aus
ploits\ bzw. exploits\ in Verbindung mit einem optionalen letype: Ope"
"
rator gefolgt von charakteristischen Codeteilen, die in eine Phrase gepackt
werden. Hierfur eignen sich auch die Inkludierungsanweisungen der jeweiligen Programmiersprache. In C etwa die Phrase \#include <stdlib.h>\,
sowie die using-Direktive in C#.
Um die Suche noch besser einschranken zu konnen, ist es nutzlich sich
vorher uber die Bezeichnung von Sicherheitslucken zu informieren [CVE].
Sicherheitslucken, die schon eine Bezeichnung besitzen, sind schon alter.
Webapplikationen benden sich zur Zeit auf dem Vormarsch. Im Bezug
auf Sicherheitslucken ist [OWAST] ein guter Startpunkt fur diese Art von
Software.
9
7 Sammeln von Informationen uber Angrisziele
Bevor ein Angri auf ein Ziel gestartet werden kann, mussen Schwachstellen
in diesem System sondiert werden. Dies kann auf eine der folgenden Arten
passieren.
7.1 Networkmapping eines bestimmten Ziels
Zunachst ist es interessant, wie das Netzwerk aufgebaut ist, welche Rechner und welche Domanen sich hinter\ dem Ziel verbergen. Google kann
"
leicht dazu eingesetzt werden, die vorhandenen Domainnamen ausndig zu
machen. Ein schlichter site: Operator in Zusammenarbeit mit einem Automatisierungstool erspart viel Zeit und liefert gute Resultate.
7.2 Suche von Versionsnummern
Damit Exploits ihre Wirkung zeigen konnen ist es zwingend erforderlich,
dass das Angrisziel eine bestimmte Versionsnummer einer Software verwendet. Administratoren sollten dazu geneigt sein, die Revisionsnummern
moglichst zu verbergen, obwohl das nicht wirklich ausreicht, um etwa blin"
de\ Angrie abzuwehren, die nur auf Verdacht ausgefuhrt werden und bei
denen der Angreifer sein vorhandenes Tool in jedem Fall zum Einsatz kommen lasst.
7.2.1 Standardseiten
Eine einfache Identikationsmoglichkeit der Versionsnummer bieten Standardseiten. Ein bekanntes Beispiel ist die Standardseite des Apache Webservers, welche nicht direkt die Versionsnummer enthalt. Genaueres Analysieren
zeigt jedoch, dass die exakte Formulierung der Satze auf der Startseite je
nach Version variiert, und demnach immer zumindest einen groben Anhaltspunkt bietet.
Genauso verhalt es sich mit den Inhaltsverzeichnissen, welche bei Apache auch unten standardmaig die Versionsnummer anfuhren. Bei anderen
Produkten (Microsoft IIS etc...) verhalt es sich zumeist analog.
7.2.2 Fehlermeldungen
Fehler treten uberall dort auf, wo nicht genau genug gearbeitet wurde. Aus
den Fehlerseiten einer Applikation kann man sich einen kleinen Einblick in
das Innenleben eines Systems verschaen. Das reicht zum Ausndigmachen
von Versionsnummern des Webservers und anderer verwendeter Komponenten, kann aber auch eine Anfalligkeit fur cross site scripting, CGI Schwachstellen oder SQL injections sichtbar machen.
10
Einen Ansatzpunkt fur eine gelungene Google Abfrage bieten die HTTPFehlercodes bzw. Textauszuge fur die durch sie generierten Standardfehlerseiten. Weiters kann man nach SQL Fehlermeldungen Ausschau halten. Von
hoher Brisanz sind dabei u. a. jene, die auf ein nicht komplettes SQL Statement hinweisen.
7.3 Login Portale
Sie befragen den Benutzer nach dessen Zugangsdaten. Obwohl solche Seiten vergleichbar sind mit der Vordertur eines Unternehmens, bedeutet das
nicht, dass sie nicht angreifbar sind. Oft gibt es auf den Seiten des Login
Portals fur ndige Benutzer Moglichkeiten, an Daten zu gelangen, welche

nicht fur die Oentlichkeit
bestimmt waren. Meistens handelt sich um Benutzernamen, oder bei Mailservern auch um Antworten auf die Frage, welche
Benutzer an einem Schriftverkehr teilgenommen haben. Besonders bei der
Verwendung von Standardportalen von Datenbanken oder Mailservern sollte der Administrator das System stets auf dem neuesten Stand halten, da
neue Schwachstellen jederzeit bekannt werden konnen.
7.4 Suchen von Netzwerkhardware
Immer mehr Gerate bieten dem Benutzer eine Webschnittstelle an. Diese
Funktionalitat lasst sich zumeist nicht deaktivieren. Standardpassworter,
die manchmal sogar leer sind, stellen ein enormes Sicherheitsrisiko dar. Aber
auch ohne so grobe Fahrlassigkeit, dass etwa kein Passwort benotigt wird,
geben diese Gerate meist wertvolle Informationen preis.
Man ndet solche Installation uber Google, durch eine Abfrage, die markante Begrie der Webseite des Gerats enthalt. Informationen uber diese
Seite ndet man im Benutzerhandbuch, welches oft auf der Site des Herstellers zum Download angeboten wird. In diesem wird unter Umstanden
eine kostenlose Auskunft uber das Standardpasswort und weitere technische
Details gegeben.
7.4.1 Kameras
Schutzlose Webcams, die Rede ist von solchen mit eingebautem Webserver, sind meist nur peinlich fur ihre Benutzer und bieten wenig praktischen
Nutzen fur Google Hacker. Trotzdem konnen, die gelieferten Bilder hilfreich
sein, man bedenke Kameras innerhalb und auerhalb von Unternehmen,
die brauchbare Informationen zur physikalischen Penetration des Gebaudes
liefern.
11
7.4.2 Drucker
Netzwerkdrucker in Firmen werden von unternehmensrelevanten Daten durchlaufen. Sind sie ungenugend abgesichert, wird es mit manchen Modellen
moglich, dass ein Angreifer Kopien abzweigen kann, in dem er auf dem
Drucker Skripts einbaut, die Netzwerkbefehle enthalten.
7.4.3 Router
Router mit eingebauter Moglichkeit zur Fernadministration sind leicht aufzuspuren. Somit sind sie ein Angrisziel, wenn Schwachen bekannt werden,
die sich in einer schlechten Standardkonguration oder Bugs in der Firmware
auern.
8 Social Engineering Aspekte von Google
Eine grundliche Google Suche kann nicht nur rein technische Aspekte uber
ein Angrisziel, meist eine Firma, zu Tage fordern. Oft sind Angrie, die
nur das Telefon als Wae benutzen die gefahrlichsten.
8.1 Suchen von E-Mail Adressen
Diverse Tools ermoglichen die Suche von E-Mail Adressen mit Google, obwohl die Suchmaschine das -Zeichen ignoriert. Regulare Ausdrucke spielen
dabei die Hauptrolle. Diese Tools sind mit der Grund, warum man in letzter
Zeit dazu ubergeht E-Mail Adressen, wo sie auch im Internet vorkommen, in
einer leicht abgeanderten Form zu notieren (etwa das -Zeichen ausgeschrieben wie at) Wahrscheinlich ist es nur eine Frage der Zeit, bis auch solche
Techniken von den Tools entlarvt werden konnen.
8.2 Durchsuchen des Usenet
Durch eine Suche in Google Groups kann der Schriftverkehr von Mitarbeitern verfolgt werden, Der Angreifer kann sich ein Bild uber die Aktivitaten
einer Person machen, sei es in der Freizeit (private Homepages) oder wahrend
der Arbeitszeit. Je mehr man uber Personen herausndet, desto mehr kennt
man deren Gewohnheiten, und kann so auf Arbeitsweisen, Passworter usw.
schlieen.
8.3 Helpdesksuchen
Helpdesks sollen Benutzern helfen, die ihre Passworter vergessen haben,
oder Probleme mit der Konguration ihrer Soft- oder Hardware haben. Eine
Google Abfrage nach "helpdeskn Kombination mit dem site: Operator liefert haug brauchbare Informationen fur Angreifer. Social Engineering zielt
12
manchmal darauf ab, dass ein Helpdeskmitarbeiter das Passwort auf einen
Standard zurucksetzt und so dem Angreifer die Tur onet.
8.4 Bedeutung des Linkgraphen
Links zwischen Websites sagen viel uber die Beziehungen von Firmen zueinander aus. Geschaftliche Beziehungen konnen mit Hilfe des link: Operators
naher beleuchtet werden. Der Linkgraph ist auch ein zentrales Thema beim
PageRank System von Google (siehe [Brin2000]), welches dazu eingesetzt
wird, um die Suchtreer zu sortieren, nach dem, was etwa dem menschlich
intuitiven Begri von Relevanz entspricht.
9 Schutz vor Google Hackern
Nach Studium des Materials aus den vorherigen Abschnitten hat sich fur
den Autor die personliche Meinung ergeben, dass die meisten Google Hacks
auf der Leichtsinnigkeit oder Unwissenheit der Anwender der betroenen
Computersysteme beruhen, bzw. auf der schlampigen Arbeit von eigentlich
geschulten Benutzern/Administratoren. Man kann die schlimmsten Konsequenzen relativ leicht abwenden, wenn man sich dauerhaft die folgenden
Regeln im Gedachtnis behalt. Spezialisten und Insider konnen ein System je
nach Wissensstand unter Umstanden mit oder ohne Google kompromittieren, ein hundertprozentiger Schutz kann aufgrund der Komplexitat aktueller
Softwaresysteme kaum erreicht werden.
9.1 Mitarbeiterschulungen und Unternehmensrichtlinien
Es ist allgemein bekannt, dass starke Passworter sowohl klein und
gro geschriebene Buchstaben, sowie Zahlen enthalten sollten und in
keinem Worterbuch vorkommen durfen. Des weiteren sollten sich alle
Passworter die von einem Benutzer verwendet werden unterscheiden.
Die Lange sollte mindestens 8 Zeichen betragen.
Daten, die nicht veroentlicht werden sollen, haben nichts auf einem
Webserver verloren. Auch wenn solche Daten nur kurz vom Internet
aus zugangig sind, besteht die Moglichkeit eines Webcrawler Besuchs
zu dieser Zeit, danach kann man die betreende URL nur noch manuell aus dem Google Cache loschen. Der Webserver sollte ein dedizierter
Rechner sein, abgeschottet von den anderen Rechnern im Firmennetz
werk. Ein Sicherheitsloch am Webserver darf keinen Ubergri
auf das
restliche Netzwerk ermoglichen.
Verhinderung von Social Engineering durch Schulung der Helpdeskmit-
arbeiter. Jene Mitarbeiter, die Benutzer oder Kunden beraten, durfen
keine Zugangsdaten an Personen verraten, welche sich nicht eindeutig
13
identiziert haben, etwa durch ein Kundenpasswort. Technische Details, die dazu dienen konnten, unbefugten Zugang zu erlangen, durfen
nicht weitergegeben werden.
9.2 Systemkonguration, Wartung und Pege
Aktuelle Patches installieren:
Neue Versionen von Software sind zwangslaug sicherer als uberholte. Je langer eine Version im Umlauf ist, desto bekannter sind ihre
Schwachstellen und desto groer die Wahrscheinlichkeit, dass schon
Tools existieren, die auch von technisch weniger versierten Personen
erfolgreich benutzt werden konnen. Patches betreen auch die Firmware von Netzwerkgeraten. Letztere sollten nie mit Defaultpasswortern
betrieben werden.
Backups von Daten auf dem Webserver sollten vom Webserver ausge-
lagert werden. So konnen Angreifer etwa nie an Quellcode von dynamisch erzeugten Seiten kommen.
Standardseiten, Manuals vom Webserver sollten geloscht werden, die
Fehlerseiten und andere mit dem Webserver ausgelieferten Defaultkongurationsdateien mussen angepat werden. Versionsnummer und
Revisionsnummern sollten uberall entfernt werden wo sie vorkommen
(etwa auf Fehlerseiten). Verzeichnislisten nur an Orten zulassen, wo
man es auch wirklich mochte, ansonsten in jedem Verzeichnis eine
Startseite anlegen (index.html, default.asp etc...). Um Webcrawler zu
informieren wo sie hindurfen legt man eine Datei namens robots.txt
im document-root Verzeichnis an (vgl. [Robots]).
9.3 "Google yourself!\
Ein guter Rat, um Google Hackern immer einen Schritt voraus zu sein.
Webhoster sollten zumindest einmal pro Woche nachsehen, was im Cache
von Google uber die eigene Website steht. Optimal dafur eignet sich der
site: Operator. Im Bedarfsfall muss eine Seite sofort vom Webserver geloscht
werden. Google erlaubt jedem, eine Seite aus dem Cache zu loschen, mit der
Bedingung, dass diese nicht mehr im Web existiert.
Literatur
[Brin2000] Sergey Brin and Lawrence Page, The Anatomy of a Large-Scale
Hypertextual Web Search
[CVE] Common Vulnerabilities and Exposures, http://www.cve.mitre.org
(24.1.2006)
14
[Google1] Google Inc., http://www.google.com (20.12.2005)
[Google2] Google
(20.12.2005)
Inc.,
http://www.google.com/help/operators.html
[Google3] Google Inc., http://labs.google.com/sets (20.12.2005)
[GHDB] Google
(20.12.2005)
hacking
database,
http://johnny.ihackstu.com
[Irvine2003] Cynthia E. Irvine, Michael Thompson, Teaching Objectives of
a Simulation Game for Computer Security
[Long2004] Johnny Long, Google Hacking, 2004
[Long2005] Johnny Long, Google Hacking for Penetration Testers, 2005
[Prem2000] Premkumar T. Devanbu, Stuart Stubblebine, Software Engineering for Security: a Roadmap
[OWAST] Open Web Application Security Projekt, http://www.owasp.org
(24.1.2006)
[Robots] The Web Robots Pages http://www.robotstxt.org/wc/robots.html
(24.1.2006)
15