The popular OpenSSH is affected by a user enumeration bug that could be exploited by a remote attacker to check a list of hacked credentials.
A bug (CVE-2016-6210) in the popular OpenSSH crypto library could be exploited by a remote attacker to enumerate users on systems running SSHD. An attacker can exploit the bug to check whether user names are valid on a server exposed online, the issue exists in most systems where the Blowfish algorithm runs faster than SHA256/SHA512.
“By sending large passwords, a remote user can enumerate users on systems that run SSHD. This problem exists in most modern configuration due to the fact that it takes much longer to calculate SHA256/SHA512 hash than BLOWFISH hash.” states the abstract for the flaw in the OpenSSH.
Unfortunately, the bug is still present in the OpenSSH, but according to Verint expert Eddie Harari who published the advisory on Full Disclosure, the OpenSSH developer Darren Tucker is already working to solve the problem.
If the attacker tries to authenticate a user to an OpenSSH server with a user ID and a long, but incorrect password, then the server will respond quickly for fake users, but slower for real users.
“When SSHD tries to authenticate a non-existing user, it will pick up a fake password structure hardcoded in the SSHD source code. On this hard coded password structure the password hash is based on BLOWFISH ($2) algorithm. If real users passwords are hashed using SHA256/SHA512, then sending large passwords (10KB) will result in shorter response time from the server for non-existing users.”
It is easy to imagine possible attack scenarios, a hacker could verify a list of hacked credentials against a server running SSHD.
The exploitation of the bug was tested on the opensshd-7.2p2, but experts speculate it could affect earlier versions as well.