
Un script simple en Python para explotar el ataque de temporización de enumeración de usuarios de OpenSSH.
* ___ ___ ___ _ _ *
* / _ \ _ __ ___ _ _ / __/ __| || | *
* | (_) | '_ \/ -_) ' \\__ \__ \ __ | *
* \___/| .__/\___|_||_|___/___/_||_| *
* |_| *
* _ _ ___ _ _ *
* | | | |___ ___ _ _ | __|_ _ _ _ _ __ ___ _ _ __ _| |_(_)___ _ _ *
* | |_| (_-</ -_) '_| | _|| ' \ || | ' \/ -_) '_/ _` | _| / _ \ ' \ *
* \___//__/\___|_| |___|_||_\_,_|_|_|_\___|_| \__,_|\__|_\___/_||_| *
* *
* _____ _ _ _ _ _ _ *
* |_ _(_)_ __ (_)_ _ __ _ /_\| |_| |_ __ _ __| |__ *
* | | | | ' \| | ' \/ _` | / _ \ _| _/ _` / _| / / *
* |_| |_|_|_|_|_|_||_\__, | /_/ \_\__|\__\__,_\__|_\_\ *
* |___/ *
***************************************************************************
Osueta es un script simple de Python2 para explotar el ataque de temporización de enumeración de usuarios de OpenSSH,
presente en versiones de OpenSSH <= 7.2 y >= 5.*. El script tiene la capacidad de hacer variaciones
del nombre de usuario empleado en el ataque de fuerza bruta, y la posibilidad de establecer
una condición de DOS en el servidor OpenSSH.
http://seclists.org/fulldisclosure/2013/Jul/88
El error fue corregido en la versión 7.3 de OpenSSH:
http://www.openssh.com/txt/release-7.3
c0r3dump3d | coredump<@>autistici.org
rofen | rofen<@>gmx.de
Queremos agradecer a Javier Nieto de www.behindthefirewalls.com por su apoyo y ayuda.
Al igual que otras herramientas ofensivas, los autores rechazan toda responsabilidad en el uso de este script.
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]
Script de ataque de temporización de enumeración de usuarios de OpenSSH basado en tiempo
argumentos opcionales:
-h, --help muestra este mensaje de ayuda y sale
-H HOST IP del host o bloque CIDR.
-k HFILE Lista de hosts en un archivo.
-f FQDN FQDN a atacar.
-p PORT Puerto del host.
-L UFILE Archivo de lista de nombres de usuario.
-U USER Usar un solo nombre de usuario.
-d DELAY Retardo fijo en segundos. Si no se especifica, se calcula el retardo.
-v VARI Hacer variaciones del nombre de usuario (por defecto sí).
-o OUTP Archivo de salida con resultados positivos.
-l LENGTH Longitud de la contraseña en caracteres (x1000) (por defecto 40).
-c VERS Comprobar o no la versión de OpenSSH (por defecto sí).
--dos DOS Intentar hacer un ataque DOS (por defecto no).
-t THREADS Hilos para el ataque DOS (por defecto 5).
* Un intento de enumeración de un solo usuario con variaciones de nombre de usuario:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v yes
* Un intento de enumeración de un solo usuario sin variaciones de nombre de usuario y un ataque DOS:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v no --dos yes
* Escaneo de una red clase C con un solo usuario:
./osueta -H 192.168.1.0/24 -p 22 -U root -v no
* Escaneo de una red clase C con nombres de usuario de un archivo, retardo de 15 segundos y una contraseña de 50000 caracteres:
./osueta -H 192.168.1.0/24 -p 22 -L usernames.txt -v yes -d 15 -l 50