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