Einleitung
Gobuster ist ein leistungsstarkes Werkzeug für das Brute-Forcing von Verzeichnissen und Dateien, das Brute-Forcing von DNS-Subdomains und die Enumeration von S3-Buckets. Bei der Durchführung von Scans kann die Menge der im Terminal angezeigten Informationen erheblich variieren. Das Verständnis, wie diese Ausführlichkeit gesteuert wird, ist entscheidend für eine effiziente Analyse und um Ihr Terminal nicht mit unnötigen Daten zu überfluten.
In diesem Lab lernen Sie, wie Sie die Ausführlichkeit der Gobuster-Ausgabe verwalten. Sie werden Scans mit den Standardeinstellungen durchführen, dann den leisen Modus (-q) zur Minimierung der Ausgabe erkunden und schließlich den ausführlichen Modus (-v) zur Maximierung der Details. Durch den Vergleich dieser verschiedenen Ebenen sammeln Sie praktische Erfahrungen bei der Anpassung der Gobuster-Ausgabe an verschiedene Szenarien, von schnellen Überprüfungen bis hin zu tiefgehenden Untersuchungen.
Standard-Scan ausführen und Standardausgabe beobachten
In diesem Schritt führen Sie einen Standard-Gobuster-Scan ohne spezifische Ausführlichkeits-Flags durch. Dies ermöglicht es Ihnen, das Standardausgabeverhalten von Gobuster zu beobachten, das normalerweise gefundene Verzeichnisse und Dateien anzeigt, sobald sie entdeckt werden.
Stellen Sie zunächst sicher, dass Sie sich im Ordner project Ihres Home-Verzeichnisses befinden.
cd ~/project
Führen Sie nun den Gobuster-Befehl aus. Wir verwenden für dieses Lab ein lokales Ziel, um das Scannen externer Websites zu vermeiden. Wir verwenden http://localhost als Ziel und eine kleine Wortliste zu Demonstrationszwecken.
gobuster dir -u http://localhost -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -z
Lassen Sie uns den Befehl aufschlüsseln:
gobuster dir: Gibt an, dass wir einen Verzeichnis-/Datei-Brute-Forcing-Scan durchführen.-u http://localhost: Setzt die Ziel-URL aufhttp://localhost.-w /usr/share/wordlists/dirb/common.txt: Gibt die zu verwendende Wortliste für die Enumeration an. Diese Wortliste enthält gängige Verzeichnis- und Dateinamen.-x php,html,txt: Gibt die zu suchenden Dateierweiterungen an.-z: Blendet die Statusleiste aus, die manchmal die Erfassung sauberer Ausgaben für Vergleiche beeinträchtigen kann.
Beobachten Sie die Ausgabe in Ihrem Terminal. Sie sollten Zeilen sehen, die die gefundenen Verzeichnisse und Dateien sowie deren HTTP-Statuscodes anzeigen.
===============================================================
Gobuster v3.1.0
by OJ <ojob.dev>
===============================================================
[+] Url: http://localhost
[+] Threads: 10
[+] Wordlist: /usr/share/wordlists/dirb/common.txt
[+] Extensions: php, html, txt
[+] Status codes: 200,204,301,302,307,401,403
[+] User Agent: gobuster/3.1.0
[+] Timeout: 10s
===============================================================
2024/07/29 08:00:00 Starting gobuster in directory enumeration mode
/index.html (Status: 200)
/server-status (Status: 403)
/manual (Status: 301)
/icons (Status: 301)
/phpmyadmin (Status: 301)
/test.php (Status: 200)
/info.php (Status: 200)
/robots.txt (Status: 200)
/license.txt (Status: 200)
/README.txt (Status: 200)
===============================================================
2024/07/29 08:00:00 Finished
===============================================================
Dies ist die Standardausgabe, die ein Gleichgewicht zwischen Information und Prägnanz bietet.
Scan im Quiet-Modus mit dem Flag -q erneut ausführen
In diesem Schritt führen Sie den Gobuster-Scan im Quiet-Modus erneut aus. Das Flag -q unterdrückt den Großteil der Ausgabe und zeigt nur die wesentlichen Ergebnisse an. Dieser Modus ist nützlich, wenn Sie schnell nach bestimmten Ressourcen suchen möchten, ohne von ausführlichen Informationen abgelenkt zu werden, oder wenn Sie die Ausgabe an ein anderes Werkzeug weiterleiten.
Führen Sie denselben Gobuster-Befehl wie zuvor aus, fügen Sie diesmal jedoch das Flag -q hinzu:
gobuster dir -u http://localhost -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -z -q
Beobachten Sie die Ausgabe. Sie sollten feststellen, dass das anfängliche Banner, Statistiken und Fortschrittsaktualisierungen nicht mehr angezeigt werden. Nur die gefundenen Verzeichnisse und Dateien werden auf der Konsole ausgegeben.
/index.html (Status: 200)
/server-status (Status: 403)
/manual (Status: 301)
/icons (Status: 301)
/phpmyadmin (Status: 301)
/test.php (Status: 200)
/info.php (Status: 200)
/robots.txt (Status: 200)
/license.txt (Status: 200)
/README.txt (Status: 200)
Diese leise Ausgabe ist ideal für Skripte oder wenn Sie sich nur für die entdeckten Pfade interessieren.
Scan mit dem Flag -v im Verbose-Modus erneut ausführen
In diesem Schritt führen Sie den Gobuster-Scan im Verbose-Modus erneut aus. Das Flag -v liefert detailliertere Informationen über den Scanvorgang, einschließlich jeder durchgeführten Anfrage und ihres entsprechenden Antwortstatus. Dieser Modus ist besonders nützlich für das Debugging oder wenn Sie verstehen müssen, warum bestimmte Pfade nicht gefunden werden oder unerwartete Antworten zurückgeben.
Führen Sie denselben Gobuster-Befehl aus, fügen Sie diesmal jedoch das Flag -v hinzu:
gobuster dir -u http://localhost -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -z -v
Beobachten Sie die Ausgabe. Sie werden eine deutliche Zunahme der angezeigten Informationen feststellen. Für jedes Wort in der Wortliste zeigt Gobuster die getestete URL und den empfangenen HTTP-Statuscode an, auch für Pfade, die nicht existieren oder Fehler zurückgeben.
===============================================================
Gobuster v3.1.0
by OJ <ojob.dev>
===============================================================
[+] Url: http://localhost
[+] Threads: 10
[+] Wordlist: /usr/share/wordlists/dirb/common.txt
[+] Extensions: php, html, txt
[+] Status codes: 200,204,301,302,307,401,403
[+] User Agent: gobuster/3.1.0
[+] Timeout: 10s
===============================================================
2024/07/29 08:00:00 Starting gobuster in directory enumeration mode
Testing url: http://localhost/index.html (Status: 200)
Testing url: http://localhost/server-status (Status: 403)
Testing url: http://localhost/manual (Status: 301)
Testing url: http://localhost/icons (Status: 301)
Testing url: http://localhost/phpmyadmin (Status: 301)
Testing url: http://localhost/test.php (Status: 200)
Testing url: http://localhost/info.php (Status: 200)
Testing url: http://localhost/robots.txt (Status: 200)
Testing url: http://localhost/license.txt (Status: 200)
Testing url: http://localhost/README.txt (Status: 200)
Testing url: http://localhost/admin (Status: 404)
Testing url: http://localhost/login (Status: 404)
... (viele weitere Zeilen für jeden getesteten Pfad)
===============================================================
2024/07/29 08:00:00 Finished
===============================================================
Diese ausführliche Ausgabe bietet eine vollständige Aufzeichnung des Scanvorgangs, was für die Fehlerbehebung oder tiefgehende Analysen von unschätzbarem Wert sein kann.
Vergleichen der drei Detailstufen der Ausgabe
In diesem Schritt vergleichen Sie die Ausgaben der drei verschiedenen Gobuster-Scans, die Sie durchgeführt haben: Standard, Quiet (-q) und Verbose (-v). Das Verständnis der Unterschiede hilft Ihnen, die am besten geeignete Ausgabestufe für verschiedene Situationen auszuwählen.
Erinnern Sie sich an die Merkmale jeder Ausgabe:
- Standardausgabe: Bietet ein Zusammenfassungsbanner, Fortschrittsaktualisierungen (wenn
-znicht verwendet wird) und listet nur die gefundenen Verzeichnisse/Dateien mit ihren Statuscodes auf. Dies ist eine gute Balance für den allgemeinen Gebrauch. - Quiet-Ausgabe (
-q): Unterdrückt alle nicht wesentlichen Informationen und zeigt nur die gefundenen Verzeichnisse/Dateien an. Dies ist nützlich für eine saubere, parsierbare Ausgabe, insbesondere beim Weiterleiten an andere Werkzeuge oder wenn Sie nur die Ergebnisse benötigen. - Verbose-Ausgabe (
-v): Zeigt umfangreiche Details an, einschließlich jeder getesteten URL und ihres Antwortstatus, unabhängig davon, ob es sich um einen "gefundenen" Pfad oder einen Fehler handelt. Dies ist unschätzbar wertvoll für das Debugging, das Verständnis von NetzwerInteraktionen oder wenn Sie eine vollständige Audit-Spur des Scans benötigen.
Betrachten Sie die folgenden Szenarien und wie jede Ausgabestufe am besten geeignet sein könnte:
- Schnelle Überprüfung auf gängige Pfade: Der Quiet-Modus (
-q) wäre effizient. - Allgemeine Erkundung: Die Standardausgabe liefert genügend Kontext.
- Fehlerbehebung bei einem Scan, der erwartete Pfade nicht findet: Der Verbose-Modus (
-v) würde helfen zu identifizieren, warum Anfragen fehlschlagen oder welche Antworten empfangen werden. - Integration von Gobuster in ein Skript zur automatisierten Verarbeitung: Der Quiet-Modus (
-q) stellt eine saubere Ausgabe sicher, die leicht zu parsen ist.
Durch den Vergleich der Terminalausgaben, die Sie in den vorherigen Schritten beobachtet haben, können Sie deutlich erkennen, wie jedes Flag die Ausführlichkeit verändert.
Auswahl der geeigneten Ausführlichkeit für verschiedene Szenarien
In diesem letzten Schritt festigen Sie Ihr Verständnis dafür, wann jede Gobuster-Ausgabe-Detaillierungsstufe verwendet werden sollte. Die Wahl der Ausführlichkeit hängt stark von Ihrem Ziel und dem Kontext Ihrer Penetrationstests oder Sicherheitsbewertungen ab.
Hier ist eine Zusammenfassung, wann jeder Modus verwendet werden sollte:
Standardmodus (keine Flags):
- Wann zu verwenden: Für allgemeine Scans, erste Erkundungen oder wenn Sie eine ausgewogene Sicht auf den Fortschritt und die Ergebnisse des Scans benötigen. Dies ist der gebräuchlichste Ausgangspunkt.
- Beispiel: Sie erkunden ein neues Ziel und möchten schnell sehen, welche gängigen Verzeichnisse vorhanden sind, ohne zu viel Rauschen.
Quiet-Modus (
-q):- Wann zu verwenden: Wenn Sie sich nur für die erfolgreichen Ergebnisse interessieren und alle anderen Informationsmeldungen, Banner und Fehler unterdrücken möchten. Dies ist ideal für Skripte, das Weiterleiten der Ausgabe an andere Werkzeuge (wie
grepoderawk) oder wenn Sie viele Scans parallel ausführen und minimale Unordnung auf dem Terminal wünschen. - Beispiel: Sie schreiben ein Skript zur Automatisierung der Verzeichniserkennung und möchten die gefundenen URLs direkt an ein anderes Werkzeug zur weiteren Analyse weitergeben.
- Wann zu verwenden: Wenn Sie sich nur für die erfolgreichen Ergebnisse interessieren und alle anderen Informationsmeldungen, Banner und Fehler unterdrücken möchten. Dies ist ideal für Skripte, das Weiterleiten der Ausgabe an andere Werkzeuge (wie
Verbose-Modus (
-v):- Wann zu verwenden: Zum Debuggen, zur Fehlerbehebung oder wenn Sie ein detailliertes Verständnis jeder Anfrage und Antwort benötigen. Dieser Modus zeigt alle Versuche an, einschließlich derjenigen, die zu 404ern oder anderen Fehlern führen, was entscheidend sein kann, um subtile Probleme zu identifizieren oder das Serververhalten zu verstehen.
- Beispiel: Ihr Gobuster-Scan findet keine erwarteten Verzeichnisse, und Sie vermuten ein Netzwerkproblem, eine WAF, die Anfragen blockiert, oder eine ungewöhnliche Serverantwort. Die ausführliche Ausgabe zeigt Ihnen genau, was bei jeder Anfrage passiert.
Durch die Beherrschung dieser Ausführlichkeitsoptionen können Sie Ihre Gobuster-Scans effizienter und auf Ihre spezifischen Bedürfnisse zugeschnitten gestalten, Zeit sparen und Ihre Analysefähigkeiten verbessern.
Zusammenfassung
In diesem Lab haben Sie erfolgreich gelernt, wie Sie die Ausführlichkeit der Gobuster-Ausgabe steuern. Sie haben mit einem Standardscan begonnen, um die Standardausgabe zu beobachten, die eine ausgewogene Sicht auf den Enumerationsprozess bietet. Dann haben Sie den Quiet-Modus mit dem Flag -q erkundet, der die Ausgabe minimiert, um nur die gefundenen Pfade anzuzeigen, was ihn ideal für Skripte und saubere Ergebnisse macht. Schließlich haben Sie den Verbose-Modus mit dem Flag -v verwendet, um detaillierte Einblicke in jede Anfrage und Antwort zu erhalten, was für das Debugging und die Tiefenanalyse von unschätzbarem Wert ist.
Durch das Verständnis und die Anwendung dieser verschiedenen Ausführlichkeitsstufen können Sie die Gobuster-Ausgabe effektiv an verschiedene Szenarien anpassen, von schnellen Überprüfungen bis hin zu detaillierten Fehlerbehebungen, und so Ihre Effizienz bei Aufgaben zur Verzeichnis- und Dateierkennung verbessern.
