
OpenSSH Benutzernamen-Enumeration - CVE-2016-6210
CVE-2016-6210Gepostet von Eddie Harari auf Full Disclosure http://seclists.org/fulldisclosure/2016/Jul/51
Durch das Senden großer Passwörter kann ein entfernter Benutzer Benutzer auf einem System enumerieren, das SSHD ausführt. Dieses Problem besteht in den meisten modernen Konfigurationen, da die Berechnung von SHA256/SHA512-Hashes viel länger dauert als die von BLOWFISH-Hashes.
Wenn SSHD versucht, einen nicht existierenden Benutzer zu authentifizieren, wird eine fest codierte gefälschte Passwortstruktur aus dem SSHD-Quellcode verwendet. Bei dieser fest codierten Passwortstruktur basiert der Passwort-Hash auf dem BLOWFISH ($2)-Algorithmus. Wenn echte Benutzerpasswörter mit SHA256/SHA512 gehasht werden, führt das Senden großer Passwörter (10 KB) zu einer kürzeren Antwortzeit vom Server für nicht existierende Benutzer.
HINWEIS: Herr Harari testete dies auf opensshd-7.2p2, während meine Tests auf durchgeführt wurden.
OpenSSH_6.9p1Das Skript basiert derzeit auf einem Abweichungsbereich von 10-30 % für die Zeitmessungen von gültigen gegenüber ungültigen Benutzernamen. Derzeit werden nur >20 % als gültige Benutzernamen akzeptiert und entsprechend an die Ausgabeliste angehängt (Sie können dies im Skript nach Belieben anpassen). Dies hat sich für mich als effektiv erwiesen.
Dieses Projekt wird von Bitbucket nach Github übertragen.