1、漏洞
漏洞简介:心脏滴血(Heartbleed)漏洞,也简称为心血漏洞,是一个出现在加密程序库OpenSSL的安全漏洞,该程序库广泛用于实现互联网的传输层安全(TLS)协议,它于2012年被引入软件中,2014年4月首次向公众披露,只要使用的是存在缺陷的OpenSSL实例,无论是服务器还是客户端,都可能因此而受到攻击。
漏洞原理:Heartbleed漏洞的问题出现在OpenSSL处理TLS心跳的过程中,当B收到A的请求包后,并没有验证A包的实际长度,而是简单地把请求包data中说明的长度当作data的实际长度,于是当请求包中说明的长度与请求包数据实际长度不同时,问题就产生了,假设A构造一个请求包,它的实际内容长度只有1,而却告诉B它的长度是65535,那么B接受到这个包后就会把A的内容完全当作65535来处理,最严重的问题出在,心跳的响应包还需要附带请求包的全部内容,这就需要程序做一次将请求包的数据从它所在的内存拷贝到响应包的内存里的操作,这下就出大问题了,当拷贝的时候,程序认为A包的内容长度是65535个字节,结果A包在内存里面实际只有1个字节,于是程序不仅拷贝出了A包的内容,还“傻傻”地将A包数据在内存中位置后额外的65534个字节拷贝进了响应包里,并将这个响应包发还给了A,于是A便轻易地获得了B内存中这65534个字节的数据。
2、影响范围
受影响版本:Heartbleed主要存在于OpenSSL的1.0.1版本到1.0.1f版本。
广泛影响:由于互联网应用最广泛的安全传输方法就是SSL,而Open SSL又是多数SSL加密网站使用的开源软件包,所以漏洞影响范围广大,一时间席卷全球各个互联网相关领域,网银、在线支付、电商网站、门户网站、电子邮件等无一幸免。
3、漏洞复现
环境搭建:靶机使用centos7 192.168.139.136,攻击机使用kali 192.168.139.129,确保两台测试机网络能通,可以使用docker+vulhub搭建漏洞环境。
信息收集:使用Nmap进行扫描,命令如nmap -sV -T4 192.168.139.136
和nmap -sV -p 8443 --script ssl-heartbleed.nse 192.168.139.136
。
利用漏洞:进入msfconsole,搜索相关漏洞模块,如search heartbleed
,然后使用攻击模块,如use auxiliary/scanner/ssl/openssl_heartbleed
,配置参数后进行攻击,命令如run
。
4、修复方案
升级OpenSSL:建议服务器管理员或使用1.0.1g版,或使用-DOPENSSL_NO_HEARTBEATS
选项重新编译OpenSSL,从而禁用易受攻击的功能,直至可以更新服务器软件。
其他措施:将受影响的服务器下线,避免它继续泄露敏感信息;停止旧版的openssl服务,升级openssl到新版本,并重新启动;生成新密钥(因为攻击者可能通过漏洞获取私钥),将新密钥提交给你的CA,获得新的认证之后在服务器上安装新密钥;撤销旧认证;撤销现有的会话cookies;要求用户修改密码。
心脏滴血漏洞是一个严重的安全漏洞,需要及时采取修复措施以保护系统安全。
小伙伴们,上文介绍滴血漏洞的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/87156.html