一、漏洞描述
Heartbleed 漏洞是流行的 OpenSSL 加密软件库中的一个严重漏洞。该漏洞允许在正常情况下窃取 SSL/TLS 加密保护的信息。SSL/TLS 为 web、电子邮件、即时消息(IM)和一些虚拟专用网络(vpn)等应用程序提供了 Internet 上的通信安全和隐私。
Heartbleed 漏洞允许 Internet 上的任何人读取受易受攻击的 OpenSSL 软件版本保护的系统的内存。这破坏了用于识别服务提供商和加密流量、用户名称和密码以及实际内容的密钥。这使得攻击者能够窃取用户通信,直接从服务窃取数据,并模拟服务和用户。
二、漏洞影响
受影响:OpenSSL 1.0.1f 、OpenSSL 1.0.2-beta
不受影响:OpenSSL 1.0.1g、OpenSSL 1.0.0 branch、OpenSSL 0.9.8 branch
三、漏洞复现
1、环境搭建
该漏洞环境使用 Bee-box 虚拟机搭建
下载地址:https://sourceforge.net/projects/bwapp/files/bee-box/
默认用户名bee
密码:bug
启动虚拟机后,进入到 bWAPP 页面,并选择 Heartbleed Vulnerability 选项:
点击 Hack 后:
访问https://127.0.0.1:8443/
页面,完成环境部署:
2、漏洞复现
使用 Nmap 检测漏洞是否存在:
通过 Nmap 检测出存在心脏滴血漏洞。
使用 MSF 利用该漏洞:
use auxiliary/scanner/ssl/openssl_heartbleed
设置RHOST、RPORT:
设置 verbose
为true
,查看泄露的信息:
使用exploit
命令开始攻击:
抓取到用户登录时的数据包,可以使用抓取到的 Cookie 伪造用户登录。
因为每隔一段时间发送确认连接的心跳包请求,但心跳包缺失总数标识符,导致空余数据包内容可被写入。
四、漏洞POC
MSF 中 auxiliary/scanner/ssl/openssl_heartbleed 模块
五、参考链接
https://heartbleed.com/