Hydra installieren und überprüfen

HydraBeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie, Hydra zu installieren und zu überprüfen. Hydra ist ein vielseitiges Tool zum Knacken von Passwörtern, mit dem sich Anmeldungen über verschiedene Protokolle hinweg per Brute-Force testen lassen. Die Übungen umfassen die Paketinstallation, die Überprüfung der Version und grundlegende Befehlstests, um die ordnungsgemäße Funktion sicherzustellen.

Sie üben wichtige Hydra-Funktionen, darunter das Prüfen der Version, das Ermitteln des Pfads zur ausführbaren Datei und das Erkunden der Befehlsoptionen. Diese praktischen Schritte helfen Ihnen, eine erfolgreiche Installation zu bestätigen und sich zugleich mit diesem wichtigen Sicherheitswerkzeug vertraut zu machen.

Hydra auf Ihrem System installieren

In diesem Schritt installieren Sie Hydra, ein leistungsfähiges Tool zum Knacken von Passwörtern, das zum Testen der Netzwerksicherheit eingesetzt wird. Hydra führt Brute-Force-Angriffe gegen Anmeldesysteme aus und unterstützt mehr als 30 Protokolle, darunter HTTP, FTP, SSH und weitere. Wir installieren das Programm auf Ihrer LabEx-VM, die eine sichere Lernumgebung bereitstellt.

Hinweis: Kostenlose Benutzer können keine Verbindung zum Internet herstellen. Daher ist Hydra in der Laborumgebung bereits vorinstalliert. Sie können direkt mit Punkt 4 der Liste fortfahren und prüfen, ob Hydra installiert ist. Als Pro-Nutzer upgraden, um die Installation von Hydra selbst zu üben.

  1. Zunächst müssen wir die Paketliste aktualisieren. Dadurch stellen Sie sicher, dass die neueste verfügbare Version von Hydra und die erforderlichen Abhängigkeiten installiert werden:
sudo apt update

Der Befehl sudo gewährt Administratorrechte, während apt update die Liste der auf Ihrem System verfügbaren Pakete aktualisiert.

  1. Installieren Sie Hydra nun mit dem Paketmanager apt. Die Option -y bestätigt automatisch alle während der Installation angezeigten Abfragen:
sudo apt install -y hydra
  1. Der Installationsvorgang kümmert sich automatisch um alle erforderlichen Abhängigkeiten. Dabei handelt es sich um zusätzliche Softwarekomponenten, die Hydra für den ordnungsgemäßen Betrieb benötigt. Warten Sie, bis der Vorgang abgeschlossen ist – anschließend wird eine entsprechende Meldung angezeigt.

  2. Nach der Installation überprüfen wir, ob Hydra korrekt installiert und erreichbar ist. Der Befehl which zeigt, wo das System die ausführbare Hydra-Datei findet:

which hydra

which hydra

Erwartete Ausgabe:

/usr/bin/hydra

Diese Ausgabe bestätigt, dass Hydra korrekt installiert ist. Der Pfad /usr/bin/ zeigt, dass das Tool systemweit verfügbar ist und daher aus jedem Verzeichnis im Terminal gestartet werden kann. In den nächsten Schritten sehen wir uns die leistungsfähigen Funktionen von Hydra genauer an.

Installierte Hydra-Version überprüfen

In diesem Schritt bestätigen Sie, dass Hydra ordnungsgemäß startet, und ermitteln die installierte Version. Hydra bietet keine eigene Option an, die ausschließlich die Version ausgibt. Die Hilfeausgabe beginnt jedoch mit einem Banner, das die Versionsnummer enthält.

Führen Sie den Hilfe-Befehl von Hydra aus und behalten Sie nur die erste Zeile:

hydra -h 2>&1 | head -n 1

Die Ausgabe sollte in etwa so aussehen:

Hydra v9.2 (c) 2021 by van Hauser/THC & David Maciejak ...

Die genaue Version und das Copyright-Jahr können abweichen. Das angezeigte Banner Hydra v... bestätigt, dass Ihre Shell die installierte ausführbare Datei finden und starten kann.

Verwenden Sie hydra -v oder hydra -V nicht zur Versionsprüfung. Bei Hydra aktiviert -v den ausführlichen Modus, während -V jeden versuchten Benutzernamen und jedes Passwort anzeigt. Beide Optionen werden zusammen mit einem tatsächlichen Ziel verwendet. Werden sie allein ausgeführt, wird zwar das Banner ausgegeben, anschließend schlägt der Befehl jedoch fehl, weil kein Ziel angegeben wurde.

Pfad zur ausführbaren Hydra-Datei ermitteln

In diesem Schritt lernen Sie, den Installationsort von Hydra auf Ihrem System zu ermitteln. Bei der Installation von Software wie Hydra legt das System die ausführbare Datei in bestimmten Verzeichnissen ab. Die Kenntnis dieses Pfads ist aus mehreren Gründen wichtig:

  1. Sie können überprüfen, ob die Installation erfolgreich war.
  2. Sie benötigen diesen Pfad beim Erstellen von Skripten oder Aliasen.
  3. Systemadministratoren müssen die Speicherorte ausführbarer Dateien häufig im Rahmen von Sicherheitsprüfungen kontrollieren.

Beginnen wir mit dem grundlegenden Befehl zum Ermitteln von Hydra:

  1. Verwenden Sie den Befehl which, um die ausführbare Hydra-Datei zu finden. Dieser Befehl durchsucht die in der Umgebungsvariable PATH angegebenen Verzeichnisse und ermittelt, wo Hydra installiert ist:
which hydra
  1. Die Ausgabe zeigt den vollständigen Pfad zur Hauptdatei von Hydra. Auf einem typischen Linux-System sieht sie ungefähr so aus:
/usr/bin/hydra
  1. Sehen wir uns nun weitere Details zu dieser ausführbaren Datei an. Der folgende Befehl kombiniert ls -l (zur Anzeige von Dateiinformationen) mit which hydra (zum Ermitteln des Pfads):
ls -l $(which hydra)
  1. Dadurch erhalten Sie wichtige Informationen, darunter:
    • Dateiberechtigungen (wer die Datei lesen, schreiben oder ausführen darf)
    • Dateibesitzer (bei systemweit installierten Programmen normalerweise root)
    • Dateigröße und Änderungsdatum
    • Den tatsächlichen Pfad

Beispielausgabe:

-rwxr-xr-x 1 root root 123456 Jan 1 00:00 /usr/bin/hydra
  1. Für eine noch genauere Untersuchung können wir prüfen, um welchen Dateityp es sich bei der ausführbaren Hydra-Datei handelt. Dies ist besonders nützlich, wenn Sie sicherstellen müssen, dass es sich um eine echte Binärdatei und nicht um ein Skript oder einen symbolischen Link handelt:
file $(which hydra)
  1. Die Ausgabe zeigt, dass es sich um eine kompilierte Binärdatei und nicht um ein Skript handelt. Außerdem werden technische Details zur Architektur und zur Verknüpfung angezeigt:
/usr/bin/hydra: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=abcdef1234567890, for GNU/Linux 3.2.0, stripped

Mit diesen Befehlen erhalten Sie ein vollständiges Bild davon, wo Hydra installiert ist und um welche Art von ausführbarer Datei es sich handelt. Dieses Wissen ist grundlegend für die Arbeit mit jedem Befehlszeilenwerkzeug.

Hydra mit dem Hilfe-Befehl ausführen

In diesem Schritt lernen Sie, die integrierte Hilfe von Hydra aufzurufen, um die grundlegende Verwendung und die Syntax der Befehle zu verstehen. Das Hilfesystem von Hydra ist Ihr erster Anlaufpunkt bei der Arbeit mit diesem Tool, da es alle verfügbaren Befehle und Optionen ausführlich erklärt.

  1. Um das grundlegende Hilfemenü mit der allgemeinen Befehlsstruktur und den gängigen Optionen anzuzeigen, führen Sie diesen Befehl in Ihrem Terminal aus:
hydra -h
  1. Die Ausgabe zeigt zunächst die Versionsinformationen von Hydra und anschließend die grundlegende Befehlssyntax. Dazu gehören:
  • Formate der erforderlichen Parameter
  • Gängige Optionsschalter
  • Grundlegende Anwendungsbeispiele

Typischerweise sehen Sie Folgendes:

Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak
Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][/OPT]]

Options:
  -l LOGIN or -L FILE  login with LOGIN name, or load several logins from FILE
  -p PASS  or -P FILE  try password PASS, or load several passwords from FILE
  ...
  1. Für protokollspezifische Hilfe mit erweiterten Optionen für bestimmte Dienste wie HTTP oder FTP verwenden Sie dieses Format:
hydra -U SERVICE

Ersetzen Sie SERVICE durch den Namen des tatsächlich verwendeten Protokolls, beispielsweise http, ftp oder ssh. Dadurch werden die speziellen Optionen für diesen Dienst angezeigt.

  1. Um alle verfügbaren Dienstmodule zu ermitteln, mit denen Hydra arbeiten kann, führen Sie den folgenden Befehl aus. Beachten Sie, dass foo und bar hier lediglich Platzhalter sind:
hydra -l foo -p bar -U
  1. Die umfassende Hilfeausgabe enthält wichtige Informationen, darunter:
  • Obligatorische und optionale Parameter der einzelnen Module
  • Praktische Anwendungsbeispiele
  • Eine vollständige Liste der unterstützten Protokolle
  • Leistungseinstellungen zur Feinabstimmung Ihrer Tests

Beachten Sie, dass das Hilfesystem von Hydra kontextabhängig ist: Die angezeigten Informationen ändern sich abhängig davon, welche Optionen Sie mit den Schaltern -h oder -U kombinieren.

Hydra mit einem Dummy-Befehl testen

In diesem Schritt führen Sie einen sicheren Testbefehl mit Hydra aus, um die grundlegende Funktion zu überprüfen, ohne reale Systeme anzugreifen. Dies ist ein wichtiger erster Schritt, um die Arbeitsweise von Hydra zu verstehen, bevor Sie das Tool in realen Szenarien einsetzen.

  1. Erstellen Sie zunächst eine Testliste mit Passwörtern. Diese Datei enthält Beispielpasswörter, die Hydra während des Tests ausprobiert:
echo -e "password\n123456\nqwerty" > ~/project/test_passwords.txt
  1. Erstellen Sie eine Testliste mit Benutzernamen. Auch diese Datei enthält Beispielwerte, die Hydra verwenden wird:
echo -e "admin\ntest\nroot" > ~/project/test_usernames.txt
  1. Nun führen wir Hydra im Testmodus gegen localhost aus, also gegen Ihren eigenen Rechner. Das ist vollkommen sicher, da das Zielsystem Ihr eigener Rechner ist und die verwendeten Testzugangsdaten ohnehin nicht funktionieren:
hydra -L ~/project/test_usernames.txt -P ~/project/test_passwords.txt 127.0.0.1 ssh -t 1 -vV
  1. Sie sollten eine Ausgabe sehen, die den Testversuch dokumentiert. Sie zeigt, wie Hydra die verschiedenen Passwortkombinationen durchgeht, wobei die Anmeldung nicht erfolgreich sein wird:
[DATA] attacking ssh://127.0.0.1:22/
[VERBOSE] Resolving addresses ... [VERBOSE] resolving done
[INFO] Testing if password authentication is supported by ssh://127.0.0.1:22
[22][ssh] host: 127.0.0.1   login: admin   password: password
[22][ssh] host: 127.0.0.1   login: admin   password: 123456
[22][ssh] host: 127.0.0.1   login: admin   password: qwerty
...
[STATUS] attack finished for 127.0.0.1 (waiting for children to complete tests)
  1. Der Befehl verwendet die folgenden sicheren Parameter, deren Bedeutung wichtig ist:
  • -L: Gibt den Pfad zur erstellten Datei mit den Benutzernamen an.
  • -P: Gibt den Pfad zur erstellten Datei mit den Passwörtern an.
  • -t 1: Beschränkt Hydra auf eine parallele Verbindung. Dadurch wird der Test langsamer, aber sicherer.
  • -vV: Aktiviert eine ausführliche Ausgabe, damit Sie sehen können, was Hydra gerade tut.
  • ssh: Gibt an, dass das SSH-Protokoll getestet wird. Dieser Test wird jedoch nicht erfolgreich sein.

Dieser Test demonstriert die grundlegende Funktionsweise von Hydra ohne Risiko und zeigt, wie das Tool systematisch verschiedene Kombinationen aus Benutzernamen und Passwörtern ausprobiert. Die Ausgabe zeigt die durchgeführten Versuche, von denen keiner auf Ihrem lokalen Rechner erfolgreich sein wird.

Zusammenfassung

In diesem Lab haben Sie gelernt, das Tool Hydra zum Knacken von Passwörtern auf einer LabEx-VM zu installieren und zu überprüfen. Dazu haben Sie die Paketlisten aktualisiert, Hydra über apt installiert und den Installationspfad unter /usr/bin/hydra bestätigt. Außerdem haben Sie die Installation überprüft, indem Sie die Hydra-Version mit den Befehlen hydra -v und hydra -V kontrolliert haben.

Zusätzlich haben Sie die grundlegende Funktionsweise von Hydra erkundet, den Pfad zur ausführbaren Datei mit which hydra ermittelt und Befehle wie hydra -h getestet. Damit wurde sichergestellt, dass Hydra korrekt installiert und für praktische Sicherheitstests einsatzbereit ist.