Eine kurze Einleitung zu Google Web Indexing
Google nutzt den sogenannten Prozess „Crawling“ (oder „Fetching“), um neue oder aktualisierte Seiten zu indizieren. Das Crawling-Programm wird Googlebot genannt (auch bekannt als Robot, Bot oder Spider). Der Googlebot verwendet einen algorithmischen Prozess: Computerprogramme bestimmen, welche Webseiten wie oft gecrawlt und wie viele Seiten von jeder Webseite abgerufen werden sollen. Der Googlebot verwendet zwei Arten von Crawling:
Deep Crawl – Wenn der Googlebot eine Seite abruft, werden alle auf der Seite angezeigten Links aussortiert und einer Warteschlange für das anschließende Crawlen hinzugefügt. Durch das Sammeln von Links von jeder gefundenen Seite kann der Googlebot schnell eine Liste von Links erstellen, die weite Bereiche des Webs abdecken. Aufgrund ihres enormen Umfangs können Deep Crawls fast jede Seite im Web erreichen. Da das Web sehr groß ist, kann dies einige Zeit dauern, sodass einige Seiten möglicherweise nur einmal im Monat gecrawlt werden.
Fresh Crawl – um den Index aktuell zu halten, scannt Google beliebte und sich häufig ändernde Webseiten kontinuierlich mit einer Rate, die ungefähr proportional zu der Häufigkeit der Seitenwechsel ist. Zeitungsseiten werden täglich heruntergeladen, Seiten mit Börsenkursen werden viel häufiger heruntergeladen. Natürlich geben Fresh Crawls weniger Seiten zurück als Deep Crawls.
Google Hacking: Was ist gemeint?
Mit Google Hacking ist die Technik, mit der die Suchmaschine von Google verwendet wird gemeint, um ungeschützte, anfällige oder sensible Daten zu finden. Um die Suchergebnisse zu verfeinern, können wir erweiterte Suchoptionen und spezielle Suchzeichen verwenden. Fortgeschrittene verwenden die Syntax folgendermaßen:
operator:search_term
Operator | Purpose | Mixes with other Operators? | Can be used alone? |
intitle | Search page title | yes | yes |
allintitle | Search page title | yes | yes |
inurl | Search URL | yes | yes |
allinurl | Search URL | no | yes |
filetype | Search specific files | yes | no |
allintext | Search text of page only | yes | yes |
site | Search specific site | yes | yes |
link | Search for links to pages | no | yes |
inanchor | Search links anchor text | yes | yes |
numrange | Search numbers within a desired range. | yes | yes |
daterange | Search in date range | yes | no |
Character | Purpose |
+ | forced inclusion of something common |
- | exclude a search term |
“ ” | use quotes around search phrases |
. | a single wildcard |
* | any word |
| | Boolean ‘OR’ |
(“master card” | mastercard) | Parenthesis group queries |
Beispiele
Hier ein paar Beispiele, was mit Hilfe von Google gefunden werden kann:
Verzeichniseinträge
Verzeichniseinträge bieten eine Liste von Dateien und Verzeichnissen in einem Browserfenster anstelle der typischen Text- und Grafikmischung, die im Allgemeinen mit Webseiten verbunden ist. Verzeichnislisten werden oft absichtlich auf Webservern platziert, um Besuchern das Durchsuchen und Herunterladen von Dateien zu ermöglichen. Häufig sind Verzeichniseinträge jedoch nicht beabsichtigt und es besteht eine gute Chance, dass in einem Verzeichniseintrag etwas Interessantes zu finden ist. Query:
intitle:index.of
Eine einfache Abfrage, die eine große Anzahl falsch-positiver Ergebnisse zurückgibt Aber diese Abfragen geben noch einige interessantere Dinge zurück:
intitle:index.of "parent directory"
oder:
intitle:index.of name size
Web Server Erkennung
Security Tester können diese Informationen verwenden, um die Version des Webservers zu ermitteln oder Google nach anfälligen Zielen zu durchsuchen. Außerdem deutet dies darauf hin, dass der Webserver nicht gut gewartet ist.
Query:
intitle:index.of server.at
Diese Abfrage konzentriert sich auf die Begriffe „index of“ im Titel und „server at“ am Ende der Verzeichnisliste.
intitle:index.of "Apache/2.4.7 Server at"
Diese Abfrage findet Server mit aktivierten Verzeichnislisten, auf denen Apache Version 2.4.7 ausgeführt wird.
Dateien mit Benutzernamen und / oder Passwörtern
Ja, es ist möglich Logins und Passwörter zu finden, die noch funktionieren!
Query:
xamppdirpasswd.txt filetype:txt
Gibt Passwörter für den XAMPP Server wieder.
Query:
site:github.cominurl:sftp-config.json
FTP login/password credentials on github
Query:
filetype:passwordjmxremote
Passwörter für Java Management Extensions (JMX Remote) genutzt von jconsole.
Passwords for Java Management Extensions (JMX Remote) used by jconsoleQuery:
“# Dumping data for table” (user | username | pass | password)
Sensitive Directories
Query:
inurl:8080 intitle:"Dashboard [Jenkins]"
Zugriff auf das Jenkins-Dashboard. Am Anfang ist es nicht viel, aber wenn Sie weitermachen, werden Sie vielleicht noch interessantere Dinge finden.
Beispiel Screen:
Query:
“.git" intitle:"Index of"
Zeigt den Zugang zu öffentlichen .git Directories.
Verschiedenste Online-Geräte
Query:
“inurl:system_device.xml”
Dies zeigt die öffentliche Statusseite für den Konica Minolta-Drucker an.
Bisher nichts Außergewöhnliches, allerdings können wir von dieser Seite aus zum Administratorkonto wechseln.
Aber es braucht noch ein Passwort. Auf der vorherigen Seite können wir ein bestimmtes Druckermodell sehen, vielleicht funktioniert die Standardeinstellung? Fragen wir Google. Dafür brauchen wir keine ausgeklügelte Abfrage und das Ergebnis ist:
Ok, wir versuchen es einfach!
… und es hat funktioniert!
Wie kann gesichert werden?
Deaktivieren Sie das Durchsuchen von Verzeichnissen auf dem Webserver. Das Durchsuchen von Verzeichnissen sollte für die Webordner aktiviert sein, für die Sie jedem im Internet Zugriff gewähren möchten.
Legen Sie keine kritischen und sensiblen Informationen auf Servern ab, auf das jeder im Internet direkt zugreifen kann, ohne ein geeignetes Authentifizierungssystem.
Installieren Sie die neuesten Sicherheitspatches, die bis heute für die Anwendungen und das auf den Servern ausgeführte Betriebssystem verfügbar sind.
Deaktivieren Sie den anonymen Zugriff im Webserver über das Internet auf das eingeschränkte Systemverzeichnis.
Wenn Sie in den Google-Suchergebnissen Links zu Ihren eingeschränkten Servern oder Webseiten finden, sollten diese entfernt werden.
Deaktivieren Sie den anonymen Zugriff im Webserver über das Internet auf das eingeschränkte Systemverzeichnis.
Google hat auch einige Schritte unternommen, um verdächtige Suchen nach Daten zu überwachen ;)
Zusammenfassung
Google-Hacking kann ein sehr nützliches Tool bei Penetrationstests sein. Tools wie Metasploit und Nmap verfügen jetzt über automatisierte Skripte, die Google nach nützlichen Informationen zu einer bestimmten Seite oder Organisation durchsuchen. Auch bei Social-Engineering-Angriffen und der Durchführung von Phishing findet Google-Hacking hervorragende Anwendung. Obwohl das Hacken der Google-Suche eine alte Technik ist, ist sie bis heute wirksam. Wieso? Weil falsch konfigurierte Server, verschiedene Online-Geräte, anfällige Webseiten jeden Tag im gesamten Internet auftauchen und Google alles überwacht.
Mehr darüber finden Sie hier: https://www.exploit-db.com/google-hacking-database