原标题:漏洞分析:OpenSSH用户枚举漏洞(CVE-2018-15473)分析
介绍
这个漏洞虽然不能生成有效用户名列表,但是它可以允许攻击者猜测用户名。目前这个OpenSSH用户枚举漏洞(CVE-2018-15473)的详细信息已经上传至了GitHub,感兴趣的同学可以自行查看【传送门】。
在这篇文章中,我们将对该漏洞进行深入分析,并提供一些可行的缓解方案。
技术细节
这个漏洞存在于OpenSSH所实现的一些认证功能之中,首先我们一起看一看Ubuntu OpenSSH的公共密钥认证漏洞。
通过向一台OpenSSH服务器发送恶意的公共密钥认证消息,攻击者将能够获取特定的用户名信息。如果用户不存在,服务器将会向客户端发送认证失败的消息。如果用户存在,消息将无法解析并终止通信,即通信连接会在没有任何消息回传的情况下断开。关于该漏洞的漏洞利用代码可以从这个Python PoC脚本中获取:【传送门】。
这个漏洞之所以存在,是因为服务器在对消息完整解析之前,用户查询了不存在的用户名。想要修复该漏洞也很简单,按攻击逻辑反着来就行了:首先对消息进行完整解析,然后再建立通信连接。
测试漏洞利用PoC的一种方法就是在调试模式下开启OpenSSH服务器: