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
- Sie müssen den Befehl
hydraim Verzeichnis/home/labex/project/wordlistsausführen. - Verwenden Sie die Benutzernamenliste namens
usernames.txtund die Passwortliste namenspasswords.txt. - Das Ziel ist der HTTP-Dienst, der auf
localhostan Port8000läuft. - Verwenden Sie das Modul
http-get /in Hydra, um den Angriff durchzuführen. - Speichern Sie das korrekte Passwort in der Datei
found_password.txtunter 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
-sanzugeben. - 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.
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.


