Hydra
Einleitung
Hydra ist ein vielseitiges Tool zur Durchführung von Brute-Force- und Passwort-Spraying-Angriffen auf verschiedene Netzwerkprotokolle. Es unterstützt eine breite Palette von Diensten wie SSH, FTP, HTTP, SMTP und mehr. Hydra kann sowohl Einzelbenutzer- als auch Massenangriffe auf Benutzer- und Passwortlisten ausführen.
Hydra ist ein essentielles Werkzeug im Arsenal eines Penetration-Testers, da es ermöglicht, schwache Authentifizierungsmechanismen zu identifizieren und ausnutzen. Es ist vorinstalliert auf den meisten Pentesting-Distributionen wie Kali Linux oder ParrotOS.
1. Grundlegende Syntax
Die grundlegende Syntax für Hydra lautet:
$ hydra [Optionen] <Protokoll>://<Ziel-IP>Optionen: Parameter wie Benutzerlisten, Passwortlisten, Threads usw.
Protokoll: Der zu attackierende Dienst (z. B. SSH, FTP, HTTP).
Ziel-IP: Die IP-Adresse oder der Hostname des Ziels.
2. Häufig genutzte Optionen
-l
Gibt einen einzelnen Benutzernamen an.
-L
Gibt eine Datei mit einer Liste von Benutzernamen an.
-p
Gibt ein einzelnes Passwort an.
-P
Gibt eine Datei mit einer Liste von Passwörtern an.
-t
Maximale Anzahl paralleler Verbindungen (Standard: 16).
-o
Speichert Ergebnisse in einer Datei.
-f
Beendet den Angriff, sobald ein gültiges Login gefunden wurde.
-V
Zeigt jeden Versuch an (verbose).
-s
Gibt den Port an, falls dieser nicht Standard ist (z. B. 2222 für SSH).
3. Beispiele für Hydra-Befehle
3.1 Brute-Force mit einem Benutzernamen und einer Passwortliste
Erklärung:
-l admin: Testet den Benutzernamenadmin.-P passlist.txt: Verwendet die Dateipasslist.txtmit möglichen Passwörtern.ssh://192.168.1.10: Ziel ist ein SSH-Dienst auf der IP192.168.1.10.
3.2 Passwort-Spraying mit Benutzerliste und einem Passwort
Erklärung:
-L users.txt: Testet alle Benutzernamen inusers.txt.-p 'welcome123': Verwendet das Passwortwelcome123.ftp://192.168.1.10: Ziel ist ein FTP-Dienst auf der IP192.168.1.10.
3.3 Brute-Force mit Benutzer- und Passwortlisten
Erklärung:
Testet jede Kombination aus der Benutzerliste
users.txtund der Passwortlistepasswords.txtauf dem SSH-Dienst.
3.4 Angriff auf einen Dienst mit benutzerdefiniertem Port
Erklärung:
-s 2222: Gibt Port 2222 anstelle des Standardports 22 für SSH an.
3.5 Ergebnisse speichern
Erklärung:
-o results.txt: Speichert gültige Login-Kombinationen in der Dateiresults.txt.
5. Erweiterte Verwendung
5.1 HTTP/HTTPS-Authentifizierung
Hydra kann Angriffe auf HTTP/HTTPS-Dienste durchführen, einschließlich Basic Authentication und Formularanmeldungen:
http-get: Testet HTTP-GET-Authentifizierung.
Für Formularanmeldungen kann die Option -m genutzt werden, um den POST-Parameter anzugeben:
6. Gute Praktiken und Sicherheit
Langsame Angriffe: Verwenden Sie niedrige Threads (
-t), um nicht erkannt oder blockiert zu werden.Benutzerdefinierte Timeout-Werte: Setzen Sie Timeout-Werte, um Verbindungsabbrüche zu vermeiden:
-T 3: Setzt den Timeout-Wert auf 3 Sekunden.
7. Unterstützte Protokolle
Hydra unterstützt viele Protokolle, darunter:
SSH, FTP, HTTP/HTTPS, SMTP, IMAP, RDP, VNC, Telnet, SNMP.
Eine vollständige Liste der Protokolle erhalten Sie mit:
Last updated