Heartbleed心脏滴血漏洞总结(CVE-2014-0106)

概述

      Heartbleed漏洞,也叫心脏滴血漏洞。是流行的OpenSSL加密软件库中的一个严重漏洞。这个弱点允许窃取在正常情况下被用来保护互联网的SSL/TLS加密保护的信息。SSL/TLS为网络、电子邮件、即时消息(IM)和一些虚拟专用网络(VPNs)等应用程序在互联网上提供通信安全和隐私。

      Heartbleed漏洞允许互联网上的任何人读取受OpenSSL漏洞保护的系统的内存。这就损害了用于标识服务提供者和加密通信、用户名和密码以及实际内容的秘钥。这允许攻击者窃听通信,直接从服务和用户那里窃取数据,并模拟服务和用户。

      所以Heartbleed漏洞存在的对象是OpenSSL,有的版本的OpenSSL存在Heartbleed是存在Heartbleed漏洞的,而有的版本是不存在的。不同版本Heartbleed漏洞存在情况如下:

Heartbleed于2011年12月被引入到OpenSSL中,自OpenSSL于2012年3月14日发布1.0.1以来就一直存在。2014年4月7日发布的OpenSSL 1.0.1g修复了这个漏洞。

漏洞详细说明见:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160

漏洞危害

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

漏洞复现

环境:Bee-box、kali linux

工具:sqlmap、metasploit

验证漏洞存在

确定目标IP之后,可以用AWVS扫一下,是可以发现Heartbleed漏洞的。

 

再用nmap的脚本扫一下目标,确定一下端口,验证漏洞确实存在。

 

漏洞利用

这里我直接用的kali的msf,可以直接调用它的heartbleed模块,实现Heartbleed漏洞的利用。

打开kali,在命令行输入msfconcole:

找到heartbleed模块。

使用第一个选项,并且查看一下都需要设置哪些参数。

设置一下RHOSTS,也就是目标IP。

设置一下verbose参数为true,verbose为true才可以看到泄露的信息。

exploit,查看结果,每次都可以获取64字节的信息,多exploit几次,就可能会得到一些网站的重要信息,比如用户的登录用户名以及密码。这样从每次得到的信息,总结一下,就可以得出用户的详细信息。

 

posted @ 2020-06-19 14:10  s1awwhy  阅读(10434)  评论(1编辑  收藏  举报