In diesem Schritt verwenden Sie Hydra, um einen Brute-Force-Angriff auf den SSH-Dienst durchzuführen, der auf der zuvor konfigurierten IPv6-Adresse läuft. Hydra ist ein leistungsstarkes Passwort-Cracking-Tool, das verschiedene Protokolle, einschließlich SSH, unterstützt.
Vor Beginn erstellen Sie eine einfache Passwortliste. Diese Liste enthält die Passwörter, die Hydra verwenden wird, um sich beim SSH-Dienst zu authentifizieren.
-
Starten des SSH-Dienstes:
Zunächst müssen Sie sicherstellen, dass der SSH-Dienst auf dem System läuft. Führen Sie den folgenden Befehl aus, um den SSH-Dienst zu starten:
sudo systemctl start ssh
Sie können überprüfen, ob der SSH-Dienst läuft, indem Sie seinen Status abfragen:
sudo systemctl status ssh
Die Ausgabe sollte anzeigen, dass der Dienst aktiv und läuft.
-
Konfiguration von SSH zum Hören auf IPv6:
Standardmäßig hört SSH möglicherweise nur auf IPv4-Adressen. Sie müssen ihn konfigurieren, damit er auch auf IPv6-Adressen hört. Überprüfen Sie zunächst, auf welchen Adressen SSH derzeit hört:
ss -tlnp | grep :22
Sie sollten eine Ausgabe wie LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
sehen, was bedeutet, dass SSH nur auf IPv4 hört.
Bearbeiten Sie nun die SSH-Konfigurationsdatei, um das Hören auf IPv6 zu aktivieren:
sudo nano /etc/ssh/sshd_config
Suchen Sie die Zeile, die #AddressFamily any
oder AddressFamily inet
enthält, und ändern Sie sie in:
AddressFamily any
Falls die Zeile nicht vorhanden ist, fügen Sie sie hinzu. Dies teilt SSH mit, dass es sowohl auf IPv4- als auch auf IPv6-Adressen hören soll.
Speichern Sie die Datei, indem Sie Strg + X
, dann Y
zum Bestätigen des Speicherns und Eingabe
zum Bestätigen des Dateinamens drücken.
Starten Sie den SSH-Dienst neu, um die Änderungen anzuwenden:
sudo systemctl restart ssh
Überprüfen Sie, ob SSH nun sowohl auf IPv4 als auch auf IPv6 hört:
ss -tlnp | grep :22
Sie sollten nun sehen, dass SSH sowohl auf 0.0.0.0:22
(IPv4) als auch auf [::]:22
(IPv6) hört.
-
Erstellen einer Passwortliste:
Öffnen Sie Ihr Terminal in der LabEx-VM. Sie befinden sich derzeit im Verzeichnis ~/project
. Verwenden Sie den Editor nano
, um eine Datei namens passwords.txt
in diesem Verzeichnis zu erstellen:
nano passwords.txt
Fügen Sie die folgenden Passwörter in die Datei ein, jeweils eine Passwort pro Zeile:
password
123456
qwerty
admin
labex
Speichern Sie die Datei, indem Sie Strg + X
, dann Y
zum Bestätigen des Speicherns und Eingabe
zum Bestätigen des Dateinamens drücken.
-
Ausführen von Hydra zum Angriff auf den IPv6 SSH-Dienst:
Nun verwenden Sie Hydra, um den SSH-Dienst anzugreifen. Verwenden Sie die Option -6
, um anzugeben, dass die IPv6-Adresse angegriffen werden soll. Geben Sie auch den Benutzernamen an, den Sie angreifen möchten (z. B. labex
), die von Ihnen erstellte Passwortliste (passwords.txt
) und die IPv6-Adresse des SSH-Servers (2001:db8:1::1
).
Führen Sie den folgenden Befehl aus:
hydra -6 -l labex -P passwords.txt ssh://[2001:db8:1::1]
Zerlegung des Befehls:
hydra
: Der Befehl zum Ausführen des Hydra-Tools.
-6
: Gibt an, dass Hydra IPv6 verwenden soll.
-l labex
: Gibt den anzugreifenden Benutzernamen an. In diesem Fall greifen Sie den Benutzer labex
an.
-P passwords.txt
: Gibt die zu verwendende Passwortliste an. In diesem Fall verwenden Sie die Datei passwords.txt
, die Sie im aktuellen Verzeichnis ~/project
erstellt haben.
ssh://[2001:db8:1::1]
: Gibt den Ziel-SSH-Dienst an. Das Präfix ssh://
zeigt an, dass Sie einen SSH-Dienst angreifen, und [2001:db8:1::1]
ist die IPv6-Adresse des Servers in eckigen Klammern (erforderlich für IPv6-Adressen in Hydra).
Hydra beginnt nun, die Passwörter in der Datei passwords.txt
gegen den SSH-Dienst zu testen. Wenn Hydra ein gültiges Passwort findet, zeigt es die Anmeldeinformationen an. Die Ausgabe sieht bei fehlenden Passwörtern möglicherweise so 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 trotzdem).
Hydra (https://github.com/vanhauser-thc/thc-hydra) gestartet am YYYY-MM-DD HH:MM:SS
[WARNUNG] Viele SSH-Konfigurationen begrenzen die Anzahl paralleler Aufgaben. Es wird empfohlen, die Aufgaben zu reduzieren: verwenden Sie -t 4
[DATEN] maximal 5 Aufgaben pro 1 Server, insgesamt 5 Aufgaben, 5 Anmeldeversuche (b:1/p:5), ~1 Versuch pro Aufgabe
[DATEN] Angriff auf ssh://[2001:db8:1::1]:22/
1 von 1 Ziel abgeschlossen, 0 gültige Passwörter gefunden
Hydra beendet.
Wenn kein Passwort gefunden wird, können Sie versuchen, Ihrer Datei passwords.txt
weitere gängige Passwörter hinzuzufügen. Sie können auch die Option -V
verwenden, um eine ausführlichere Ausgabe zu erhalten, die jeden Versuch anzeigt:
hydra -6 -V -l labex -P passwords.txt ssh://[2001:db8:1::1]
Sollte Hydra ein Passwort erfolgreich finden, sieht die Ausgabe 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 trotzdem).
Hydra (https://github.com/vanhauser-thc/thc-hydra) gestartet am YYYY-MM-DD HH:MM:SS
[WARNUNG] Viele SSH-Konfigurationen begrenzen die Anzahl paralleler Aufgaben. Es wird empfohlen, die Aufgaben zu reduzieren: verwenden Sie -t 4
[DATEN] maximal 5 Aufgaben pro 1 Server, insgesamt 5 Aufgaben, 5 Anmeldeversuche (b:1/p:5), ~1 Versuch pro Aufgabe
[DATEN] Angriff auf ssh://[2001:db8:1::1]:22/
[22][ssh] host: 2001:db8:1::1 login: labex password: [gefundenes_passwort]
1 von 1 Ziel erfolgreich abgeschlossen, 1 gültiges Passwort gefunden
Hydra beendet.
Diese Ausgabe zeigt an, dass Hydra das Passwort für den Benutzer labex
erfolgreich geknackt hat.
Wichtiger Hinweis: Das Brute-Forcing von Passwörtern gegen ein System ohne Autorisierung ist illegal und unethisch. Dieses Labor dient nur zu Ausbildungszwecken, und Sie sollten diese Techniken nur auf Systemen anwenden, die Ihnen gehören oder auf denen Sie explizit die Erlaubnis zum Testen haben.