Scan-Ergebnisse nach Statuscodes in Gobuster filtern

Beginner
Jetzt üben

Einleitung

Bei der Web-Enumeration werden Tools wie Gobuster verwendet, um versteckte Verzeichnisse und Dateien auf Webservern zu entdecken. Die Rohausgabe kann jedoch überwältigend sein und viele Einträge enthalten, die nicht sofort relevant sind. Das Filtern dieser Ergebnisse basierend auf HTTP-Statuscodes ist eine leistungsstarke Technik, um Ihren Fokus auf bestimmte Antworttypen einzugrenzen, wie z. B. erfolgreiche Seiten (200 OK), Weiterleitungen (301/302) oder verbotene Ressourcen (403).

Dieses Lab führt Sie durch die Verwendung der Filterfunktionen von Gobuster zur effizienten Analyse von Scan-Ergebnissen. Sie lernen, gängige HTTP-Statuscodes zu identifizieren, einen grundlegenden Gobuster-Scan durchzuführen und dann Filter anzuwenden, um nur die Statuscodes anzuzeigen, an denen Sie interessiert sind. Diese Fähigkeit ist für jeden, der sich mit Websicherheit oder Penetrationstests beschäftigt, unerlässlich, da sie hilft, schnell umsetzbare Informationen zu identifizieren.

Gängige HTTP-Statuscodes verstehen (200, 301, 403)

In diesem Schritt lernen Sie einige der gängigsten HTTP-Statuscodes kennen, die bei der Web-Enumeration häufig vorkommen. Das Verständnis dieser Codes ist grundlegend für die Interpretation der Gobuster-Ausgabe und die effektive Filterung von Ergebnissen.

  • 200 OK: Dieser Statuscode zeigt an, dass die Anfrage erfolgreich war. Der Server hat die Anfrage erfolgreich verarbeitet und die angeforderte Ressource (z. B. eine Webseite, ein Bild) wird zurückgegeben. Bei Gobuster-Scans bedeutet ein 200er-Statuscode normalerweise, dass eine gültige, zugängliche Seite oder ein Verzeichnis gefunden wurde.
  • 301 Moved Permanently: Dieser Statuscode bedeutet, dass die angeforderte Ressource dauerhaft an eine neue URL verschoben wurde. Der Browser (oder Gobuster) sollte automatisch zur neuen Adresse weitergeleitet werden. Obwohl es sich nicht um einen Fehler handelt, können gefundene 301-Weiterleitungen auf alte oder neu organisierte Inhalte hinweisen.
  • 403 Forbidden: Dieser Statuscode bedeutet, dass der Server die Anfrage verstanden, aber die Autorisierung verweigert hat. Dies geschieht typischerweise, wenn ein Benutzer (oder Gobuster) versucht, auf eine Ressource zuzugreifen, die eine Authentifizierung oder spezifische Berechtigungen erfordert, der Client diese aber nicht besitzt. Das Finden von 403ern kann interessant sein, da sie auf sensible Bereiche hinweisen könnten, die geschützt sind, aber dennoch existieren.

Um ein Gefühl dafür zu bekommen, können Sie versuchen, einige Pfade auf unserem Dummy-Webserver mit curl aufzurufen.

Zuerst bestätigen wir, dass der Server läuft, indem wir versuchen, auf index.html zuzugreifen:

curl -I http://localhost:8000/index.html

Sie sollten in der Ausgabe einen Status HTTP/1.0 200 OK sehen.

Versuchen Sie als Nächstes, auf redirect.html zuzugreifen, um eine 301-Weiterleitung zu sehen:

curl -I http://localhost:8000/redirect.html

Sie sollten einen Status HTTP/1.0 301 Moved Permanently beobachten.

Versuchen Sie schließlich, auf admin.html zuzugreifen, um eine 403 Forbidden-Antwort zu sehen:

curl -I http://localhost:8000/admin.html

Dieser Befehl sollte einen Status HTTP/1.0 403 Forbidden zurückgeben.

Diese curl-Befehle helfen Ihnen, manuell zu überprüfen, wie verschiedene Pfade auf dem Server mit spezifischen HTTP-Statuscodes reagieren, was Gobuster dann automatisiert.

Scan ausführen, um alle Statuscodes zu sehen

In diesem Schritt führen Sie einen grundlegenden Gobuster-Scan gegen den Dummy-Webserver durch, ohne Statuscode-Filterung. Dies ermöglicht es Ihnen, die Standardausgabe zu sehen, die alle entdeckten Pfade zusammen mit ihren entsprechenden HTTP-Statuscodes enthält. Dies dient als Basis, bevor Filter angewendet werden.

Die grundlegende Syntax für Gobuster-Directory-Brute-Forcing lautet gobuster dir -u <URL> -w <wordlist>.

  • -u: Gibt die Ziel-URL an. In unserem Fall ist dies http://localhost:8000.
  • -w: Gibt den Pfad zur Wordlist-Datei an. Wir verwenden die Datei wordlist.txt, die im Setup erstellt wurde.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt

Beobachten Sie nach Ausführung des Befehls die Ausgabe. Sie sollten Zeilen ähnlich den folgenden sehen, die die entdeckten Pfade und ihre Statuscodes anzeigen:

/index.html           (Status: 200)
/secret.html          (Status: 200)
/redirect.html        (Status: 301)
/admin.html           (Status: 403)

Beachten Sie, dass Gobuster alle angetroffenen Statuscodes meldet. In einem realen Szenario mit einer großen Wordlist kann diese Ausgabe sehr lang sein und viele irrelevante Einträge enthalten. Die nächsten Schritte zeigen Ihnen, wie Sie diese Ausgabe verfeinern können.

Die Flagge -s verwenden, um nur 200 OK und 301 Redirects anzuzeigen

In diesem Schritt lernen Sie, wie Sie die Flagge -s (status) in Gobuster verwenden, um die Scan-Ergebnisse zu filtern und nur bestimmte HTTP-Statuscodes anzuzeigen. Dies ist äußerst nützlich, wenn Sie nach bestimmten Arten von Antworten suchen, wie z. B. erfolgreichen Seiten oder Weiterleitungen.

Die Flagge -s ermöglicht es Ihnen, eine durch Kommas getrennte Liste von Statuscodes anzugeben, die in die Ausgabe aufgenommen werden sollen. Um beispielsweise nur 200 (OK) und 301 (Moved Permanently) Antworten zu sehen, würden Sie -s 200,301 verwenden.

Führen Sie den folgenden Befehl aus:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt -s 200,301

Beobachten Sie die Ausgabe. Diesmal sollten Sie nur Einträge mit den Statuscodes 200 und 301 sehen:

/index.html           (Status: 200)
/secret.html          (Status: 200)
/redirect.html        (Status: 301)

Beachten Sie, dass der Eintrag /admin.html, der den Status 403 zurückgab, nicht mehr in der Ausgabe vorhanden ist. Dies zeigt, wie effektiv die Flagge -s Ihre Ergebnisse eingrenzen kann, sodass Sie sich leichter auf relevante Funde konzentrieren können.

Neuer Scan zur Suche nach verbotenen Seiten (403)

In diesem Schritt führen Sie einen weiteren gefilterten Scan durch, der speziell nach "verbotenen" Seiten sucht, die einen HTTP-Statuscode 403 zurückgeben. Die Identifizierung von 403-Antworten kann beim Penetration Testing von entscheidender Bedeutung sein, da sie oft geschützte administrative Schnittstellen, sensible Dateien oder Verzeichnisse anzeigen, die anfällig für Fehlkonfigurationen oder Umgehungstechniken sein könnten.

Um nur nach 403-Statuscodes zu filtern, verwenden Sie die Flagge -s mit 403 als Argument.

Führen Sie den folgenden Befehl aus:

gobuster dir -u http://localhost:8000 -w ~/project/wordlist.txt -s 403

Untersuchen Sie die Ausgabe. Sie sollten nun nur den Eintrag für /admin.html sehen, der den Status 403 zurückgegeben hat:

/admin.html           (Status: 403)

Dieser gezielte Scan hebt schnell Ressourcen hervor, auf die der Server explizit den Zugriff verweigert. Obwohl diese Ressourcen geschützt sind, kann ihre bloße Existenz wertvolle Informationen für weitere Untersuchungen liefern. Dies zeigt die Flexibilität der Flagge -s bei der Fokussierung auf bestimmte Arten von Serverantworten.

Analyse der gefilterten Ausgabe

In diesem letzten Schritt analysieren Sie die Auswirkungen der von Ihnen generierten gefilterten Ausgaben. Das Verständnis der Bedeutung verschiedener Statuscodes im Kontext eines Gobuster-Scans ist der Schlüssel zur effektiven Web-Enumeration.

Als Sie nach Statuscodes 200,301 gefiltert haben, haben Sie Folgendes identifiziert:

  • /index.html (200 OK): Dies ist die Hauptseite und zeigt eine erfolgreiche und zugängliche Ressource an.
  • /secret.html (200 OK): Diese gab ebenfalls 200 zurück, was darauf hindeutet, dass es sich um eine zugängliche Seite handelt. In einem realen Szenario würden Sie deren Inhalt untersuchen, um festzustellen, ob sie sensible Informationen enthält.
  • /redirect.html (301 Moved Permanently): Dies zeigt eine Weiterleitung an. Normalerweise würden Sie der Weiterleitung folgen, um zu sehen, wohin sie führt, da sie auf aktualisierte Inhalte oder einen anderen Teil der Anwendung verweisen könnte.

Als Sie nach Statuscodes 403 gefiltert haben, haben Sie Folgendes identifiziert:

  • /admin.html (403 Forbidden): Dies ist ein entscheidender Fund. Eine 403-Antwort bedeutet, dass der Server die Ressource kennt, aber den Zugriff verweigert. Dies deutet oft auf administrative Panels, sensible Verzeichnisse oder Dateien hin, die absichtlich geschützt sind. Obwohl der direkte Zugriff verweigert wird, ist dieser Pfad ein erstklassiger Kandidat für weitere Untersuchungen, wie z. B.:
    • Bypass-Versuche: Gibt es bekannte Bypass-Techniken für diesen spezifischen Webserver oder diese Anwendung?
    • Standardanmeldeinformationen: Könnten Standardanmeldeinformationen den Zugriff ermöglichen?
    • Schwachstellenscans: Gibt es Schwachstellen, die zu unbefugtem Zugriff führen könnten?

Durch die selektive Filterung der Gobuster-Ausgabe können Sie Ihre Untersuchung schnell auf die vielversprechendsten Spuren ausrichten, Zeit sparen und Ihren Enumerationsprozess effizienter und zielgerichteter gestalten. Diese Fähigkeit ist für jeden Sicherheitsexperten, der Webanwendungsbewertungen durchführt, von grundlegender Bedeutung.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie die -s-Flagge von Gobuster effektiv nutzen, um Scan-Ergebnisse basierend auf HTTP-Statuscodes zu filtern. Sie haben mit dem Verständnis gängiger Statuscodes wie 200 (OK), 301 (Moved Permanently) und 403 (Forbidden) begonnen. Anschließend haben Sie einen grundlegenden Gobuster-Scan durchgeführt, um alle Antworten anzuzeigen, und danach Filter angewendet, um sich auf bestimmte Arten von Ergebnissen zu konzentrieren.

Durch das Filtern nach Statuscodes 200 und 301 haben Sie zugängliche Seiten und Weiterleitungen identifiziert. Wichtiger noch, durch das Filtern nach Statuscodes 403 haben Sie potenziell sensible oder geschützte Ressourcen identifiziert, die weitere Untersuchungen erfordern. Dieser gezielte Ansatz optimiert den Web-Enumerationsprozess erheblich und ermöglicht es Ihnen, während Penetrationstests oder Sicherheitsbewertungen schnell umsetzbare Informationen zu identifizieren. Die Beherrschung dieser Technik ist eine wertvolle Fähigkeit für jeden Cybersicherheitsexperten.