Einführung
In diesem Labor lernen Sie, wie Sie den ausführlichen Modus von Hydra nutzen, um mehr Einblicke in den Passwort-Knackprozess zu erhalten. Das Labor konzentriert sich auf die Demonstration verschiedener Ausführlichkeitsstufen bei der Durchführung eines FTP-Angriffs.
Zuerst führen Sie einen grundlegenden FTP-Login-Angriff gegen ein Dummy-Ziel (127.0.0.1) ohne ausführliche Ausgabe durch, wobei Benutzernamen- und Passwortlisten verwendet werden, die in Ihrem ~/project-Verzeichnis (users.txt und passwords.txt) erstellt wurden. Anschließend wiederholen Sie den Angriff mit der Option -v, um detailliertere Informationen zu jedem Versuch anzuzeigen, und schließlich mit der Option -V, um jeden Versuch in Echtzeit anzuzeigen. Durch den Vergleich der Ausgabe dieser verschiedenen Ausführlichkeitsstufen verstehen Sie, wie Sie die Hydra-Ausführlichkeitsoptionen für eine bessere Überwachung und Fehlerbehebung effektiv nutzen können.
FTP-Angriff ohne ausführlichen Modus ausführen
In diesem Schritt führen Sie einen grundlegenden FTP-Login-Angriff mit Hydra ohne ausführliche Ausgabe durch. Das bedeutet, Hydra versucht, das FTP-Passwort zu knacken, zeigt aber keine detaillierten Informationen zu jedem Login-Versuch auf dem Bildschirm an. Dies ist nützlich, wenn Sie den Angriff im Hintergrund ausführen oder Ihr Terminal nicht überladen möchten.
Bevor Sie beginnen, verstehen wir die grundlegende Syntax von Hydra:
hydra [options] [service://server[:port]] [OPT]
hydra: Der Befehl zum Ausführen des Hydra-Tools.[options]: Verschiedene Optionen zur Anpassung des Angriffs, wie z. B. Benutzernamenlisten, Passwortlisten und Verbindungseinstellungen.[service://server[:port]]: Gibt den zu angreifenden Dienst (z. B. ftp, ssh, http), die Adresse des Zielservers und optional die Portnummer an.[OPT]: Zusätzliche Optionen, die spezifisch für den angegriffenen Dienst sind.
Navigieren Sie nun in Ihr ~/project-Verzeichnis, das Ihr Standardarbeitsverzeichnis in dieser Laboumgebung ist:
cd ~/project
Als Nächstes erstellen Sie eine einfache Benutzernamenliste und eine Passwortliste für Ihren Angriff.
Erstellen einer Benutzernamenliste:
Erstellen Sie im
~/project-Verzeichnis eine Datei namensusers.txt. Diese Datei enthält eine Liste von Benutzernamen, wobei pro Zeile ein Benutzername steht. Verwenden Sie den Texteditornano, um die Datei zu erstellen und zu bearbeiten:nano users.txtFügen Sie die folgenden Benutzernamen in die Datei ein:
user1 user2 user3Zum Speichern der Datei in nano:
- Drücken Sie
Strg + X, um zu beenden. - Drücken Sie
Y, um das Speichern zu bestätigen. - Drücken Sie die Eingabetaste, um den Dateinamen zu bestätigen.
- Drücken Sie
Erstellen einer Passwortliste:
Erstellen Sie auf ähnliche Weise im
~/project-Verzeichnis eine Datei namenspasswords.txt. Diese Datei enthält eine Liste von Passwörtern, wobei pro Zeile ein Passwort steht. Verwenden Sienano, um die Datei zu erstellen und zu bearbeiten:nano passwords.txtFügen Sie die folgenden Passwörter in die Datei ein:
password123 password 123456Speichern Sie die Datei und beenden Sie
nano(Strg+X, Y, Eingabetaste).Ausführen des FTP-Angriffs ohne ausführliche Ausgabe:
Nun führen Sie den Hydra-Angriff gegen einen Ziel-FTP-Server aus. Zu Demonstrationszwecken verwenden Sie ein Dummy-Ziel
127.0.0.1. Wichtig: Versuchen Sie nicht, Systeme ohne ausdrückliche Genehmigung anzugreifen.Führen Sie den folgenden Befehl in Ihrem Terminal aus:
hydra -L users.txt -P passwords.txt ftp://127.0.0.1Zerlegen wir diesen Befehl:
-L users.txt: Gibt die Datei mit der Benutzernamenliste an. Da Sie sich im Verzeichnis~/projectbefinden, können Sie den relativen Pfadusers.txtverwenden.-P passwords.txt: Gibt die Datei mit der Passwortliste an. Ebenso können Sie den relativen Pfadpasswords.txtverwenden.ftp://127.0.0.1: Gibt den FTP-Dienst und die Adresse des Zielservers an.
Hinweis: Da auf
127.0.0.1kein FTP-Server ausgeführt wird, schlägt der Angriff fehl. Dieser Befehl demonstriert jedoch die grundlegende Syntax für die Ausführung eines FTP-Angriffs ohne ausführliche Ausgabe. Hydra versucht jede Benutzernamen- und Passwortkombination, zeigt aber die Ergebnisse nur an, wenn ein erfolgreicher Login gefunden wird. Wenn kein erfolgreicher Login gefunden wird, wird eine Meldung angezeigt, die angibt, dass kein Passwort geknackt wurde.Die Ausgabe sieht ähnlich aus wie folgt:
Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Bitte verwenden Sie dieses Tool nicht gegen militärische oder Geheimdienstorganisationen oder für illegale Zwecke (dies ist nicht bindend, diese *** ignorieren Gesetze und Ethik sowieso). Hydra (https://github.com/vanhauser-thc/thc-hydra) gestartet am 2025-05-30 09:45:40 [DATA] max 9 Aufgaben pro 1 Server, insgesamt 9 Aufgaben, 9 Login-Versuche (l:3/p:3), ~1 Versuch pro Aufgabe [DATA] Angriff auf ftp://127.0.0.1:21/ 1 von 1 Ziel abgeschlossen, 0 gültiges Passwort gefunden Hydra (https://github.com/vanhauser-thc/thc-hydra) beendet am 2025-05-30 09:45:52Wie Sie sehen, liefert Hydra ohne ausführlichen Modus nur die grundlegenden Informationen über die Angriffs-Konfiguration, das angegriffene Ziel und das Endergebnis. Einzelne Login-Versuche werden nicht angezeigt.
Mit -v für Details erneut ausführen
In diesem Schritt wiederholen Sie den FTP-Angriff aus dem vorherigen Schritt, verwenden aber diesmal die Option -v, um eine ausführliche Ausgabe zu aktivieren. Die ausführliche Ausgabe liefert detailliertere Informationen zu jedem Login-Versuch, was für die Fehlerbehebung oder das Verständnis des Fortschritts des Angriffs hilfreich sein kann.
Die Option -v in Hydra steht für "verbose". Bei Verwendung erhöht sie die Menge der Informationen, die während des Angriffs auf dem Bildschirm angezeigt werden. Dies umfasst Details zu jedem Verbindungsversuch, dem jeweils verwendeten Benutzernamen und Passwort sowie auftretende Fehler.
Sie verwenden weiterhin die gleichen Benutzer- und Passwortlisten (users.txt und passwords.txt), die Sie im vorherigen Schritt erstellt haben. Stellen Sie sicher, dass Sie sich noch im Verzeichnis ~/project befinden.
Wiederholung des FTP-Angriffs mit ausführlicher Ausgabe:
Führen Sie den folgenden Befehl in Ihrem Terminal aus:
hydra -L users.txt -P passwords.txt -v ftp://127.0.0.1Zerlegen wir diesen Befehl:
-L users.txt: Gibt die Datei mit der Benutzernamenliste an.-P passwords.txt: Gibt die Datei mit der Passwortliste an.-v: Aktiviert die ausführliche Ausgabe. Dies ist die neue Option, die Sie hinzufügen.ftp://127.0.0.1: Gibt den FTP-Dienst und die Adresse des Zielservers an.
Hinweis: Wie im vorherigen Schritt wird der Angriff aufgrund fehlender FTP-Server auf
127.0.0.1fehlschlagen. Dieser Befehl demonstriert jedoch die Verwendung der Option-v.Die Ausgabe ist jetzt detaillierter als im vorherigen Schritt. Sie sehen Informationen zu jedem Verbindungsversuch, einschließlich des verwendeten Benutzernamens und Passworts sowie auftretender Fehler. Die Ausgabe sieht ähnlich wie folgt aus:
Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Bitte verwenden Sie dieses Tool nicht gegen militärische oder Geheimdienstorganisationen oder für illegale Zwecke (dies ist nicht bindend, diese *** ignorieren Gesetze und Ethik sowieso). Hydra (https://github.com/vanhauser-thc/thc-hydra) gestartet am 2025-05-30 09:45:54 [DATA] max 9 Aufgaben pro 1 Server, insgesamt 9 Aufgaben, 9 Login-Versuche (l:3/p:3), ~1 Versuch pro Aufgabe [DATA] Angriff auf ftp://127.0.0.1:21/ [VERBOSE] Adressen auflösen ... [VERBOSE] Auflösung abgeschlossen Prozess 1216: Kann keine Verbindung herstellen [unerreichbar], Wiederholung (1 von 1 Wiederholungen) Prozess 1218: Kann keine Verbindung herstellen [unerreichbar], Wiederholung (1 von 1 Wiederholungen) Prozess 1217: Kann keine Verbindung herstellen [unerreichbar], Wiederholung (1 von 1 Wiederholungen) ... [ERROR] Kindprozess mit PID 1220 beendet, kann keine Verbindung herstellen [ERROR] Kindprozess mit PID 1224 beendet, kann keine Verbindung herstellen [ERROR] Kindprozess mit PID 1219 beendet, kann keine Verbindung herstellen ... [VERBOSE] Kindprozess 7 deaktiviert aufgrund zu vieler Fehler [VERBOSE] Kindprozess 8 deaktiviert aufgrund zu vieler Fehler ... 1 von 1 Ziel abgeschlossen, 0 gültiges Passwort gefunden Hydra (https://github.com/vanhauser-thc/thc-hydra) beendet am 2025-05-30 09:46:07Sie sehen, dass der ausführliche Modus detailliertere Informationen über den Verbindungsprozess liefert, einschließlich:
- Details zur DNS-Auflösung
- Einzelne Verbindungsversuche und Wiederholungen von Prozessen
- Spezifische Fehlermeldungen für jede fehlgeschlagene Verbindung
- Informationen über Kindprozesse, die aufgrund von Fehlern deaktiviert wurden
Diese Detailgenauigkeit ist besonders nützlich für die Fehlerbehebung bei Verbindungsproblemen und das Verständnis, warum ein Angriff möglicherweise fehlschlägt.
Mit -V ausführen, um Versuche anzuzeigen
In diesem Schritt führen Sie den FTP-Angriff erneut aus, diesmal jedoch mit der Option -V. Die Option -V bietet eine andere Detaillierungsstufe im Vergleich zu -v. Sie konzentriert sich darauf, jeden Login-Versuch in einem prägnanten Format anzuzeigen, um den Fortschritt des Angriffs leichter zu verfolgen.
Die Option -V in Hydra ähnelt -v, liefert aber eine kompaktere Ausgabe. Anstatt detaillierte Verbindungsinformationen für jeden Versuch anzuzeigen, zeigt sie lediglich den jeweils verwendeten Benutzernamen und das Passwort an. Dies kann nützlich sein, wenn Sie den Fortschritt des Angriffs überwachen möchten, ohne von zu vielen Informationen überfordert zu werden.
Sie verwenden weiterhin die gleichen Benutzer- und Passwortlisten (users.txt und passwords.txt) aus den vorherigen Schritten. Stellen Sie sicher, dass Sie sich noch im Verzeichnis ~/project befinden.
Wiederholung des FTP-Angriffs mit
-V-Ausgabe:Führen Sie den folgenden Befehl in Ihrem Terminal aus:
hydra -L users.txt -P passwords.txt -V ftp://127.0.0.1Zerlegen wir diesen Befehl:
-L users.txt: Gibt die Datei mit der Benutzernamenliste an.-P passwords.txt: Gibt die Datei mit der Passwortliste an.-V: Aktiviert die versuchsorientierte Ausgabe. Dies ist die neue Option, die Sie hinzufügen.ftp://127.0.0.1: Gibt den FTP-Dienst und die Adresse des Zielservers an.
Hinweis: Wie zuvor wird der Angriff aufgrund fehlender FTP-Server auf
127.0.0.1fehlschlagen. Dieser Befehl demonstriert jedoch die Verwendung der Option-V.Die Ausgabe ist prägnanter als mit der Option
-v. Sie sehen jeden Login-Versuch in einem einfachen Format, das den verwendeten Benutzernamen und das Passwort anzeigt. Die Ausgabe sieht ähnlich wie folgt aus:Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Bitte verwenden Sie dieses Tool nicht gegen militärische oder Geheimdienstorganisationen oder für illegale Zwecke (dies ist nicht bindend, diese *** ignorieren Gesetze und Ethik sowieso). Hydra (https://github.com/vanhauser-thc/thc-hydra) gestartet am 2025-05-30 09:46:09 [DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task [DATA] attacking ftp://127.0.0.1:21/ [ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 1 of 9 [child 0] (0/0) [ATTEMPT] target 127.0.0.1 - login "user1" - pass "password" - 2 of 9 [child 1] (0/0) [ATTEMPT] target 127.0.0.1 - login "user1" - pass "123456" - 3 of 9 [child 2] (0/0) [ATTEMPT] target 127.0.0.1 - login "user2" - pass "password123" - 4 of 9 [child 3] (0/0) ... 1 of 1 target completed, 0 valid password found Hydra (https://github.com/vanhauser-thc/thc-hydra) beendet am 2025-05-30 09:46:21Diese Ausgabe zeigt jeden Login-Versuch in einem übersichtlichen, strukturierten Format an, einschließlich:
- Die Ziel-IP-Adresse
- Der jeweils verwendete Benutzername und das Passwort (in Anführungszeichen)
- Die Versuchsnummer und die Gesamtzahl der Versuche
- Die ID des Kindprozesses, der den Versuch bearbeitet
- Wiederholungsversuche bei Verbindungsfehlern (angezeigt als REDO-ATTEMPT)
Dieses Format bietet eine hervorragende Übersicht über den Fortschritt des Angriffs, ohne die ausführlichen Verbindungs-Debug-Informationen.
Vergleich der Detaillierungsstufen
In diesem Schritt vergleichen Sie die verschiedenen Detaillierungsstufen, die Sie in den vorherigen Schritten verwendet haben: keine ausführliche Ausgabe, -v (ausführlich) und -V (Versuche anzeigen). Das Verständnis der Unterschiede zwischen diesen Stufen ermöglicht es Ihnen, die am besten geeignete Detaillierungsstufe für Ihre spezifischen Anforderungen bei der Verwendung von Hydra auszuwählen.
Fassen wir die Eigenschaften jeder Detaillierungsstufe zusammen:
Keine ausführliche Ausgabe: Dies ist das Standardverhalten. Hydra zeigt nur grundlegende Angriffsinformationen, Konfigurationsdetails und die Endergebnisse an. Sie liefert die wenigsten Informationen und eignet sich für die Ausführung von Angriffen im Hintergrund oder wenn Sie sich nur für erfolgreiche Logins und allgemeine Ergebnisse interessieren.
-v(Ausführlich): Diese Option liefert detaillierte technische Informationen über den Verbindungsprozess, einschließlich DNS-Auflösung, einzelne Verbindungsversuche von Prozessen, Wiederholungsmechanismen und detaillierte Fehlermeldungen. Sie ist besonders nützlich zur Fehlerbehebung bei Verbindungsproblemen und zum Verständnis, warum ein Angriff auf Netzwerkebene möglicherweise fehlschlägt.-V(Versuche anzeigen): Diese Option zeigt jeden Login-Versuch in einem strukturierten Format an, das die spezifischen Benutzernamen- und Passwortkombinationen, die ausprobiert werden, die Zähler für die Versuche und Informationen zu Kindprozessen anzeigt. Sie bietet eine hervorragende Übersicht über den Fortschritt des Angriffs, ohne übermäßige technische Details zu Netzwerkverbindungen.
Um die Unterschiede weiter zu veranschaulichen, betrachten wir, was Sie sehen, wenn Hydra versucht, einen FTP-Server anzugreifen:
Keine ausführliche Ausgabe: Sie sehen nur die grundlegende Konfiguration und die Endergebnisse:
[DATA] max 9 tasks per 1 server, overall 9 tasks, 9 login tries (l:3/p:3), ~1 try per task [DATA] attacking ftp://127.0.0.1:21/ 1 of 1 target completed, 0 valid password found-v(Ausführlich): Sie sehen detaillierte Verbindungsinformationen und Fehlerbehandlung:[VERBOSE] Resolving addresses ... [VERBOSE] resolving done Process 1216: Can not connect [unreachable], retrying (1 of 1 retries) [ERROR] Child with pid 1220 terminating, can not connect [VERBOSE] Disabled child 7 because of too many errors-V(Versuche anzeigen): Sie sehen jeden einzelnen Login-Versuch mit den Anmeldeinformationen:[ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 1 of 9 [child 0] (0/0) [ATTEMPT] target 127.0.0.1 - login "user2" - pass "password" - 5 of 9 [child 4] (0/0) [REDO-ATTEMPT] target 127.0.0.1 - login "user1" - pass "password123" - 10 of 18 [child 0] (1/9)
Auswahl der richtigen Detaillierungsstufe:
Die Wahl der Detaillierungsstufe hängt von Ihren spezifischen Bedürfnissen und Vorlieben ab.
- Wenn Sie den Angriff im Hintergrund ausführen und sich nur für erfolgreiche Logins und grundlegende Ergebnisse interessieren, verwenden Sie keine ausführliche Ausgabe.
- Wenn Sie detaillierte technische Informationen zur Fehlerbehebung bei Verbindungsproblemen, Netzwerkproblemen oder zum Verständnis, warum ein Angriff auf Protokollebene fehlschlägt, benötigen, verwenden Sie die Option
-v. - Wenn Sie die spezifischen Benutzernamen- und Passwortkombinationen überwachen und den Fortschritt des Angriffs über Ihre Wörterlisten verfolgen möchten, verwenden Sie die Option
-V.
Zusammenfassend lässt sich sagen, dass Sie durch Experimentieren mit verschiedenen Detaillierungsstufen ein besseres Verständnis dafür erlangen können, wie Hydra funktioniert, und die am besten geeignete Detaillierungsstufe für Ihre spezifischen Anforderungen auswählen können. Die Option -V ist besonders nützlich für die Überwachung des Angriffsfortschritts, während -v besser für die Fehlerbehebung bei Verbindungsproblemen geeignet ist.
Zusammenfassung
In diesem Labor haben Sie die ausführlichen Modi von Hydra erkundet, indem Sie einen FTP-Login-Angriff durchgeführt haben. Sie begannen mit einem grundlegenden Angriff auf einen Dummy-FTP-Server (127.0.0.1) ohne ausführliche Ausgabe und verwendeten Benutzer- und Passwortlisten, die im Verzeichnis ~/project erstellt wurden. Dies demonstrierte das Standardverhalten von Hydra, bei dem detaillierte Informationen zu Login-Versuchen unterdrückt werden.
Das Labor führte Sie dann durch die Verwendung der Optionen -v und -V, um die Ausführlichkeit der Hydra-Ausgabe zu erhöhen, sodass Sie mehr Details zu jedem Login-Versuch beobachten konnten. Durch den Vergleich der Angriffs-Ausgabe mit verschiedenen Detaillierungsstufen haben Sie ein besseres Verständnis dafür erlangt, wie Sie die Detaillierungsoptionen von Hydra nutzen können, um Angriffe zu überwachen und zu beheben.


