漏洞范围:
OpenSSL1.0.1版本
漏洞成因:
Heartbleed漏洞是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。
漏洞危害:
如同漏洞成因所讲,我们可以通过该漏洞读取每次攻击泄露出来的信息,所以可能也可以获取到服务器的私钥,用户cookie和密码等。
漏洞复现:
环境:
靶机:Vulhub环境 攻击机:kali Linux
这里使用的是Vulhub一键搭建漏洞测试靶场
https://vulhub.org/#/environments/openssl/heartbleed/
docker查看在运行访问看一下
先使用nmap扫描端口
开放了443端口可以使用nmap自带的Heartbleed漏洞检测脚本
nmap -sV -p 443 --script ssl-heartbleed.nse 【目标IP】
msf利用
1.搜索Heartbleed模块:
2.引用第一个选项,show options查看需要设置的参数
set rhosts 【ip】
set rport 【端口】
set verbose true 设置verbose不然显示不出信息
抓取的数据有点乱,可以使用脚本抓取我们想要的
如何修复:
1.将受影响的服务器下线,避免它继续泄露敏感信息。
2.停止旧版的 openssl 服务,升级 openssl 到新版本,并重新启动。
3.生成新密钥。(因为攻击者可能通过漏洞获取私钥。)将新密钥提交给你的CA,获得新的认证之后在服务器上安装新密钥。
4.服务器上线。
5.撤销旧认证。
6.撤销现有的会话cookies。
7.要求用户修改密码。
网友评论