Passwort-Cracking mit Hydra

LinuxBeginner
Jetzt üben

Einführung

In diesem Lab beschäftigen Sie sich mit Sicherheitslücken bei Passwörtern und lernen den Umgang mit Hydra, einem bekannten Sicherheitswerkzeug zum Testen der Passwortstärke. Sie werden einen Brute-Force-Angriff auf einer Übungs-Website simulieren, um zu verstehen, wie leicht schwache Passwörter kompromittiert werden können.

Diese praktische Übung verdeutlicht, warum komplexe Passwörter in der Cybersicherheit von entscheidender Bedeutung sind. Sie erwerben praktische Fertigkeiten in der Konfiguration von Hydra, der Analyse von Angriffsergebnissen und der Bewertung von Sicherheitsmaßnahmen für Passwörter.

Untersuchung der Ziel-Website

In diesem Schritt schauen wir uns die Website an, die wir testen werden, und führen in das Konzept von Brute-Force-Angriffen ein. Bevor wir automatisierte Werkzeuge einsetzen, ist es wichtig zu verstehen, wie grundlegende Authentifizierungssysteme funktionieren und welches Ziel wir verfolgen.

Öffnen Sie den Tab Web 8080 in Ihrer Lab-Umgebung. Es erscheint eine Browser-Oberfläche mit einer einfachen Login-Seite, die Felder für Benutzername und Passwort enthält – ganz ähnlich wie die Anmeldeseiten, die Ihnen täglich im Internet begegnen.

Login page screenshot

Versuchen wir zunächst einige manuelle Anmeldeversuche, um die Reaktion des Systems zu beobachten:

  1. Erster Versuch:

    • Benutzername: test
    • Passwort: password123
  2. Zweiter Versuch:

    • Benutzername: admin
    • Passwort: admin

Nach jedem Versuch erhalten Sie die Meldung "Invalid username or password". Diese allgemeine Antwort ist Absicht: Sie verrät nicht, ob der Benutzername existiert oder ob lediglich das Passwort falsch war. Man nennt dies "Security through Obscurity" (Sicherheit durch Unklarheit). Es verhindert, dass Angreifer Informationen über existierende Konten sammeln können.

Ihnen wird auffallen, dass Sie beliebig viele Kombinationen ohne Einschränkung ausprobieren können. In echten Produktivsystemen würden Sicherheitsmaßnahmen wie Kontosperren oder CAPTCHAs nach mehreren Fehlversuchen greifen, um automatisierte Angriffe zu unterbinden. Das Fehlen dieser Schutzmechanismen in unserer Lab-Umgebung macht sie ideal für die Demonstration von Brute-Force-Techniken.

Was Sie gerade manuell getan haben – das Ausprobieren verschiedener Kombinationen –, ist im Grunde die manuelle Form eines Brute-Force-Angriffs. Bei echten Angriffen nutzen Hacker automatisierte Tools, um tausende Kombinationen pro Sekunde zu testen. Diese Übung zeigt, warum simple Passwörter wie "password123" oder "admin" extrem unsicher sind und warum Systeme Schutzmaßnahmen benötigen.

Analyse der Passwortliste

Nachdem wir das Grundkonzept verstanden haben, schauen wir uns eine Liste gängiger Passwörter an, die Angreifer verwenden könnten. Brute-Force-Angriffe funktionieren durch das systematische Durchprobieren aller möglichen Kombinationen, bis die richtige gefunden wird. Die Verwendung vorbereiteter Listen beschleunigt diesen Prozess massiv.

Wechseln Sie zurück zum Desktop Tab in Ihrer Lab-Umgebung. Hier werden wir alle Befehle ausführen und die Ergebnisse einsehen.

Öffnen Sie das Xfce Terminal auf dem Desktop durch Doppelklick auf das entsprechende Icon. Das Terminal ist unser Hauptwerkzeug für die Befehlseingabe.

Xfce Terminal on Desktop

In der Realität nutzen Angreifer oft riesige Listen aus vergangenen Datenlecks, die Millionen von Passwörtern enthalten. Für unser Lab verwenden wir eine kleinere Auswahl häufiger, schwacher Passwörter. Diese Liste liegt bereits für Sie bereit unter /home/labex/project/500-worst-passwords.txt.

Untersuchen wir den Inhalt der Datei mit dem Befehl head, der die ersten Zeilen anzeigt:

head -n 10 500-worst-passwords.txt

Dieser Befehl zeigt die ersten 10 Passwörter der Liste an. Die Option -n 10 legt die genaue Zeilenanzahl fest.

123456
password
12345678
1234
12345
dragon
qwerty
567sjej
mustang
letmein

Diese Passwörter sind leider immer noch weit verbreitet. Beachten Sie, wie einfach und vorhersehbar sie sind – meist Zahlenfolgen oder einfache Begriffe. Genau deshalb probieren Angreifer diese als Erstes aus.

Mit einer solchen Liste kann ein Angreifer die Effizienz enorm steigern. Statt jede erdenkliche Zeichenkombination zu raten (was Jahre dauern könnte), beginnt er mit den wahrscheinlichsten Treffern. In der Cybersicherheit nennen wir dies einen "Dictionary Attack" (Wörterbuchangriff) – eine intelligentere Form des Brute-Forcing, die auf bekannten Begriffen statt auf Zufall basiert.

Konfiguration von Hydra

Da wir nun unsere Passwortliste haben, richten wir Hydra ein. Hydra ist ein mächtiges Werkzeug, das Sicherheitsexperten hilft, die Widerstandsfähigkeit von Passwörtern zu testen, indem es Anmeldevorgänge automatisiert.

Zuerst erstellen wir eine Textdatei mit gängigen Benutzernamen, die wir testen wollen. Viele Systeme nutzen vorhersehbare Standard-Nutzer, die oft das erste Ziel von Angriffen sind. Führen Sie diese Befehle aus:

cd ~/project
echo -e "admin\nuser\nroot" > ~/project/usernames.txt
cat ~/project/usernames.txt

Der Befehl cd ~/project stellt sicher, dass wir im richtigen Verzeichnis arbeiten. Danach erstellen wir die Datei usernames.txt mit den Namen admin, user und root (jeweils in einer neuen Zeile). Der letzte Befehl dient der Überprüfung.

In diesem Lab ist Hydra bereits vorinstalliert:

Hinweis: Nutzer der kostenlosen Version haben keinen Internetzugang, daher ist Hydra bereits vorinstalliert. Sie können diesen Installationsschritt überspringen. Upgrade auf Pro, um die manuelle Installation von Hydra zu üben.

Nur für Pro-Nutzer
sudo apt-get update
sudo apt-get install hydra -y

Hydra nimmt Listen von Benutzernamen und Passwörtern und versucht, sich damit bei einem Zieldienst zu authentifizieren. Es unterstützt zahlreiche Protokolle wie HTTP, FTP, SSH und viele mehr.

Um zu prüfen, ob Hydra bereit ist, können wir das Hilfe-Menü aufrufen:

hydra -h

Dieser Befehl zeigt alle verfügbaren Optionen und unterstützten Protokolle an. Dies ist hilfreich, um den Funktionsumfang von Hydra zu verstehen, bevor wir mit dem eigentlichen Angriff beginnen.

Passwort-Cracking mit Hydra durchführen

Jetzt setzen wir Hydra ein, um den Brute-Force-Angriff auf unsere Übungs-Website zu simulieren. Hydra wird dabei systematisch die Kombinationen aus unseren Listen gegen das Login-Formular testen.

Führen Sie den folgenden Befehl aus:

hydra -L ~/project/usernames.txt -P ~/project/500-worst-passwords.txt localhost -s 8080 http-post-form "/:username=^USER^&password=^PASS^:Invalid username or password" -o ~/project/hydra_results.txt

Hier ist die Erklärung der einzelnen Parameter:

  • hydra: Startet das Programm.
  • -L ~/project/usernames.txt: Pfad zur Datei mit den Benutzernamen.
  • -P ~/project/500-worst-passwords.txt: Pfad zur Liste der Passwörter.
  • localhost -s 8080: Die Adresse des Zielservers (localhost) und der Port (8080).
  • "/:username=^USER^&password=^PASS^:Invalid username or password": Diese Anweisung definiert für Hydra:
    • Die URL der Login-Seite (/)
    • Die Namen der Formularfelder (username und password)
    • Die Fehlermeldung, an der Hydra erkennt, dass ein Versuch fehlgeschlagen ist.
  • -o ~/project/hydra_results.txt: Speichert erfolgreiche Treffer in dieser Datei.

Hydra beginnt nun mit der Arbeit. Sie sehen in der Ausgabe, wie die Kombinationen durchprobiert werden. Je nach Umfang der Listen kann dies einen Moment dauern.

Hydra command execution output

Sobald Hydra fertig ist, prüfen wir, ob erfolgreiche Logins gefunden wurden:

cat ~/project/hydra_results.txt
Hydra results output

Erfolgreiche Anmeldungen werden in der Form "login: [username] password: [password] found" angezeigt. Diese Zugangsdaten würden vollen Zugriff auf das System gewähren.

Diese Übung verdeutlicht wichtige Sicherheitsaspekte:

  • Hydra hat hunderte Kombinationen in wenigen Minuten getestet, was die Geschwindigkeit automatisierter Angriffe zeigt.
  • Die Treffer beweisen, dass schwache Passwörter keinerlei Schutz bieten.
  • In der Realität nutzen Angreifer Wörterbücher mit Millionen von Einträgen, weshalb einzigartige und komplexe Passwörter unerlässlich sind.
  • Der Unterschied zwischen dem manuellen Probieren (Schritt 1) und dem automatisierten Tool zeigt, warum Passwort-Richtlinien so wichtig sind.

Die Effizienz solcher Tools macht schwache Zugangsdaten extrem verwundbar. Deshalb legen Sicherheitsexperten so großen Wert auf komplexe Passwörter und Sperrmechanismen bei Fehlversuchen.

Zusammenfassung

In diesem Lab haben Sie die Grundlagen der Passwortsicherheit durch die praktische Anwendung von Hydra erlernt. Sie haben erfahren, wie Brute-Force-Angriffe funktionieren, warum sie schwache Passwörter gefährden und welche zentrale Rolle sichere Passwort-Praktiken in der Cybersicherheit spielen.

Diese Übung hat verdeutlicht, warum Experten komplexe und einzigartige Passwörter fordern. Nutzen Sie dieses Wissen verantwortungsbewusst und ethisch korrekt, während Sie Ihre Lernreise im Bereich der IT-Sicherheit fortsetzen.