Skip to content

Google Hacking: Verzeichnislisten und Intranets

Bei einem Penetration Test geht es vereinfacht darum, alle "Schwachstellen" eines bestimmten "Systems" zu finden. Das System kann eine einzelne Webanwendung sein, sämtliche Websites eines Unternehmens mit mehreren Webanwendungen, oder auch das Unternehmen oder allgemein eine Organisation an sich. Und je nach Ziel ändern sich auch die möglichen Schwachstellen bzw. Angriffspunkte. Bei einer Webanwendung kann man i.A. mit Social Engineering wenig anfangen, während man damit bei einem Unternehmen bzw. genauer den dort beschäftigten Menschen oft weiter kommt als mit "technischen" Angriffen auf die Website des Unternehmens. Und dann ist da noch Google, bzw. genauer das Google Hacking. Darüber erfährt man meist mehr über das Unternehmen, als das eigentlich im Web preis geben will.

Verzeichnislisten sind interessant

Verzeichnislisten bzw. genauer die darin aufgelisteten Dateien, enthalten eine Menge interessanter Informationen. Finden kann man sie z.B. mit den Suchanfragen

intitle:index.of name size
intitle:index.of "parent directory"

Und da i.A. nur eine bestimmte Website von Interesse ist, wird die in jeder Suchanfrage mit angegeben:

site:ziel.example

Um bestimmte Verzeichnisse zu finden, kann die Suche weiter eingegrenzt werden. Um z.B. nur nach Verzeichnislisten zu suchen, die das Wort backup im URL enthalten, wird

inurl:backup

zur Suchanfrage hinzugefügt. Interessant sich z.B. auch Verzeichnisse mit dem Worten assets oder data im URL. Vielleicht enthalten die ja nicht verlinkte Dateien, die eigentlich (noch) nicht zur Veröffentlichung vorgesehen sind? Eine komplette Suchanfrage könnte dann so aussehen:

site:ziel.example inurl:data intitle:index.of name size

Sind bestimmte Dateien von besonderem Interesse, kann deren Name gleich mit an die Suchanfrage angehängt werden, z.B. bericht:

site:ziel.example inurl:data intitle:index.of bericht

Server, wer bist Du?

Verzeichnislisten verraten nicht nur, welche Dateien sich im Verzeichnis befinden. In manchen Fällen, insbesondere bei Apache-Webservern und deren Abkömmlingen, verraten sie durch die Server-Tags in den Verzeichnislisten auch den Webserver. Um z.B. nach Apache-Servern der Version 2.4.1 zu suchen, verwendet man die Suchanfrage

intitle:index.of server.at "Apache/2.4.1"

Einmal durchzählen, bitte!

Hat man ein Verzeichnis gefunden, kann man von diesem ausgehend auf das übergeordnete Verzeichnis und die Unterverzeichnisse zugreifen. Enthält das übergeordneten Verzeichnis keine Verzeichnisliste, kann man oft mögliche weitere Verzeichnisnamen raten und an den URL des übergeordneten Verzeichnisses anhängen. Oder man nutzt Google:

site:ziel.example inurl:/Pfad/zum/übergeordneten/Verzeichnis/

Ansonsten kann man z.B. durch Substitution weitere Verzeichnisse finden. Wurde das Verzeichnis

/Pfad/zum/Verzeichnis/Berichte2011

gefunden, gibt es vielleicht auch die Verzeichnisse

/Pfad/zum/Verzeichnis/Berichte2010
/Pfad/zum/Verzeichnis/Berichte2012

etc., und entsprechend kann man auch bei Dateien vorgehen: Gibt es die Datei

/Pfad/zum/Verzeichnis/Projektbericht123-1.pdf

kann man es ja mal mit

/Pfad/zum/Verzeichnis/Projektbericht123-0.pdf
/Pfad/zum/Verzeichnis/Projektbericht123-2.pdf
/Pfad/zum/Verzeichnis/Projektbericht122-1.pdf
/Pfad/zum/Verzeichnis/Projektbericht124-1.pdf

versuchen. Auch Dateiextensions kann man variieren, um z.B. Backups zu finden. Dazu wird dann z.B. .php durch .bak oder .php.bak ersetzt.

Gibt es im gefundenen Verzeichnis z.B. das Unterverzeichnis Backup/, in dem es keine Verzeichnisliste gibt, kann man für alle im Verzeichnis vorhandenen Dateien nach möglichen Entsprechungen suchen:

/Pfad/zum/Verzeichnis/Backup/[Dateiname1].ext
/Pfad/zum/Verzeichnis/Backup/[Dateiname1].bak
/Pfad/zum/Verzeichnis/Backup/[Dateiname1].ext.bak
/Pfad/zum/Verzeichnis/Backup/[Dateiname2].ext
/Pfad/zum/Verzeichnis/Backup/[Dateiname2].bak
/Pfad/zum/Verzeichnis/Backup/[Dateiname2].ext.bak

usw..

Vom Internet ins Intranet

Interessante Informationen über ein Unternehmen findet man nicht nur im Internet, sondern vor allem im lokalen Netz des Unternehmens, dessen Intranet. Aber vielleicht gibt es ja eine Verbindung zwischen Internet und Intranet? Suchen wir doch mal bei Google, erst mal ganz allgemein:

inurl:intranet intitle:intranet

Das ergibt ca. 2,8 Millionen Fundstellen. Einen Teil davon kann man sofort ignorieren, da es Texte über Intranets sind, ganz oben steht z.B. der Wikipedia-Eintrag zum Thema. Ein weiterer Teil besteht aus absichtlich erreichbaren Startseiten, über die sich befugte Benutzer im jeweiligen Intranet anmelden können. Aber auch eigentlich nicht für die Öffentlichkeit bestimmte Informationen lassen sich finden. Man muss sie in der Menge nur erst finden. Beim Penetration Test ist das leicht, da die Suche auf site:ziel.example eingeschränkt werden kann. Ansonsten hilft es, weitere Parameter zur Suche hinzuzufügen. Wie wäre es mit der Suche nach der Personalabteilung englischsprachiger Unternehmen? Der Suchbegriff lautet dann "human resources", und der muss im Text vorkommen:

inurl:intranet intitle:intranet +intext:"human resources"

Evtl. findet man dort ja etwas, was man fürs Social Engineering nutzen kann. Technische Informationen findet man im Intranet evtl. über Suchbegriffe wie ""help.desk", "helpdesk", "research", "forschung", "entwicklung", ... .

In der nächsten Folge geht es mit der Nutzung des Google Hackings beim Penetration Test weiter.

Carsten Eilers


Ü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

Keine Trackbacks