
Ein python3-multithreaded SSH-Wörterbuchangriffstool
Ein Python-3-Skript zur Durchführung von Wörterbuch-/Wortlistenangriffen auf einen Ziel-SSH-Server unter Verwendung von zwei Textdateien als Eingabe. Verfasst für meine technische Prüfung bei Intel.
Dieses Skript ist von Paramiko und Colorama abhängig.
Installiere die Abhängigkeiten mit pip install -r requirements.txt oder pip3 install -r requirements.txt.
Port 22 ohne Versuchslimit oder Sperrzeitraum
python3 buffalo.py localhost users.txt passwords.txt
Die Standardanzahl der Threads ist 100; dieser Wert kann über das Flag thread erhöht oder gesenkt werden.
python3 buffalo.py localhost users.txt passwords.txt --threads 200
Dienst auf Port 2222 angeben
python3 buffalo.py localhost users.txt passwords.txt --port 2222
Die meisten Systeme haben eine Art Versuchslimit pro Konto in einem bestimmten Zeitraum. Um unter diesem Limit zu bleiben, kann die Anzahl der Versuche pro Konto über die Flags --max_attempts und --lockout_period begrenzt werden. Zum Beispiel, um 3 Versuche pro Konto in einem Zeitraum von 15 Minuten zu begrenzen.
python3 buffalo.py localhost users.txt passwords.txt --max_attempts 3 --lockout_period 15
[$] python3 buffalo.py -h [12:39:53]
usage: buffalo.py [-h] [--port [PORT]] [--max_attempts [MAX_ATTEMPTS]] [--lockout_period [LOCKOUT_PERIOD]]
[--threads [THREADS]]
target users passwords
Quick SSH brute force script for Red Team @Intel.
positional arguments:
target Target IP or hostname.
users Username file, one username per line.
passwords Password file, one password per line.
optional arguments:
-h, --help show this help message and exit
--port [PORT] SSH port. DEFAULT 22.
--max_attempts [MAX_ATTEMPTS]
Max attempts per account within the lockout window. DEFAULT unlimited.
--lockout_period [LOCKOUT_PERIOD]
Length of the lockout window in minutes. DEFAULT 0.
--threads [THREADS] Thread count. DEFAULT 100.
Hier ist eine kurze Liste von Dingen, die meiner Meinung nach cool zu implementieren wären.
invoke_shell des Paramiko-Clients.exec_command nutzen, falls gültige Anmeldedaten gefunden werden. Nachfolgend einige Ideen aus dem Brainstorming.