OpenSSHD user enumeration vulnerability-vulnerability warning-the black bar safety net

2016-07-20T00:00:00
ID MYHACK58:62201677080
Type myhack58
Reporter 佚名
Modified 2016-07-20T00:00:00

Description

! Summary: By sending a long password,a remote user can enumerate on the system running the SSHD user. This problem exists in most of the modern configuration,as compared to the calculation of BLOWFISH hashes,takes longer time to calculate the SHA256 / SHA512 to. CVE-ID:CVE-2 0 1 6-6 2 1 0 Test version: This problem in the version of opensshd - 7.2 - p2(should also be in the earlier version on the test)on the test. Fix: The problem is the OPENSSH development team reports,and they have developed a fix patch(but it is not known that whether the patch release). (Special thanks to'dtucker () zip com au'to the quick reply and resolution of recommendations). Detailed information: When SSHD tries to authenticate a non-existent user,it will enter a hard coded in the SSHD source code of the fake password structure. In this hard-coded password structure password hash is calculated based on the BLOWFISH algorithm. If it is a real valid user password,you will use SHA256 / SHA512 for the hash calculation. Since the calculation of the SHA256 / SHA512 hash than the calculated BLOWFISH hash time-consuming to be long,so if the sending of the password is greater than 10KB,it will lead as compared to the absence of the user to receive a response from the server there will be a time difference. Sample code: import paramiko import time user=raw_input("user: ") p='A'*2 5 0 0 0 ssh = paramiko. SSHClient() starttime=time. clock() ssh. set_missing_host_key_policy(paramiko. AutoAddPolicy()) try: ssh. connect('127.0.0.1', username=user, password=p) except: endtime=time. clock() total=endtime-starttime print(total) (A valid user will need a higher total time). Please Note,If SSHD is configured to prohibit root login,then root will not be considered a valid user... If you enable the TCP timestamp option,then the measure of time is the best way to use from the server TCP data packet time stamp,as this will eliminate any network latency.