Einen grundlegenden VHost-Scan in Gobuster durchführen

Beginner
Jetzt üben

Einleitung

In diesem Lab lernen Sie, wie Sie Gobuster für einen grundlegenden Scan von virtuellen Hosts (vhosts) verwenden. Virtuelle Hosts sind eine gängige Methode für Webserver, mehrere Websites auf einer einzigen IP-Adresse zu hosten. Die Entdeckung dieser versteckten vhosts kann während eines Penetrationstests oder einer Sicherheitsbewertung zusätzliche Angriffsflächen oder sensible Informationen aufdecken. Gobuster ist ein leistungsstarkes Werkzeug zum Brute-Forcing von URIs, DNS-Subdomains und Namen virtueller Hosts.

Virtuelle Hosts (VHosts) verstehen

In diesem Schritt lernen Sie, was virtuelle Hosts (vhosts) sind und warum sie in der Websicherheit wichtig sind.

Ein virtueller Host ermöglicht es einem einzelnen Server, mehrere Domainnamen auf derselben IP-Adresse zu hosten. Zum Beispiel könnten www.example.com und blog.example.com beide auf demselben Server gehostet werden, unterschieden durch den Host-Header in der HTTP-Anfrage. Wenn ein Webbrowser eine Anfrage an einen Server sendet, enthält er einen Host-Header, der den Domainnamen angibt, auf den zugegriffen werden soll. Der Webserver verwendet dann diesen Header, um zu bestimmen, welche Website ausgeliefert werden soll.

Die Entdeckung dieser virtuellen Hosts ist für Sicherheitsbewertungen von entscheidender Bedeutung, da:

  • Versteckte Inhalte: Ein vhost könnte eine alte, ungepatchte Anwendung, eine Entwicklungsversion einer Website oder eine administrative Schnittstelle hosten, die von der Hauptwebsite nicht verlinkt ist.
  • Erweiterte Angriffsfläche: Jeder entdeckte vhost stellt einen potenziellen neuen Angriffspunkt dar, wie z. B. SQL-Injection, Cross-Site Scripting (XSS) oder Directory Traversal.
  • Informationspreisgabe: Manchmal können vhosts interne Netzwerkstrukturen, sensible Dateien oder Fehlkonfigurationen aufdecken.

Werkzeuge wie Gobuster können den Prozess des Ausprobierens gängiger vhost-Namen gegen ein Ziel automatisieren, um aktive zu identifizieren.

Ziel-IP-Adresse oder Domain auswählen

In diesem Schritt identifizieren Sie das Ziel für Ihren Gobuster-vhost-Scan.

Für dieses Lab verwenden wir localhost als Ziel, genauer gesagt http://127.0.0.1:8080. Wir haben einen einfachen Webserver auf Port 8080 eingerichtet, der mehrere virtuelle Hosts simuliert. In einem realen Szenario würden Sie 127.0.0.1:8080 durch die tatsächliche IP-Adresse oder den Domainnamen Ihres Ziels ersetzen.

Um zu bestätigen, dass der Webserver läuft, können Sie curl verwenden, um eine Anfrage an ihn zu senden.

curl http://127.0.0.1:8080

Sie sollten eine Ausgabe ähnlich dieser sehen, die anzeigt, dass der Server aktiv ist:

This is vhost1 content.

Diese Ausgabe stammt vom Standard-vhost (oder dem ersten, der vom einfachen Python-Server bedient wird). Unser Ziel ist es, andere "versteckte" vhosts zu finden.

Den grundlegenden gobuster vhost Befehl erstellen

In diesem Schritt lernen Sie, wie Sie den grundlegenden gobuster-Befehl für einen vhost-Scan erstellen.

Der gobuster-Befehl für vhost-Scans verwendet den Modus vhost. Die wesentlichen Flags für einen vhost-Scan sind:

  • -u: Gibt die Ziel-URL an.
  • -w: Gibt die Wortliste an, die für das Brute-Force von vhost-Namen verwendet werden soll.

Die grundlegende Syntax lautet gobuster vhost -u <ziel_url> -w <pfad_zur_wortliste>.

Für unser Lab ist die Ziel-URL http://127.0.0.1:8080. Wir haben auch eine Wortliste unter /tmp/vhost_wordlist.txt vorbereitet, die potenzielle virtuelle Host-Namen enthält.

Betrachten wir den Inhalt der Wortliste:

cat /tmp/vhost_wordlist.txt

Sie sollten die folgende Ausgabe sehen:

vhost1
vhost2
hidden_vhost
test
dev
admin

Diese Wortliste enthält einige gängige und einige spezifische vhost-Namen, die wir zu finden erwarten.

Scan mit den Flags -u und -w ausführen

In diesem Schritt führen Sie den gobuster-vhost-Scan mit der Ziel-URL und der bereitgestellten Wortliste aus.

Kombinieren Sie nun die Ziel-URL und den Pfad zur Wortliste in den gobuster-Befehl.

gobuster vhost -u http://127.0.0.1:8080 -w /tmp/vhost_wordlist.txt

Drücken Sie Enter, um den Befehl auszuführen. Gobuster beginnt mit der Iteration durch die Wortliste, sendet Anfragen mit jedem Wort als Host-Header und meldet alle entdeckten virtuellen Hosts.

Die Ausgabe zeigt den Fortschritt und alle erfolgreichen Funde. Sie könnte in etwa so aussehen:

===============================================================
Gobuster v3.6
by OJ (https://github.com/OJ/gobuster)
===============================================================
[+] Url:                    http://127.0.0.1:8080
[+] Wordlist:               /tmp/vhost_wordlist.txt
[+] Threads:                10
[+] Timeout:                10s
[+] User Agent:             gobuster/3.6
===============================================================
2024/07/30 10:00:00 Starting gobuster in vhost mode
===============================================================
Found: vhost1 (Status: 200) [Size: 20]
Found: vhost2 (Status: 200) [Size: 20]
Found: hidden_vhost (Status: 200) [Size: 27]
===============================================================
2024/07/30 10:00:05 Finished
===============================================================

Sie können sehen, dass gobuster erfolgreich vhost1, vhost2 und hidden_vhost gefunden hat.

Ausgabe für entdeckte virtuelle Hosts überprüfen

In diesem Schritt analysieren Sie die Ausgabe des gobuster-Scans, um die entdeckten virtuellen Hosts zu verstehen.

Die Ausgabe von gobuster liefert wichtige Informationen für jeden entdeckten virtuellen Host:

  • Found:: Der Name des virtuellen Hosts, der erfolgreich aufgelöst wurde.
  • (Status: 200): Der vom Server zurückgegebene HTTP-Statuscode. Ein 200 OK zeigt typischerweise an, dass der vhost existiert und erfolgreich Inhalte ausgeliefert hat. Andere Statuscodes (z. B. 301, 302, 403, 404) können je nach Serverkonfiguration ebenfalls relevant sein.
  • [Size: XX]: Die Größe des Antwortkörpers in Bytes. Dies kann manchmal helfen, zwischen verschiedenen Inhaltstypen oder Standardseiten zu unterscheiden.

Aus der Ausgabe des vorherigen Schritts sollten Sie Folgendes gesehen haben:

  • Found: vhost1 (Status: 200) [Size: 20]
  • Found: vhost2 (Status: 200) [Size: 20]
  • Found: hidden_vhost (Status: 200) [Size: 27]

Diese Einträge zeigen an, dass gobuster erfolgreich drei virtuelle Hosts auf http://127.0.0.1:8080 unter Verwendung der bereitgestellten Wortliste identifiziert hat. In einem realen Szenario würden Sie diese entdeckten vhosts weiter untersuchen, indem Sie sie aufrufen (z. B. curl -H "Host: vhost1" http://127.0.0.1:8080) oder andere Web-Sicherheitstools verwenden.

Damit ist das grundlegende vhost-Scanning-Lab abgeschlossen. Sie haben gobuster erfolgreich zur Identifizierung virtueller Hosts eingesetzt.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie man einen grundlegenden Scan virtueller Hosts mit Gobuster durchführt. Sie haben das Konzept virtueller Hosts verstanden, ein Ziel ausgewählt, den gobuster-Befehl mit den Flags -u (URL) und -w (Wortliste) konstruiert, den Scan ausgeführt und die Ergebnisse interpretiert. Diese Fähigkeit ist grundlegend für die Entdeckung versteckter Webanwendungen und die Erweiterung der Angriffsfläche während Sicherheitsbewertungen.