Dateien für Hydra-Angriffe vorbereiten

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 erforderlichen Dateien für Hydra-Brute-Force-Angriffe vorbereiten, indem Sie Benutzernamen- und Passwortlisten erstellen und bearbeiten. Sie werden Textdateien generieren, die gängige Zugangsdaten enthalten, und diese mit zusätzlichen Variationen anpassen, um die Effektivität der Tests zu erhöhen.

Die Übung umfasst das Erstellen der Dateien usernames.txt und passwords.txt, das Erweitern dieser Dateien um weitere Einträge und die Überprüfung, ob Hydra diese Dateien korrekt laden kann. Diese vorbereiteten Listen werden die Grundlage für nachfolgende Versuche zum Knacken von Authentifizierungen bilden.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/password_creation("Password List Creation") hydra/HydraGroup -.-> hydra/username_creation("Username List Creation") hydra/HydraGroup -.-> hydra/single_username("Single Username Attack") hydra/HydraGroup -.-> hydra/single_password("Single Password Attack") hydra/HydraGroup -.-> hydra/output_saving("Output File Saving") hydra/HydraGroup -.-> hydra/verbose_mode("Verbose Mode Usage") subgraph Lab Skills hydra/password_creation -.-> lab-549920{{"Dateien für Hydra-Angriffe vorbereiten"}} hydra/username_creation -.-> lab-549920{{"Dateien für Hydra-Angriffe vorbereiten"}} hydra/single_username -.-> lab-549920{{"Dateien für Hydra-Angriffe vorbereiten"}} hydra/single_password -.-> lab-549920{{"Dateien für Hydra-Angriffe vorbereiten"}} hydra/output_saving -.-> lab-549920{{"Dateien für Hydra-Angriffe vorbereiten"}} hydra/verbose_mode -.-> lab-549920{{"Dateien für Hydra-Angriffe vorbereiten"}} end

Erstellen einer Benutzernamenliste-Datei

In diesem Schritt erstellen Sie eine Textdatei, die eine Liste gängiger Benutzernamen enthält, die zum Testen von Authentifizierungssystemen verwendet werden können. Diese Benutzernamenliste ist für Hydra-Angriffe unerlässlich, da sie dem Tool potenzielle Kontonamen liefert, die während Brute-Force- oder Wörterbuchangriffen versucht werden können.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Arbeitsverzeichnis befinden. Der Befehl cd ändert Ihr aktuelles Verzeichnis, und wir verwenden ~/project als Arbeitsverzeichnis für dieses Lab:
cd ~/project
  1. Erstellen Sie eine neue Textdatei mit dem Namen usernames.txt mithilfe von nano, einem einfachen Befehlszeilen-Texteditor. Der folgende Befehl erstellt entweder eine neue Datei oder öffnet eine vorhandene:
nano usernames.txt
  1. Fügen Sie nun gängige Benutzernamen hinzu, die häufig als Standardzugangsdaten in verschiedenen Systemen verwendet werden. Geben Sie diese Benutzernamen ein oder fügen Sie sie ein, jeweils in einer eigenen Zeile:
admin
root
user
test
guest
administrator
  1. Um Ihre Änderungen in nano zu speichern:
  • Drücken Sie Ctrl+O (Write Out), um zu speichern.
  • Drücken Sie Enter, um den Dateinamen (usernames.txt) zu bestätigen.
  • Drücken Sie Ctrl+X, um den Editor zu verlassen.
  1. Überprüfen Sie, ob die Datei korrekt erstellt wurde, indem Sie ihren Inhalt mit dem Befehl cat anzeigen. Dadurch können Sie genau sehen, was in der Datei gespeichert ist:
cat usernames.txt

Sie sollten die Liste der von Ihnen eingegebenen Benutzernamen sehen, jeweils in einer separaten Zeile. Diese Datei wird in den folgenden Schritten als Eingabe für Hydra dienen, wobei das Tool systematisch jeden Benutzernamen (kombiniert mit Passwörtern aus einer anderen Datei) versuchen wird, um Authentifizierungssysteme zu testen.

Erstellen einer Passwortliste-Datei

In diesem Schritt erstellen Sie eine Textdatei, die gängige Passwörter enthält. Diese wird zusammen mit der Benutzernamenliste aus Schritt 1 verwendet, um Authentifizierungssysteme mit Hydra zu testen. Passwortlisten sind für Brute-Force-Angriffe unerlässlich, da sie häufig verwendete Zugangsdaten enthalten, gegen die Systeme anfällig sein können.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Arbeitsverzeichnis befinden (falls Sie es noch nicht sind). Das Verzeichnis ~/project ist der Ort, an dem wir alle unsere Angriffsdateien speichern, um sie organisiert zu halten:
cd ~/project
  1. Erstellen Sie eine neue Textdatei mit dem Namen passwords.txt mithilfe von nano. Nano ist ein einfacher Texteditor, der in den meisten Linux-Distributionen vorinstalliert ist und perfekt für Anfänger geeignet ist:
nano passwords.txt
  1. Fügen Sie die folgenden gängigen Passwörter der Datei hinzu (jeweils in einer eigenen Zeile). Laut Sicherheitsforschung gehören diese zu den am häufigsten verwendeten schwachen Passwörtern:
password
123456
admin
12345678
qwerty
123456789
  1. Speichern Sie die Datei, indem Sie drücken:
  • Ctrl+O (Write Out) – Dies speichert Ihre Änderungen.
  • Drücken Sie Enter, um den Dateinamen zu bestätigen.
  • Ctrl+X, um nano zu verlassen und zum Terminal zurückzukehren.
  1. Überprüfen Sie, ob die Datei korrekt erstellt wurde, indem Sie ihren Inhalt anzeigen. Der Befehl cat ist eine schnelle Möglichkeit, den Dateiinhalt zu überprüfen, ohne einen Editor zu öffnen:
cat passwords.txt

Sie sollten die Liste der von Ihnen eingegebenen Passwörter sehen, jeweils in einer separaten Zeile. Diese Passwortliste wird in späteren Schritten mit der Benutzernamenliste aus Schritt 1 kombiniert, wenn Sie Hydra ausführen. Wenn beide Dateien richtig formatiert sind, kann Hydra während des Angriffs systematisch alle möglichen Benutzernamen-Passwort-Kombinationen testen.

Bearbeiten von Listen mit gängigen Zugangsdaten

In diesem Schritt verbessern Sie sowohl die Benutzernamen- als auch die Passwortlisten, die in den vorherigen Schritten erstellt wurden, indem Sie weitere gängige Zugangsdaten hinzufügen, die häufig in Authentifizierungssystemen verwendet werden. Diese Ergänzungen sind wichtig, da reale Systeme oft Standard- oder häufig verwendete Zugangsdaten haben, die für Brute-Force-Angriffe anfällig sein können.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Arbeitsverzeichnis befinden, in dem sich Ihre Zugangsdaten-Dateien befinden. Dadurch wird sichergestellt, dass alle Ihre Änderungen am richtigen Ort vorgenommen werden:
cd ~/project
  1. Öffnen Sie die Benutzernamenliste zum Bearbeiten mit dem Texteditor nano. Nano ist ein einfacher Befehlszeilen-Editor, der perfekt für Anfänger geeignet ist:
nano usernames.txt
  1. Fügen Sie diese zusätzlichen gängigen Benutzernamen zur bestehenden Liste hinzu. Dies sind typische Standardkonten, die viele Systeme verwenden, was sie zu guten Kandidaten für Tests macht:
sysadmin
webmaster
support
backup
oracle
mysql
  1. Speichern Sie die Datei, indem Sie Ctrl+O (write out) drücken, dann Enter zum Bestätigen und schließlich Ctrl+X, um nano zu verlassen. Diese Tastenkombinationen sind für die Arbeit mit Befehlszeilen-Editoren unerlässlich.

  2. Öffnen Sie nun die Passwortliste zum Bearbeiten mit dem gleichen Verfahren:

nano passwords.txt
  1. Fügen Sie diese zusätzlichen gängigen Passwörter zur bestehenden Liste hinzu. Dies sind schwache Passwörter, die Benutzer häufig wählen, weshalb es wichtig ist, sie in Ihren Tests aufzunehmen:
letmein
welcome
password1
123123
12345
111111
  1. Speichern Sie die Passwortdatei mit der gleichen Methode: Ctrl+O, Enter, dann Ctrl+X.

  2. Überprüfen Sie, ob beide Dateien die aktualisierten Zugangsdaten enthalten, indem Sie ihren Inhalt anzeigen. Der Teil && echo "---" fügt einen visuellen Trenner zwischen den beiden Dateien hinzu, wenn sie angezeigt werden:

cat usernames.txt && echo "---" && cat passwords.txt

Sie sollten sehen, dass beide Listen nun umfassendere Sets von Zugangsdaten enthalten. Diese verbesserten Listen bieten eine bessere Abdeckung beim Testen von Authentifizierungssystemen mit Hydra, da sie sowohl Standard-Systemkonten als auch häufig verwendete schwache Passwörter enthalten, die oft in realen Szenarien vorkommen.

Speichern von Listen in einem zugänglichen Verzeichnis

In diesem Schritt erfahren Sie, wie Sie Ihre Zugangsdatenlisten für Hydra-Angriffe richtig organisieren, indem Sie ein spezielles Verzeichnis erstellen und die richtigen Dateiberechtigungen festlegen. Dies ist wichtig, da Hydra während der Passwortknackversuche auf diese Dateien zugreifen muss.

  1. Navigieren Sie zunächst in Ihr Projektverzeichnis, falls Sie sich noch nicht darin befinden. Dadurch wird sichergestellt, dass alle Ihre Dateien an einem Ort organisiert bleiben:
cd ~/project
  1. Erstellen Sie ein neues Verzeichnis namens hydra_lists, speziell für die Speicherung Ihrer Zugangsdaten-Dateien. Die Verwendung separater Verzeichnisse hilft, Ihren Arbeitsbereich ordentlich zu halten und macht es einfacher, Dateien zu finden:
mkdir hydra_lists
  1. Verschieben Sie sowohl Ihre Benutzernamen- als auch Ihre Passwortdateien in dieses neue Verzeichnis. Der Befehl mv verschiebt die Dateien physisch von ihrem aktuellen Speicherort in das neue Verzeichnis:
mv usernames.txt passwords.txt hydra_lists/
  1. Überprüfen Sie, ob die Dateien erfolgreich verschoben wurden, indem Sie den Inhalt des Verzeichnisses auflisten. Das -l-Flag zeigt detaillierte Informationen, einschließlich der Dateiberechtigungen:
ls -l hydra_lists/

Sie sollten sowohl usernames.txt als auch passwords.txt mit ihren Berechtigungen aufgeführt sehen.

  1. Legen Sie geeignete Berechtigungen fest, um sicherzustellen, dass Hydra auf diese Dateien zugreifen kann. Die Berechtigung 644 bedeutet, dass der Besitzer lesen und schreiben kann, während andere nur lesen können:
chmod 644 hydra_lists/*
  1. Bestätigen Sie, dass die Berechtigungen korrekt sind, indem Sie das Verzeichnis erneut überprüfen. Die Berechtigungszeichenfolge -rw-r--r-- zeigt an, dass die Dateien richtig konfiguriert sind:
ls -l hydra_lists/

Die Ausgabe sollte für beide Dateien -rw-r--r-- anzeigen, was bedeutet, dass sie von allen Benutzern lesbar, aber nur vom Besitzer beschreibbar sind – die ideale Berechtigungseinstellung für Zugangsdaten-Dateien, die in Hydra-Angriffen verwendet werden.

Überprüfen, ob Hydra die Dateien laden kann

In diesem letzten Schritt überprüfen Sie, ob Hydra die Zugangsdaten-Dateien, die Sie in den vorherigen Schritten erstellt haben, richtig lesen und verarbeiten kann. Dies ist eine wichtige Überprüfung, bevor Sie tatsächliche Angriffe starten, da es sichergestellt wird, dass Ihre Benutzernamen- und Passwortlisten richtig formatiert und für Hydra zugänglich sind.

  1. Stellen Sie zunächst sicher, dass Sie sich im richtigen Arbeitsverzeichnis befinden, in dem sich Ihre Zugangsdaten-Dateien befinden. Dies ist wichtig, da Hydra wissen muss, wo es Ihre Benutzernamen- und Passwortlisten finden kann:
cd ~/project
  1. Jetzt führen wir Hydra im Testmodus aus, indem wir das -V-Flag für ausführliche Ausgabe verwenden. Dieser Befehl teilt Hydra mit:
    • Die Benutzernamenliste zu verwenden (-L hydra_lists/usernames.txt)
    • Die Passwortliste zu verwenden (-P hydra_lists/passwords.txt)
    • Gegen den SSH-Service auf dem lokalen Rechner zu testen
    • Nur 1 Thread (-t 1) für Testzwecke zu verwenden
hydra -L hydra_lists/usernames.txt -P hydra_lists/passwords.txt -V -t 1 localhost ssh
  1. Wenn der Befehl erfolgreich ausgeführt wird, sollten Sie eine Ausgabe ähnlich dieser sehen. Die wichtigste Information hier ist die Anzahl der "login tries", die bestätigt, dass Hydra beide Dateien gelesen hat:
Hydra v9.2 (c) 2022 by van Hauser/THC & David Maciejak
[DATA] max 1 task per 1 server, overall 1 task, 42 login tries (l:6/p:7), ~42 tries per task
[DATA] attacking ssh://localhost:22/
[VERBOSE] Resolving addresses ... done
  1. Nachdem Sie die Ausgabe überprüft haben, drücken Sie Ctrl+C, um den Test zu stoppen. Es ist nicht erforderlich, ihn abzuschließen, da wir nur das Laden der Dateien testen.

  2. Um zu bestätigen, dass beide Dateien richtig gelesen wurden, überprüfen Sie die Anzahl der login tries in der Ausgabe. Diese Anzahl sollte gleich der Anzahl der Benutzernamen multipliziert mit der Anzahl der Passwörter in Ihren Listen sein. Beispielsweise sollten Sie bei 6 Benutzernamen und 7 Passwörtern 42 login tries sehen (6×7 = 42). Diese Multiplikation bestätigt, dass Hydra alle möglichen Zugangsdatenpaare aus Ihren Dateien richtig kombiniert.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Benutzernamen- und Passwortlisten für Hydra-Angriffe vorbereiten, indem Sie Textdateien in Linux erstellen und verwalten. Die Übungen umfassten das Erstellen von usernames.txt und passwords.txt mit nano, das Befüllen dieser Dateien mit gängigen Zugangsdaten und die Überprüfung des Inhalts mit cat-Befehlen.

Sie haben auch wesentliche Linux-Dateioperationen geübt, darunter die Navigation in Verzeichnissen, die Texteredierung und die Dateivalidierung. Diese Fähigkeiten bilden die Grundlage für die Einrichtung effektiver Brute-Force-Angriffe, da richtig formatierte Zugangsdatenlisten für die Sicherheits-Testfunktionen von Hydra von entscheidender Bedeutung sind.