Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Der Artikel wurde in der Ausgabe 4/2005 des Magazins hakin9 publieziert.
Alle Rechte vorbehalten. Kostenlose Vervielfältigung und Verbreiten des Artikles ist unvaränderter Form gestattet.
Das hakin9 Magazin, Wydawnictwo Software, ul. Piaskowa 3, 01-067 Warschau, Polen de@hakin9.org
Gefährliches Google
– Suche nach sensiblen
Daten
Michał Piotrowski
G
oogle beantwortet ca. 80% aller An-
fragen im Netz, und ist damit die am In diesem Artikel
häufigsten und am liebsten verwen- erfahren Sie...
dete Suchmaschine. Es verdankt dies nicht
nur dem außergewöhnlich effektiven Suchal- • wie man mit Hilfe von Google nach Datenban-
gorithmus, sondern auch den sehr komplexen ken mit personenbezogenen Informationen und
nach anderen sensiblen Daten sucht,
Möglichkeiten der Anfragenstellung. Wir sollten
• wie man Informationen über angriffsanfällige
jedoch nicht vergessen, dass das Internet ein
Systeme und Web Dienste erhält,
sehr dynamisches Medium ist, weshalb die,
• wie man mit Google öffentlich zugängliche
durch Google gelieferten, Ergebnisse nicht im- Netzgeräte findet.
mer aktuell sind. Es kommt vor, dass manche
gefundenen Webseiten sehr veraltet sind, und
Was Sie vorher wissen/können
gleichzeitig viele ähnliche durch den Goog-
lebot nicht besucht wurden (Script-Automat,
sollten...
der die WWW-Ressourcen durchkämmt und • wie man einen Internet-Browser benutzt,
indexiert). • man sollte Grundwissen über das HTTP-Proto-
Die wichtigsten und gebräuchlichsten koll besitzen.
Grundlagen
site beschränkt die Ergebnisse auf die site:google.com fox findet alle Seiten aus der Domain
Seiten, die sich in einer bestimmten *.google.com, die in ihrem Text das Wort fox enthalten
Domain befinden
intitle beschränkt die Ergebnisse auf die intitle:fox fire findet Seiten, die das Wort fox im Titel
Dokumente, die die im Titel gegebe- und fire im Text enthalten
ne Phrase enthalten
allintitle beschränkt die Ergebnisse auf die allintitle:fox fire findet alle Seiten, die die Wörter
Dokumente, die alle im Titel gegebe- fox und fire im Titel enthalten; funktioniert ähnlich wie
nen Phrasen enthalten intitle:fox intitle:fire
inurl beschränkt die Ergebnisse auf die inurl:fox fire findet Seiten, die das Wort fire im Text
Seiten, die die in der URL-Adresse und fox in der URL-Adresse enthalten
gegebene Phrase enthalten
allinurl beschränkt die Ergebnisse auf die allinurl:fox firefindet Seiten, die die Wörter fox und
Seiten, die alle in der URL-Adresse fire in der URL-Adresse enthalten; funktioniert ähnlich
gegebenen Phrasen enthalten wie inurl:fox inurl:fire
filetype, ext beschränkt die Ergebnisse auf die liefert die das Wort fire enthaltenden
filetype:pdf fire
Dokumente vom gewünschten Typ PDF-Dokumente, filetype:xls fox liefert die das Wort
fox enthaltenden Excel-Dokumente
numrange beschränkt die Ergebnisse auf die numrange:1-100 fireliefert Seiten, die eine Zahl aus dem
Dokumente, die eine Zahl aus dem Bereich 1 bis 100 und das Wort fire enthalten. Dassel-
gegebenen Zahlenbereich in ihrem be Ergebnis erreicht man mit der Anfrage: 1..100 fire
Content enthalten
link beschränkt die Ergebnisse auf die link:www.google.de liefert Dokumente, die mindestens
Seiten, die die Links zur gegebenen einen Link zur Seite www.google.de enthalten
Lokalisierung enthalten
inanchor beschränkt die Ergebnisse auf die inanchor:fire liefert Dokumente, die die Links mit dem
Seiten mit den Links, die die in der Wort fire in der Beschreibung (nicht in der URL-Adres-
Beschreibung gegebene Phrase se, auf die sie hinweisen, sondern in dem unterstriche-
enthalten nen Teil des Textes) enthalten
allintext beschränkt die Ergebnisse auf die allintext:"fire fox" liefertDokumente, die die Phrase
Dokumente, die die im Text gegebe- fire fox nur im Text enthalten
ne Phrase enthalten und gleichzeitig
diese Phrase im Titel, den Links und
den URL-Adressen nicht enthalten
+ erzwingt das häufige Auftreten der +fireordnet die Ergebnisse nach der Anzahl des Auftre-
gegebenen Phrase in den Ergeb- tens vom Wort fire
nissen
- erzwingt das Nichtauftreten der ge- -fireliefert Dokumente, die das Wort fire nicht enthal-
gebenen Phrase in den Ergebnissen ten, zurück
"" erlaubt die Suche nach den ganzen "fire fox" liefert Dokumente, die die Phrase fire fox
Phrasen, nicht nur nach Wörtern enthalten
. wird mit einem einzelnen Zeichen fire.foxliefert Dokumente, die die Phrasen fire fox,
ersetzt fireAfox, fire1fox, fire-fox etc. enthalten
* wird mit einem einzelnen Wort fire * fox liefert Dokumente, die die Phrasen fire the
ersetzt fox, fire in fox, fire or fox etc. enthalten
| logisches OR liefert Dokumente, die die Phrase
"fire fox" | firefox
fire fox oder das Wort firefox enthalten
enthält Tabelle 2.
Andere Methode zum Finden der wurde. Dies sind oft schwach gesi- verschiedenen Netzservern oder
konkreten Version der WWW-Ser- cherte, vergessene Geräte, die ein Betriebssystemen, die die Applika-
ver: man kann nach Standardseiten einfaches Ziel für die Einbrecher dar- tionen verwenden, in denen Fehler
suchen, die mit ihnen geliefert und stellen. Man kann sie finden, indem gefunden und von faulen Adminis-
nach der erfolgreichen Konfigura- man die in der Tabelle 3 aufgelisteten tratoren nicht beseitigt wurden. Als
tion zugänglich gemacht werden. Anfragen anwendet. Beispiel nehmen wir zwei ziemlich
Es mag seltsam erscheinen, aber Diese Methode ist sehr einfach populäre Programme: WebJeff File-
im Netz befindet sich eine Menge und gleichzeitig nützlich. Mit ihrer manager und Advanced Guestbook.
von Servern, deren Default-Inhalt Hilfe bekommt man den Zugang Das erste Programm ist ein
nach der Installation nicht geändert zu einer immensen Anzahl von webbasierter Dateimanager, der
Suchanfrage Server
"Apache/1.3.28 Server at" intitle:index.of Apache 1.3.28S
"Apache/2.0 Server at" intitle:index.of Apache 2.0
"Apache/* Server at" intitle:index.of beliebige Version von Apache
"Microsoft-IIS/4.0 Server at" intitle:index.of Microsoft Internet Information Services 4.0
"Microsoft-IIS/5.0 Server at" intitle:index.of Microsoft Internet Information Services 5.0
"Microsoft-IIS/6.0 Server at" intitle:index.of Microsoft Internet Information Services 6.0
"Microsoft-IIS/* Server at" intitle:index.of beliebige Version von Microsoft Internet Information
Services
"Oracle HTTP Server/* Server at" intitle:index.of beliebige Version eines Oracle-Servers
"IBM _ HTTP _ Server/* * Server at" intitle:index.of beliebige Version eines IBM Servers
"Netscape/* Server at" intitle:index.of beliebige Version eines Netscape-Servers
"Red Hat Secure/*" intitle:index.of beliebige Version eines Red Hat Secure-Servers
"HP Apache-based Web Server/*" intitle:index.of beliebige Version eines HP-Servers
Abfrage Server
intitle:"Test Page for Apache Installation" "You are Apache 1.2.6
free"
intitle:"Test Page for Apache Installation" "It wor- Apache 1.3.0–1.3.9
ked!" "this Web site!"
intitle:"Test Page for Apache Installation" "Seeing Apache 1.3.11–1.3.33, 2.0
this instead"
intitle:"Test Page for the SSL/TLS-aware Apache In- Apache SSL/TLS
stallation" "Hey, it worked!"
intitle:"Test Page for the Apache Web Server on Red Apache im Red Hat-System
Hat Linux"
intitle:"Test Page for the Apache Http Server on Fe- Apache im Fedora-System
dora Core"
intitle:"Welcome to Your New Home Page!" Debian Apache im Debian-System
intitle:"Welcome to IIS 4.0!" IIS 4.0
intitle:"Welcome to Windows 2000 Internet Services" IIS 5.0
intitle:"Welcome to Windows XP Server Internet Ser- IIS 6.0
vices"
das Hochladen der Dateien an den dung 3). Selbstverständlich nutzt der fe mit PHP und MySQL in hakin9
Server und das Erstellen, Anzeigen, Angreifer die Google-Suchmaschine 3/2005) ermöglicht den Zugang
Löschen und Modifizieren der sich um den anfälligen Server zu finden, zum Administrationspaneel. Es
auf dem Server befindenden Dateien indem er die Abfrage: "WebJeff-File- reicht die Login-Seite vom Paneel
ermöglicht. Leider enthält WebJeff manager 1.6" Login stellt. zu finden (siehe Abbildung 4) und
Filemanager in der Version 1.6 ei- Die zweite Applikation – Ad- sich da einzulogen, wobei man das
nen Fehler, der das Ablesen jeder vanced Guestbook – ist ein in PHP Feld username leer lässt und im Feld
beliebigen Datei aus dem Server, geschriebenes Programm, das die password ') OR ('a' = 'a eintippt
zu welchem die den WWW-Dämon SQL-Datenbank benutzt, mit derer oder umgekehrt – man lässt das Feld
startenden Benutzer den Zugang be- Hilfe man die Gästebücher in die password leer und schreibt im Feld
sitzen, möglich macht. Es reicht also, WWW-Services hinzufügen kann. username schreibt ? or 1=1 – hinein.
dass der Eindringling im anfälligen In April 2004 wurde eine Information Unser Angreifer kann an Google ei-
System die Adresse /index.php3?acti über eine Lücke in der Version 2.2 ne der folgenden Anfragen stellen,
on=telecharger&fichier=/etc/passwd von diesem Programm veröffentlicht. um anfällige Schaufenster im Netz
eintippt und den Inhalt der Datei Diese Lücke (dank des SQL-Codes zu finden: intitle:Guestbook "Ad-
/etc/passwd bekommt (siehe Abbil- – siehe Artikel SQL Injection Angrif- vanced Guestbook 2.2 Powered" oder
Informationen über
Netze und Systeme
Fast jeder Angriff auf ein Rechner-
system wird durch eine Zielklärung
eingeleitet. Gewöhnlich beruht das
darauf, dass die Rechner gescannt
werden – es wird versucht die
funktionierenden Dienste, den Typ
vom Betriebssystem und die Ver-
sion der Provisioning-Software zu
bestimmen. Am häufigsten werden
zu diesem Zweck Scanner vom Typ
Nmap oder amap verwendet, aber
es existiert noch eine andere Option.
Viele Administratoren installieren
Abbildung 4. Advanced Guestbook – Login-Seite WWW-Applikationen, die kontinu-
ierlich Statistiken über die System-
arbeit erstellen, über die Belegung
der Festplatte informieren, die Listen
mit den gestarteten Prozessen oder
sogar System-Logfiles enthalten.
Für einen Einbrecher sind das
sehr wertvolle Informationen. Es
reicht, dass er Google nach Statis-
tiken des phpSystem–Programms
fragt: "Generated by phpSystem",
so bekommt er Seiten, die zur auf
Abbildung 5 dargestellten Seite ähn-
lich sind. Man kann auch nach den
Grundlagen
Wir suchen
nach Fehlern
Die HTTP-Fehler-Meldungen kön-
nen für einen Einbrecher äußerst
wertvoll sein – gerade aus diesen In-
formationen kann man eine Vielzahl
von Daten bezüglich des Systems
sowie bezüglich der Konfiguration Abbildung 6. Statistiken über Sysinfo
und des Aufbaus der Datenbanken
gewinnen. Zum Beispiel, um durch
die Informix-Datenbank generierte
Fehler zu finden, reicht es an die
Suchmaschine die folgende Anfrage
zu stellen: "A syntax error has oc-
curred" filetype:ihtml. Im Resultat
findet der Einbrecher die Meldun-
gen, die die Informationen über die
Konfiguration der Datenbanken,
Dateistruktur im System und manch-
mal auch die Passwörter (siehe
Abbildung 7), enthalten. Um die Su-
Abbildung 7. Verwendung von Fehlern der Informix-Datenbanken
chergebnisse auf die Seiten mit den
Passwörtern einzuschränken, kann
man die Anfrage "A syntax error has
occurred" filetype:ihtml intext:LO-
GIN ein wenig modifizieren.
Ebenso interessante Informa-
tionen kann man aus den Fehlern
der MySQL-Datenbanken gewin-
nen. Man sieht das am Beispiel
der Anfrage "Access denied for
user" "Using password" – Abbildung
8 stellt eine der auf diese Weise
gefundenen Seiten dar. Andere Bei-
spiele für die Anfragen, die solche
Fehler ausnutzen, befinden sich in
Tabelle 5.
Die einzelne Methode zum
Schutz unserer Systeme vor der
Veröffentlichung der Fehler ist vor
allem die schnelle Beseitigung von
Anomalien. Weiterhin ist es sehr Abbildung 8. Fehler der MySQL-Datenbank
Anfrage Informationstyp
gut, wenn wir über Möglichkeiten le-Suchmaschine gespeichert wird. hauptsächlich aus der Unwissen-
verfügen, das Konfigurieren der Es reicht, dass er auf der Liste heit der Benutzer, die unbewusst
Software auf solche Weise, dass der Suchergebnisse einen Link ihre Kennwörter in den öffentlich
die Informationen über Fehler in den zur Schaufensterkopie anklickt. zugänglichen Stellen anlegen oder
speziell dafür bestimmtem Dateien Zum Glück werden, aufgrund der auch aus der Nachlässigkeit der
Grundlagen
gespeichert und nicht an die für die immensen Anzahl an Internet-Res- Software-Hersteller, die entweder
Benutzer zugänglichen Seiten ge- sourcen, die Kopien der Webseiten die Benutzerdaten nicht angemes-
schickt werden. nur für kurze Zeit im Google-Cache sen bewahren oder die Nutzer nicht
Wir sollten nicht vergessen, gehalten. darüber informieren, dass die Stan-
dass selbst wenn wir die Fehler dardkonfiguration ihrer Produkte
ziemlich schnell beseitigen (und da- Wir suchen nach modifiziert werden muss.
mit erreichen, dass die via Google Passwörtern Betrachten wir das Beispiel von
gezeigten Seiten nicht mehr aktuell Im Netz kann man eine Vielzahl von WS_FTP – vom gut bekannten
sind), sich der Eindringling dennoch Passwörtern zu Ressourcen aller Art und allgemein verwendeten FTP-
eine Kopie der Webseite ansehen finden – E-Mail-Konten, FTP-Server Client, der ähnlich zu den meisten
kann, die in dem Cache der Goog- oder sogar Shell-Konten. Dies folgt Provisioning-Softwares das Mer-
Anfrage Resultat
"A syntax error has occurred" Fehler der Informix-Datenbank – sie können Funktionsnamen, Dateinamen, In-
filetype:ihtml formationen über die Dateistruktur, Fragmente des SQL-Codes und Passwörter
enthalten
"Access denied for user" Fehler bei Autorisierung – sie können Benutzernamen, Funktionsnamen, Infor-
"Using password" mationen über die Dateistruktur und Fragmente des SQL-Codes enthalten
"The script whose uid is " "is PHP-Fehler, die mit der Zugangskontrolle verbunden sind – sie können Dateina-
not allowed to access" men, Funktionsnamen, Informationen über die Dateistruktur enthalten
"ORA-00921: unexpected end of Fehler der Oracle-Datenbank – sie können Dateinamen, Funktionsnamen und
SQL command" Informationen über die Dateistruktur enthalten
"error found handling the re- Fehler des Cocoon-Programms – sie können die Versionsnummer von Cocoon,
quest" cocoon filetype:xml Dateinamen, Funktionsnamen und Informationen über die Dateistruktur enthalten
"Invision Power Board Database Fehler des Invision Power Board – Diskussionsforums – sie können Funkti-
Error" onsnamen, Dateinamen, Informationen über die Dateistruktur im System und
Fragmente des SQL-Codes enthalten
"Warning: mysql _ query()" "in- Fehler der MySQL-Datenbank – sie können Benutzernamen, Funktionsnamen,
valid query" Dateinamen und Informationen über die Dateistruktur enthalten
"Error Message : Error loading Fehler des CGI-Scripts – sie können Informationen über den Typ des Betriebs-
required libraries." systems und der Software-Version, Benutzernamen, Dateinamen und Informatio-
nen über die Dateistruktur im System enthalten
"#mysql dump" filetype:sql Fehler der MySQL-Datenbank – sie können Informationen über die Struktur und
den Inhalt der Datenbank enthalten
Anfrage Resultat
"http://*:*@www" site Passwörter zur Seite site, geschrieben in der Form:
http://username:password@www...
filetype:bak inurl:"htaccess|passwd|shadow|htus Backups der Dateien, die Informationen über Benutzernamen
ers" und Passwörter enthalten können
filetype:mdb inurl:"account|users|admin|administ Dateien vom Typ mdb, die Informationen über Passwörter
rators|passwd|password" enthalten können
intitle:"Index of" pwd.db pwd.db – Dateien können Benutzernamen und verschlüsselte
Passwörter enthalten
inurl:admin inurl:backup intitle:index.of Verzeichnisse, die in ihrem Namen die Wörter admin und back-
up enthalten können
"Index of/" "Parent Directory" "WS _ FTP.ini" Konfigurationsdateien des WS_FTP-Programms, die Passwör-
filetype:ini WS _ FTP PWD ter zu den FTP-Servern enthalten können
ext:pwd inurl:(service|authors|administrators|us Dateien, die Passwörter des Microsoft FrontPage
ers) "# -FrontPage-" – Programms enthalten
filetype:sql ("passwd values ****" | "password Dateien, die SQL-Code und in Datenbanken enthaltene Pass-
values ****" | "pass values ****" ) wörter enthalten
intitle:index.of trillian.ini Konfigurationsdateien des Trillian-Messengers
eggdrop filetype:user user Konfigurationsdateien von Eggdrop-IRCbot
filetype:conf slapd.conf Konfigurationsdateien der OpenLDAP-Applikation
inurl:"wvdial.conf" intext:"password" Konfigurationsdateien des WV Dial-Programms
ext:ini eudora.ini Konfigurationsdateien des Eudora-Mailprogramms
filetype:mdb inurl:users.mdb Microsoft Access-Dateien, die Informationen über die Konten
enthalten können
intext:"powered by Web Wiz Journal" WWW-Dienste, die die Web Wiz Journal-Applikation benutzen,
die in der Standardkonfiguration das Herunterladen der Datei
mit dem Passwort ermöglichen; anstelle der Default-Adresse
http://<host>/journal/ schreibt man http://<host>/journal/
journal.mdb hinein
"Powered by DUclassified" -site:duware.com WWW-Dienste, die die Applikationen DUclassified, DUcalen-
"Powered by DUcalendar" -site:duware.com dar, DUdirectory, DUclassmate, DUdownload, DUpaypal, DUfo-
"Powered by DUdirectory" -site:duware.com rum oder DUpics verwenden, die in der Standardkonfiguration
"Powered by DUclassmate" -site:duware.com das Herunterladen der Datei mit dem Passwort ermöglichen;
"Powered by DUdownload" -site:duware.com anstelle der Default-Adresse (für DUclassified) http://<host>/
"Powered by DUpaypal" -site:duware.com duClassified/ schreibt man http://<host>/duClassified/_private/
"Powered by DUforum" -site:duware.com duclassified.mdb hinein
intitle:dupics inurl:(add.asp | default.asp |
view.asp | voting.asp) -site:duware.com
intext:"BiTBOARD v2.0" "BiTSHiFTERS Bulletin WWW-Dienste, die die Bitboard2–Applikation verwenden, die
Board" in der Standardkonfiguration das Herunterladen der Datei mit
dem Passwort ermöglicht; anstelle der Default-Adresse http://
Grundlagen
FTP PWD bekommt er eine Vielzahl zufügen und die Verwaltung der verzeichnis befindet. Es reicht nun
von Links zu für ihn interessanten Werbungen in Internet-Services einen DUclassifield verwendenden
Daten, die wir ihm selbst aufgrund ermöglicht. In der Standardkonfigu- Dienst mit der Adresse z.B. http://
unserer Unwissenheit in die Hände ration dieses Programms werden <host>/duClassified/ zu finden und
legen (Abbildung 9). Benutzernamen, Passwörter und an- sie auf http://<host>/duClassified/
Ein anderes Beispiel ist eine dere Daten in der duclassified.mdb _private/duclassified.mdb zu ändern,
webbasierte Applikation mit dem gelagert – in einer Datei, die sich im um die Dateien mit den Passwörtern
Namen DUclassified, die das Hin- nicht geschützten _private – Unter- zu erhalten und damit einen unbe-
die alle Kalkulationsbögen mit dem sogar Beschreibungen des Krank- Phrase Not for distribution oder
Namen email.xls wiederfindet. heitsverlaufs. ähnliche enthalten (siehe Abbil-
Ähnlich sieht die Situation mit Im Netz kann man auch Doku- dung 12). Tabelle 7 enthält ein paar
den Instant Messengern und den mente finden, die mit einer Geheim- Beispiele von Anfragen nach Do-
in ihnen gespeicherten Kontaktlis- haltungsklausel versehen wurden, kumenten, die personenbezogene
ten aus – nachdem ein Einbrecher also geschützte Informationen ent- Daten oder sensible Informationen
so eine Aufstellung erreicht hat, halten. Dies können Projektpläne, enthalten können.
kann er versuchen, sich als einer technische Dokumentationen, ver- Ähnlich wie im Falle der Pass-
unserer Freunde auszugeben. Was schiedene Fragebögen, Berichte, wörter, um die Bekanntmachung
interessant ist, man kann ziemlich Präsentationen und viele andere unserer privaten Informationen zu
viele solcher Informationen in Amts- Dokumente eines Unternehmens verhindern, können wir ausschließ-
Abfrage Resultat
filetype:xls inurl:"email.xls" email.xls-Dateien, die die Daten mit Telefonnummern
und Adressen enthalten können
"phone * * *" "address *" "e-mail" intitle:"curriculum CV-Dokumente
vitae"
"not for distribution" confidential mit der confidential-Klausel versehene Dokumente
buddylist.blt Kontaktliste des AIM-Messengers
intitle:index.of mystuff.xml Kontaktliste des Trillian-Messengers
filetype:ctt "msn" Kontaktliste des MSN-Messengers
filetype:QDF QDF Datenbank des Finanzprogramms Quicken
intitle:index.of finances.xls finances.xls-Dateien, die Informationen über Bank-
konten, Finanzaufstellungen und Kreditkartennummer
enthalten können
intitle:"Index Of" -inurl:maillog maillog size maillog-Dateien, die E-Mails enthalten können
"Network Vulnerability Assessment Report" Berichte über die Untersuchung der Netzsicherheit,
"Host Vulnerability Summary Report" Penetrationstesten etc.
filetype:pdf "Assessment Report"
"This file was generated by Nessus"
Anfrage Gerät