Den versteckten Dienst knacken

HydraBeginner
Jetzt üben

Einführung

In dieser Herausforderung werden Sie Hydra einsetzen, um die Zugangsdaten eines versteckten Dienstes zu knacken, der auf einem entfernten Server läuft. Dieser Dienst ist mit einer HTTP-Basisauthentifizierung (HTTP Basic Authentication) gesichert. Ihre Aufgabe besteht darin, den korrekten Benutzernamen und das zugehörige Passwort zu ermitteln, um Zugriff auf die geheimen Daten zu erhalten.

Um dies zu erreichen, bereiten Sie zunächst die Umgebung vor, indem Sie die erforderlichen Verzeichnisse und Wortlisten mit potenziellen Benutzernamen und Passwörtern erstellen. Anschließend setzen Sie mit Python einen einfachen HTTP-Server auf, der eine Authentifizierung erfordert. Schließlich nutzen Sie die Leistungsfähigkeit von Hydra, um mittels Brute-Force-Angriffen auf Basis Ihrer Wortlisten die Zugangsdaten zu finden und den Zugriff auf die geheimen Informationen zu erzwingen.

Den versteckten Dienst knacken

Ein geheimer Dienst läuft auf einem Remote-Server, geschützt durch eine HTTP-Basisauthentifizierung. Können Sie Hydra verwenden, um den richtigen Benutzernamen und das Passwort aufzudecken und so Zugriff auf die versteckten Daten zu erhalten?

Aufgaben

  • Verwenden Sie Hydra für einen Brute-Force-Angriff auf den HTTP-Dienst unter localhost Port 8000, wobei Sie die bereitgestellten Listen für Benutzernamen und Passwörter nutzen.
  • Identifizieren Sie die korrekten Zugangsdaten aus der Hydra-Ausgabe und speichern Sie das Passwort in der Datei found_password.txt.

Anforderungen

  1. Sie müssen den Befehl hydra im Verzeichnis /home/labex/project/wordlists ausführen.
  2. Verwenden Sie die Benutzernamenliste namens usernames.txt und die Passwortliste namens passwords.txt.
  3. Das Ziel ist der HTTP-Dienst, der auf localhost an Port 8000 läuft.
  4. Verwenden Sie das Modul http-get / in Hydra, um den Angriff durchzuführen.
  5. Speichern Sie das korrekte Passwort in der Datei found_password.txt unter dem Pfad /home/labex/project/found_password.txt.

Beispiele

Erfolgreiche Hydra-Ausgabe:

[DATA] attacking http-get://localhost:8000/
[8000][http-get] host: localhost   login: [USERNAME]   password: [PASSWORD]
1 of 1 target successfully completed, 1 valid password found

Ersetzen Sie [USERNAME] und [PASSWORD] durch die tatsächlich von Hydra gefundenen Zugangsdaten.

Hinweise

  • Denken Sie daran, die korrekte Portnummer mit dem Flag -s anzugeben.
  • Das richtige Passwort befindet sich eventuell nicht in der ursprünglichen Datei passwords.txt. Sie müssen möglicherweise einen anderen Weg finden, um das Passwort zu knacken.
  • Erwägen Sie, eine eigene Passwortliste mit gängigen Passwörtern zu erstellen.
✨ Lösung prüfen und üben

Zusammenfassung

In dieser Herausforderung war es das Ziel, eine HTTP-Basisauthentifizierung zu knacken, die einen versteckten Dienst auf einem Remote-Server schützt. Mithilfe von Hydra haben Sie sowohl den Benutzernamen als auch das Passwort ermittelt, die für den Zugriff auf den Dienst erforderlich sind.

Die Herausforderung umfasste das Einrichten einer simulierten Umgebung, einschließlich der Erstellung von Verzeichnissen für Wortlisten und den HTTP-Server, das Generieren von Listen für Benutzernamen und Passwörter sowie das Erstellen eines Python-basierten HTTP-Servers, der eine Authentifizierung verlangt. Anschließend wurde Hydra eingesetzt, um die Zugangsdaten mittels Brute-Force-Angriffen gegen den auf Port 8000 laufenden HTTP-Server zu testen.