心脏滴血漏洞复现(CVE-2014-0160)
漏洞简介
OpenSSL是OpenSSL团队开发的一个开源的能够实现安全套接层(SSL v2/v3)和安全传输层(TLS v1)协议的通用加密库,它支持多种加密算法,包括对称密码、哈希算法、安全散列算法等。
OpenSSL的TLS和DTLS实现过程中的d1_both.c和t1_lib.c文件中存在安全漏洞,该漏洞源于当处理Heartbeat Extension数据包时,缺少边界检查。远程攻击者可借助特制的数据包利用该漏洞读取服务器内存中的敏感信息(如用户名、密码、Cookie、私钥等)。以下版本的OpenSSL受到影响:1.0.1,1.0.1:beta1,1.0.1:beta2,1.0.1:beta3,1.0.1a,1.0.1b,1.0.1c,1.0.1d,1.0.1e,1.0.1f。目前OpenSSL官方已经发布补丁,用户可以通过升级修复漏洞,或者使用-DOPENSSL_NO_HEARTBEATS参数重新编译受影响版本的OpenSSL以禁用Heartbeat模块。
虚拟机漏洞复现
本次复现在存在此漏洞的虚拟机中进行测试。已知192.168.37.130存在CVE-2014-0160漏洞,web页面为8443端口。
1、 打开msfconsole,查找heartbleed模块:
2、 使用openssl_heartbleed功能:
3、 查看需要设置哪些选项:
4、 设置IP地址及端口:
5、 设置verbose,设置成true才能看到泄露的信息:
6、 开始利用攻击:
7、 如果有人正在登陆此web应用,可能可以直接获取账号密码:
此漏洞存在随机性,但多次攻击可根据泄露数据拼凑出用户各类信息。