近日在工作过程中,发现企业内部业务存在SSH用户名枚举漏洞,对此漏洞进行一个简单分析及漏洞复现。
1.漏洞描述
OpenSSH 7.7前存在一个用户名枚举漏洞,通过该漏洞,攻击者可以判断某个用户名是否存在于目标主机中。
2.影响版本
OpenSSH < 7.7
3.漏洞简单分析
3.1 利用公钥身份认证中的漏洞来判断用户名是否存在的过程:
- 用户名存在情况:
var/log/auth.log
日志中找到报错信息,且导致服务器在不返回任何信息的情况下中断客户端与服务端之间的连接 - 用户名不存在情况:不会有报错日志,且服务器返回给客户端一个数据包
3.2 唯一的问题是在一些函数处理后才进行对输入的验证,先判断用户名是否存在,如果不存在,那么就没必要进一步验证它的后续请求过程。当用户名存在,再对后续进行验证,那么会导致不返回信息就中断连接,这样就可以用来枚举一个用户名是否存在。
4.漏洞复现
4.1 环境搭建
使用vulnhub进行搭建https://github.com/vulhub/vulhub
docker-compose build
docker-compose up -d
4.2 使用exp进行漏洞尝试,指定一个用户名字典user.txt
可见,root、bin、daemon、lp、mail是存在的用户
python3 CVE-2018-15473.py 192.168.233.134 -p 20022 -w user.txt
4.3 最终服务端可用SSH用户名如下:文章来源:https://www.toymoban.com/news/detail-440637.html
文章来源地址https://www.toymoban.com/news/detail-440637.html
到了这里,关于OpenSSH用户名枚举漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!