OpenSSL严重安全漏洞专文<附POC等等>

  • 发表于
  • 周边

1

CVE-2014-0160漏洞背景

2014年4月7日OpenSSL发布了安全公告,在OpenSSL1.0.1版本中存在严重漏洞(CVE-2014-0160),此次漏洞问题存在于ssl/dl_both.c文件中。OpenSSL Heartbleed模块存在一个BUG,当攻击者构造一个特殊的数据包,满足用户心跳包中无法提供足够多的数据会导致memcpy把SSLv3记录之后的数据直接输出,该漏洞导致攻击者可以远程读取存在漏洞版本的openssl服务器内存中长大64K的数据。

OpenSSL受影响和不受影响版本

OpenSSL 1.0.1f(受影响)
OpenSSL 1.0.1g (不受影响)
OpenSSL 1.0.0 branch (不受影响)
OpenSSL 0.9.8 branch (不受影响)

对此我们给出如下建议

OpenSSL版本升级到最新的1.0.1g
重新生成你的私钥
请求和替换SSL的证书
使用-DOPENSSL_NO_HEARTBEATS参数重新编译低版本的OpenSSL以禁用Heartbleed模块
最新版本升级地址为:https://www.openssl.org/source/. (OpenSSL官方)

Heartbleed.com已经披露了相关细节,指出该漏洞与OpenSSL传输层安全协议的“heartbeat”部分有关。该问题甚至比苹果最近的SSL bug还要危险(因为这敞开了被恶意中间人攻击的大门)。
该bug是由安全公司Codenomicon和谷歌安全工程师独立发现的,据了解国内大量网站存在该漏洞,网友更称该漏洞为今年史上最强大的漏洞,如下图:

2

POC等,你懂的

在线检测:
您可以通过以下地址检测您的网站是否存在该漏洞,如下任意一个均可:
http://possible.lv/tools/hb/
http://filippo.io/Heartbleed/

POC下载:
(本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!)
ssltest.zip

同时贴一份POC代码在这:

使用方法疑难:
假设poc文件openssl.py,配置python环境运行命令,将数据保存到这****.txt中(前提存在漏洞)

部分朋友说运行py会报错,原因是你使用了最新的Python3环境,而POC是基于Python27写的,换成Python27即可。

golang 版https://github.com/titanous/heartbleeder

更多技术细节

参考Heartbleed网站,Hacker News上的讨论也极具价值,国内wooyun和tools等!

经测试国内较多站点,特别是安全类网站很多中招,赶紧修复吧!

稍后更新批量检测版POC,利用Google/百度等批量注射……