
Un semplice script Python per sfruttare l'attacco di enumerazione degli utenti basato sul timing di OpenSSH.
* ___ ___ ___ _ _ *
* / _ \ _ __ ___ _ _ / __/ __| || | *
* | (_) | '_ \/ -_) ' \\__ \__ \ __ | *
* \___/| .__/\___|_||_|___/___/_||_| *
* |_| *
* _ _ ___ _ _ *
* | | | |___ ___ _ _ | __|_ _ _ _ _ __ ___ _ _ __ _| |_(_)___ _ _ *
* | |_| (_-</ -_) '_| | _|| ' \ || | ' \/ -_) '_/ _` | _| / _ \ ' \ *
* \___//__/\___|_| |___|_||_\_,_|_|_|_\___|_| \__,_|\__|_\___/_||_| *
* *
* _____ _ _ _ _ _ _ *
* |_ _(_)_ __ (_)_ _ __ _ /_\| |_| |_ __ _ __| |__ *
* | | | | ' \| | ' \/ _` | / _ \ _| _/ _` / _| / / *
* |_| |_|_|_|_|_|_||_\__, | /_/ \_\__|\__\__,_\__|_\_\ *
* |___/ *
***************************************************************************
Osueta è un semplice script Python2 per sfruttare l'Attacco di Temporizzazione di Enumerazione degli Utenti OpenSSH,
presente nelle versioni di OpenSSH <= 7.2 e >= 5.*. Lo script ha la capacità di effettuare variazioni
del nome utente impiegato nell'attacco di forza bruta, e la possibilità di stabilire
una condizione DOS nel server OpenSSH.
http://seclists.org/fulldisclosure/2013/Jul/88
Il bug è stato corretto nella versione 7.3 di OpenSSH:
http://www.openssh.com/txt/release-7.3
c0r3dump3d | coredump<@>autistici.org
rofen | rofen<@>gmx.de
Vogliamo ringraziare Javier Nieto di www.behindthefirewalls.com per il suo supporto e aiuto.
Come altri strumenti offensivi, gli autori declinano ogni responsabilità nell'uso di questo 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 per attacco di temporizzazione basato sul tempo di enumerazione degli utenti OpenSSH
argomenti opzionali:
-h, --help mostra questo messaggio di aiuto ed esci
-H HOST IP dell'host o netblock CIDR.
-k HFILE Elenco host in un file.
-f FQDN FQDN da attaccare.
-p PORT Porta dell'host.
-L UFILE File con elenco di nomi utente.
-U USER Usa un solo nome utente.
-d DELAY Ritardo fisso in secondi. Se non specificato, il ritardo viene calcolato.
-v VARI Effettua variazioni del nome utente (default sì).
-o OUTP File di output con risultati positivi.
-l LENGTH Lunghezza della password in caratteri (x1000) (default 40).
-c VERS Controlla o meno la versione di OpenSSH (default sì).
--dos DOS Tenta di effettuare un attacco DOS (default no).
-t THREADS Thread per l'attacco DOS (default 5).
* Tentativo di enumerazione di un singolo utente con variazioni del nome utente:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v yes
* Tentativo di enumerazione di un singolo utente senza variazioni e attacco DOS:
./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v no --dos yes
* Scansione di una rete di classe C con un solo utente:
./osueta -H 192.168.1.0/24 -p 22 -U root -v no
* Scansione di una rete di classe C con nomi utente da un file, ritardo di 15 secondi e una password di 50000 caratteri:
./osueta -H 192.168.1.0/24 -p 22 -L usernames.txt -v yes -d 15 -l 50