Einleitung
In diesem Lab werden Sie die entscheidende Rolle von Wortlisten beim Directory-Scanning mit Gobuster, einem beliebten Tool für die Web-Enumeration, untersuchen. Directory-Scanning ist ein grundlegender Schritt beim Penetration Testing von Webanwendungen und hilft dabei, versteckte Verzeichnisse und Dateien zu entdecken, die sensible Informationen enthalten oder Angriffsvektoren bereitstellen könnten. Die Effektivität und Effizienz dieses Prozesses hängen stark von der verwendeten Wortliste ab. Sie lernen, wie Sie Standard-Wortlisten in Kali Linux finden, Scans mit unterschiedlichen Wortlistengrößen durchführen und die Auswirkungen auf die Scanzeit und die Anzahl der entdeckten Einträge analysieren. Dies vermittelt ein praktisches Verständnis der Kompromisse, die bei der Auswahl der richtigen Wortliste für Ihre Enumerationsaufgaben erforderlich sind.
Standard-Wortlisten in Kali lokalisieren
In diesem Schritt lokalisieren Sie die Standard-Wortlisten, die in Kali Linux bereitgestellt werden und für Tools wie Gobuster unerlässlich sind. Kali Linux verfügt über eine umfangreiche Sammlung von Wortlisten, die im Verzeichnis seclists gespeichert sind. Diese Wortlisten sind für verschiedene Zwecke kategorisiert, darunter Directory-Enumeration, Passwort-Cracking und Fuzzing.
Navigieren Sie zunächst zum Verzeichnis seclists. Der übliche Pfad für diese Wortlisten ist /usr/share/seclists.
ls -l /usr/share/seclists
Sie werden verschiedene Unterverzeichnisse sehen. Für die Web-Enumeration ist das Verzeichnis Discovery besonders relevant. Innerhalb von Discovery finden Sie Web-Content, das Wortlisten enthält, die speziell für das Auffinden von Webverzeichnissen und Dateien entwickelt wurden.
ls -l /usr/share/seclists/Discovery/Web-Content/
Unter diesen ist common.txt eine relativ kleine Wortliste, und directory-list-2.3-medium.txt ist eine größere, umfassendere. Sie werden diese beiden Wortlisten in den folgenden Schritten verwenden, um die Auswirkungen der Wortlistengröße auf Gobuster-Scans zu beobachten.
ls -l /usr/share/seclists/Discovery/Web-Content/common.txt
ls -l /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
Sie können auch die ersten Zeilen von common.txt anzeigen, um sich einen Eindruck vom Inhalt zu verschaffen:
head /usr/share/seclists/Discovery/Web-Content/common.txt
Erwartete Ausgabe (gekürzt):
.git
.svn
.DS_Store
.htaccess
.htpasswd
.bash_history
.bash_logout
.bashrc
.profile
.ssh
Scan mit einer kleinen Wortliste (common.txt) durchführen
In diesem Schritt führen Sie einen Directory-Scan mit Gobuster und der kleineren Wortliste common.txt durch. Dies demonstriert einen schnellen Scan, der möglicherweise weniger gängige Verzeichnisse übersieht, aber schneller ist.
Das Ziel unseres Scans ist ein einfacher Python-Webserver, der lokal auf Port 8000 läuft. Die URL lautet http://127.0.0.1:8000.
Verwenden Sie den folgenden Befehl, um Gobuster auszuführen:
dir: Gibt an, dass wir ein Brute-Force-Verfahren für Verzeichnisse/Dateien durchführen.-u: Gibt die Ziel-URL an.-w: Gibt den Pfad zur Wortliste an.-o: Gibt eine Ausgabedatei an, in der die Ergebnisse gespeichert werden.
gobuster dir -u http://127.0.0.1:8000 -w /usr/share/seclists/Discovery/Web-Content/common.txt -o ~/project/gobuster_common_results.txt
Der Scan wird ausgeführt und zeigt seinen Fortschritt an. Nach Abschluss können Sie die Ergebnisse in ~/project/gobuster_common_results.txt anzeigen.
cat ~/project/gobuster_common_results.txt
Erwartete Ausgabe (kann je nach Inhalt von common.txt und Serverkonfiguration leicht variieren):
/admin (Status: 200)
/backup (Status: 200)
/common.html (Status: 200)
Beachten Sie die Zeit, die der Scan zum Abschluss benötigt hat. Diese wird im nächsten Schritt mit dem Scan unter Verwendung einer größeren Wortliste verglichen.
Scan mit einer größeren Wortliste (directory-list-2.3-medium.txt) durchführen
In diesem Schritt wiederholen Sie den Directory-Scan mit Gobuster, diesmal jedoch mit der wesentlich größeren Wortliste directory-list-2.3-medium.txt. Dies wird zeigen, wie eine umfassendere Wortliste mehr Einträge finden kann, allerdings auf Kosten einer längeren Scan-Zeit.
gobuster dir -u http://127.0.0.1:8000 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -o ~/project/gobuster_medium_results.txt
Dieser Scan wird aufgrund der Größe der Wortliste deutlich länger dauern als der vorherige. Haben Sie Geduld, während er läuft. Sobald er abgeschlossen ist, überprüfen Sie die Ergebnisse.
cat ~/project/gobuster_medium_results.txt
Erwartete Ausgabe (wird mehr Einträge als der Scan mit common.txt enthalten, einschließlich /admin, /backup, /common.html und potenziell viele weitere):
/admin (Status: 200)
/backup (Status: 200)
/common.html (Status: 200)
/css (Status: 200)
/js (Status: 200)
/images (Status: 200)
... (viele weitere Einträge)
Beobachten Sie den Unterschied in der Anzahl der gefundenen Einträge und der Gesamtzeit im Vergleich zum vorherigen Scan.
Vergleich der Zeit und Ergebnisse beider Scans
In diesem Schritt vergleichen Sie explizit die Ergebnisse und die ungefähre Zeit, die für beide Scans benötigt wurde. Obwohl Gobuster keine genaue Zeitangabe in seiner Ausgabe liefert, können Sie diese aus der Dauer, die Sie während der Ausführung beobachtet haben, und durch Überprüfung der Dateigrößen oder Zeilenzahlen der Ausgabedateien ableiten.
Vergleichen wir zunächst die Anzahl der Zeilen (die der Anzahl der gefundenen Einträge entspricht) in beiden Ausgabedateien:
echo "Results from common.txt scan:"
wc -l ~/project/gobuster_common_results.txt
echo "Results from directory-list-2.3-medium.txt scan:"
wc -l ~/project/gobuster_medium_results.txt
Erwartete Ausgabe (Zeilenzahlen variieren):
Results from common.txt scan:
3 /home/labex/project/gobuster_common_results.txt
Results from directory-list-2.3-medium.txt scan:
X /home/labex/project/gobuster_medium_results.txt (wobei X eine viel größere Zahl ist)
Sie sollten feststellen, dass der Scan mit directory-list-2.3-medium.txt deutlich mehr Einträge gefunden hat.
Bezüglich der Zeit haben Sie wahrscheinlich bemerkt, dass der Scan mit common.txt sehr schnell abgeschlossen war (wahrscheinlich wenige Sekunden), während der Scan mit directory-list-2.3-medium.txt wesentlich länger dauerte (potenziell Minuten, abhängig von den Systemressourcen und der Netzwerkgeschwindigkeit). Dies unterstreicht den direkten Zusammenhang zwischen der Größe der Wortliste und der Scan-Dauer.
Abwägung zwischen Wortlistengröße und Scan-Zeit verstehen
In diesem letzten Schritt fassen Sie die wichtigsten Erkenntnisse aus den vorherigen Scans zusammen und konzentrieren sich dabei auf die Abwägung zwischen Wortlistengröße, Scan-Zeit und der Vollständigkeit der Ergebnisse.
Größere Wortlisten:
- Vorteile: Höhere Wahrscheinlichkeit, versteckte Verzeichnisse und Dateien zu entdecken, was zu einer gründlicheren Aufzählung führt. Dies ist entscheidend, um obskure oder nicht standardmäßige Pfade zu finden, die Schwachstellen oder sensible Daten enthalten könnten.
- Nachteile: Erhöht die Scan-Zeit erheblich, verbraucht mehr Systemressourcen und erzeugt ein größeres Ausgabeaufkommen, das schwer zu analysieren sein kann. Es können auch mehr "Rauschen" (False Positives oder irrelevante Einträge) generiert werden.
Kleinere Wortlisten:
- Vorteile: Deutlich schnellere Scan-Zeiten, geringerer Ressourcenverbrauch und überschaubarere Ausgabe. Ideal für schnelle Überprüfungen oder wenn Sie eine gute Vorstellung von gängigen Pfaden haben.
- Nachteile: Können weniger gängige oder benutzerdefinierte Verzeichnisse und Dateien übersehen, was zu einer unvollständigen Aufzählung führt und möglicherweise kritische Informationen übersehen werden.
Auswahl der richtigen Wortliste: Die Wahl der Wortliste hängt von Ihrem Ziel und der verfügbaren Zeit ab.
- Für die anfängliche Aufklärung oder schnelle Überprüfungen ist eine kleine, gezielte Wortliste wie
common.txtoft ausreichend. - Für eine umfassende und tiefgehende Bewertung ist eine größere Wortliste wie
directory-list-2.3-medium.txtoder noch größere (z. B.directory-list-2.3-big.txt) erforderlich. - Manchmal ist ein kombinierter Ansatz am besten: Beginnen Sie mit einer kleinen Wortliste für Geschwindigkeit und folgen Sie dann mit einer größeren, wenn die ersten Ergebnisse eine tiefere Untersuchung rechtfertigen.
- Benutzerdefinierte Wortlisten, die auf das spezifische Ziel oder den Technologie-Stack zugeschnitten sind, können ebenfalls sehr effektiv sein.
Dieses Verständnis ist entscheidend für effizientes und effektives Penetration Testing von Webanwendungen.
Zusammenfassung
In diesem Lab haben Sie erfolgreich die Auswirkungen unterschiedlicher Wortlistengrößen auf das Gobuster-Verzeichnis-Scanning untersucht. Sie haben gelernt, wie Sie Standard-Wortlisten in Kali Linux finden, Scans sowohl mit einer kleinen (common.txt) als auch mit einer größeren (directory-list-2.3-medium.txt) Wortliste durchgeführt und deren Ergebnisse sowie ungefähre Scan-Zeiten verglichen. Sie haben ein praktisches Verständnis der damit verbundenen Kompromisse gewonnen: Größere Wortlisten bieten umfassendere Ergebnisse, erfordern aber deutlich mehr Zeit, während kleinere Wortlisten schnellere Scans liefern, jedoch mit dem Risiko, weniger gängige Einträge zu übersehen. Dieses Wissen ist entscheidend für fundierte Entscheidungen bei Web-Enumerationsaufgaben im Penetration Testing.
