Hydra Angriffsgeschwindigkeit und Threads anpassen

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 lernen Sie, wie Sie die Brute-Force-Angriffsleistung von Hydra durch Anpassen der Thread-Konfigurationen optimieren können. Sie werden untersuchen, wie sich verschiedene Thread-Einstellungen auf die Angriffsgeschwindigkeit und die Systemressourcenauslastung durch praktische SSH-Angriffsszenarien auswirken.

Die Übungen führen Sie durch das Modifizieren der Thread-Anzahl, das Ausführen von Angriffen mit Passwortlisten und das Analysieren von Leistungsunterschieden. Sie sammeln praktische Erfahrungen mit den Parallelverarbeitungsfähigkeiten von Hydra und verstehen gleichzeitig das Gleichgewicht zwischen Angriffseffizienz und Systemlast.


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/ssh_attack("SSH Brute Force") hydra/HydraGroup -.-> hydra/verbose_mode("Verbose Mode Usage") hydra/HydraGroup -.-> hydra/task_limit("Task Limit Configuration") hydra/HydraGroup -.-> hydra/timeout_setting("Timeout Adjustment") hydra/HydraGroup -.-> hydra/rate_control("Rate Limiting Control") hydra/HydraGroup -.-> hydra/service_options("Service-Specific Options") subgraph Lab Skills hydra/single_username -.-> lab-549913{{"Hydra Angriffsgeschwindigkeit und Threads anpassen"}} hydra/single_password -.-> lab-549913{{"Hydra Angriffsgeschwindigkeit und Threads anpassen"}} hydra/ssh_attack -.-> lab-549913{{"Hydra Angriffsgeschwindigkeit und Threads anpassen"}} hydra/verbose_mode -.-> lab-549913{{"Hydra Angriffsgeschwindigkeit und Threads anpassen"}} hydra/task_limit -.-> lab-549913{{"Hydra Angriffsgeschwindigkeit und Threads anpassen"}} hydra/timeout_setting -.-> lab-549913{{"Hydra Angriffsgeschwindigkeit und Threads anpassen"}} hydra/rate_control -.-> lab-549913{{"Hydra Angriffsgeschwindigkeit und Threads anpassen"}} hydra/service_options -.-> lab-549913{{"Hydra Angriffsgeschwindigkeit und Threads anpassen"}} end

Hydra Thread-Optionen verstehen

In diesem Schritt lernen Sie die Thread-Optionen von Hydra kennen und wie sie die Geschwindigkeit von Brute-Force-Angriffen beeinflussen. Hydra ist ein beliebtes Tool zum Knacken von Passwörtern, das parallelisierte Angriffe mit mehreren Threads unterstützt. Threads ermöglichen es Hydra, mehrere Passwortkombinationen gleichzeitig auszuprobieren, was den Knackprozess im Vergleich zum Ausprobieren eines Passworts nach dem anderen erheblich beschleunigt.

  1. Öffnen Sie zunächst ein Terminal in Ihrer LabEx VM und navigieren Sie zum Standardarbeitsverzeichnis:

    cd ~/project
  2. Lassen Sie uns das Hilfemenü von Hydra überprüfen, um die Thread-bezogenen Optionen zu verstehen:

    hydra -h | grep -i thread

    Der Befehl grep -i thread filtert die Ausgabe, um nur Thread-bezogene Informationen anzuzeigen, wodurch es einfacher ist, das zu finden, was wir benötigen. Sie sollten eine ähnliche Ausgabe sehen wie:

    -t TASKS  run TASKS number of connects in parallel (default: 16)
  3. Die Option -t steuert die Anzahl der parallelen Verbindungen (Threads), die Hydra verwenden wird. Stellen Sie sich Threads wie Arbeiter vor - mehr Arbeiter können mehr Aufgaben gleichzeitig erledigen. Mehr Threads bedeuten schnellere Angriffe, aber auch eine höhere Ressourcenauslastung und mehr Netzwerkverkehr. Dies ist wichtig, da die Verwendung von zu vielen Threads Ihr System überlasten oder Sicherheitswarnungen auf dem Zielsystem auslösen kann.

  4. Erstellen wir eine kleine Testpasswortliste, um das Thread-Verhalten zu demonstrieren:

    cat > test_passwords.txt << EOF
    test1
    test2
    test3
    test4
    test5
    EOF
  5. Lassen Sie uns nun sehen, wie sich unterschiedliche Thread-Anzahlen auf die Angriffsgeschwindigkeit auswirken. Versuchen Sie es zuerst mit 1 Thread:

    hydra -l testuser -P test_passwords.txt 127.0.0.1 ssh -t 1 -vV

    Beachten Sie, wie es Passwörter einzeln ausprobiert, mit nur einem Kindprozess (child process).

  6. Versuchen Sie es nun mit 4 Threads:

    hydra -l testuser -P test_passwords.txt 127.0.0.1 ssh -t 4 -vV

    Sie sehen mehrere Kindprozesse, die gleichzeitig arbeiten und verschiedene Passwörter parallel ausprobieren. Diese parallele Ausführung sollte spürbar schneller sein als die Single-Thread-Version.

  7. Versuchen Sie es schließlich mit 8 Threads:

    hydra -l testuser -P test_passwords.txt 127.0.0.1 ssh -t 8 -vV

    Obwohl wir nur 5 Passwörter haben, erstellt Hydra dennoch 8 Kindprozesse, aber nur 5 werden aktiv arbeiten. Dies zeigt, wie sich die Thread-Anzahl auf die Parallelverarbeitung auswirkt.

Einen einfachen SSH-Angriff einrichten

In diesem Schritt bereiten Sie ein einfaches SSH-Angriffsszenario mit Hydra vor. Diese Demonstration hilft Ihnen zu verstehen, wie Passwort-Cracking-Tools in einer kontrollierten Umgebung funktionieren. Wir verwenden eine umfassende Passwortliste und zielen aus Sicherheitsgründen auf einen lokalen SSH-Server (SSH server) ab, der auf Ihrem eigenen Rechner läuft.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Arbeitsverzeichnis befinden:

    cd ~/project
  2. Die Passwortlistendatei passwords.txt wurde mit einem umfassenden Satz gängiger Passwörter erstellt. Diese größere Liste hilft uns, die Auswirkungen verschiedener Thread-Konfigurationen auf die Angriffsleistung besser zu demonstrieren. Überprüfen Sie, ob die Passwortdatei korrekt erstellt wurde:

    cat passwords.txt
  3. Für dieses Lab zielen wir auf den lokalen SSH-Server (127.0.0.1) ab, der Ihr eigener Rechner ist. Dies ist sicherer als Angriffe auf Remote-Systeme. Überprüfen Sie zunächst, ob SSH läuft:

    sudo service ssh status

    Wenn es nicht läuft, starten Sie es mit: sudo service ssh start

Angriff mit Standard-Threads ausführen

In diesem Schritt führen Sie einen SSH-Brute-Force-Angriff (SSH brute-force attack) mit Hydra und den Standard-Thread-Einstellungen aus. Hydra verwendet standardmäßig automatisch 16 parallele Threads, was bedeutet, dass es 16 verschiedene Passwortkombinationen gleichzeitig versucht. Mit unserer größeren Passwortliste können Sie die Auswirkungen der Thread-Konfiguration deutlicher beobachten.

  1. Navigieren Sie zunächst zu Ihrem Arbeitsverzeichnis:

    cd ~/project
  2. Führen Sie den Hydra-Angriff gegen den lokalen SSH-Server aus:

    hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV
  3. Beobachten Sie die Ausgabe sorgfältig. Sie werden Folgendes sehen:

    • Hydra startet mit 16 Tasks (Threads)
    • Jeder Anmeldeversuch wird in Echtzeit angezeigt
    • Die aktuelle Geschwindigkeit, gemessen in Versuchen pro Minute
    • Eine erfolgreiche Anmeldung, wenn das richtige Passwort gefunden wird
  4. Um genaue Zeitmessungen zu erhalten, führen Sie den Befehl mit dem time-Utility aus:

    time hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV
  5. Notieren Sie diese Zeitergebnisse sorgfältig. Mit unserer größeren Passwortliste können Sie deutliche Leistungsunterschiede erkennen, wenn wir die Thread-Anzahl anpassen.

Threads erhöhen und Geschwindigkeit vergleichen

In diesem Schritt lernen Sie, wie sich die Anpassung der Thread-Anzahl von Hydra auf die Leistung beim Knacken von Passwörtern (password cracking performance) auswirkt. Wir vergleichen die Ergebnisse verschiedener Thread-Einstellungen, um den Kompromiss zwischen Geschwindigkeit und Ressourcenauslastung zu verstehen.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Arbeitsverzeichnis befinden:

    cd ~/project
  2. Führen Sie Hydra mit erhöhter Thread-Anzahl (32) aus und messen Sie die Ausführungszeit:

    time hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV -t 32
  3. Testen Sie nun mit noch höheren Threads (64), um zu sehen, ob sich die Leistung weiter verbessert:

    time hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV -t 64
  4. Analysieren Sie, wie sich die Erhöhung der Threads auswirkt auf:

    • Gesamtdauer des Angriffs (overall attack duration)
    • Systemressourcenauslastung (sichtbar in den User/System-Spalten der Time-Ausgabe)
    • Rate der Netzwerkverbindungsversuche (angezeigt in der ausführlichen Ausgabe von Hydra)

Angriff mit reduzierten Threads testen

In diesem Schritt untersuchen wir, wie sich die Reduzierung der Thread-Anzahl von Hydra auf die Leistung beim Knacken von Passwörtern (password cracking performance) auswirkt. Wir testen mit niedrigeren Thread-Anzahlen, um das Gleichgewicht zwischen Geschwindigkeit und Ressourcenauslastung zu verstehen.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Arbeitsverzeichnis befinden:

    cd ~/project
  2. Führen Sie Hydra mit 8 Threads (der Hälfte unseres vorherigen Minimums) aus und messen Sie die Ausführungszeit:

    time hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV -t 8
  3. Testen Sie nun mit nur 4 Threads, um die minimal praktikable Konfiguration zu sehen:

    time hydra -l testuser -P passwords.txt 127.0.0.1 ssh -vV -t 4
  4. Berücksichtigen Sie diese praktischen Kompromisse für die reale Nutzung:

    • Höhere Threads (16-64) für schnelle Angriffe auf leistungsstarken Systemen
    • Niedrigere Threads (4-8) für Stealth- oder ressourcenbeschränkte Umgebungen
    • Die Netzwerkauswirkungen variieren mit der Thread-Anzahl - mehr Threads erzeugen mehr erkennbaren Datenverkehr (detectable traffic)

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie die Angriffsgeschwindigkeit und die Thread-Einstellungen von Hydra für effiziente Brute-Force-Angriffe konfigurieren. Zu den wichtigsten Erkenntnissen gehört die Verwendung des Parameters -t zur Steuerung paralleler Verbindungen und die Analyse, wie sich die Thread-Anzahl auf die Leistung auswirkt, anhand praktischer Tests mit verschiedenen Werten.

Sie haben auch praktische Erfahrungen gesammelt, indem Sie ein SSH-Angriffsszenario eingerichtet, eine Passwortliste erstellt und die Beziehung zwischen Thread-Anzahl, Angriffsgeschwindigkeit und Systemressourcenauslastung beobachtet haben. Diese praktische Übung hat dazu beigetragen, Optimierungstechniken für Hydra in verschiedenen Testumgebungen zu demonstrieren.