“心脏滴血”简介:
Heartbleed漏洞是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。如同漏洞成因所讲,我们可以通过该漏洞读取每次攻击泄露出来的信息,所以可能也可以获取到服务器的私钥,用户cookie和密码等。所以本次会将“心脏滴血”漏洞进行复现。
1.环境准备
虚拟机准备:
bee-box v1.6
Kali-linux
2.过程
(1)在bee-box虚拟机上输入 ifconfig 查看bee-box虚拟机的ip地址(可以看出本机的ip地址为:192.168.56.144)
(2)在kali中尝试ping一下bee-box的ip地址,看看能不能ping通(显然这是能够ping通的)
(3)在kali中利用脚本--script ssl-heartbleed.nse检验是否存在漏洞
(4)kali中打开msfconsole
(5)输入search heartbleed
(6)观察上述两个端口,按照我的机子,0端口是和客户端的一个内存读取,不用管它,所以采用1端口,输入 use 1 ,再查看它的选项,输入show options
(7)再来设置一下它的远程端口8443和靶机ip地址,再看选项
(输入 set repot8443 set rhosts 192.168.56.144 show options)
(8)这里还要设置一下verbose(输入 show advanced)
(9)使用msfconsole来进行“心脏滴血”漏洞复现的话,verbose这个运用过程一定要打开,不要可能会丢失很多拦截的数据。接下来将verbose打开。(输入 set verbose true show advanced)
(10)接下来将verbose打开。(输入 set verbose true show advanced)
(11)输入 show options显示选项,再输入show missing 查看是否有漏设置的选项(这里是没有的)
(12)往下走(输入exploit)
(13)返回bee-box的网站,随便点一下
(14)再返回kali就可以看到msfconsole已经抓包到了数据
到这里就完成了“心脏滴血”漏洞的复现,这里验证了拦截数据包,如果想长期挂着拦截的脚本,大家可以在别的博文里找一下,我就不再做拓展了。
“心脏滴血”漏洞是一个比较老的漏洞,对于它的防范(修复)措施:
建议升级openssl。此外,做如下措施。
修改服务器密码
重新配置私钥
重新配置证书