跳转至

CVE-2014-0160(Openssl heartbleed漏洞)

漏洞描述

Heartbleed漏洞,也叫心脏滴血漏洞。是流行的OpenSSL加密软件库中的一个严重漏洞。这个弱点允许窃取在正常情况下被用来保护互联网的SSL/TLS加密保护的信息。SSL/TLS为网络、电子邮件、即时消息(IM)和一些虚拟专用网络(VPNs)等应用程序在互联网上提供通信安全和隐私。

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

影响版本

  • OpenSSL 1.0.2-beta
  • OpenSSL 1.0.1 - OpenSSL 1.0.1f

环境配置

  • Vulhub项目
  • Docker-compose启动

漏洞复现

漏洞存在验证

Bash
search openssl
use 6

存在heartbleed漏洞

工具利用

Bash
search cve:2014-0160
use auxiliary/scanner/ssl/openssl_heartbleed

Info

该模块设置set verbose true就是显示攻击信息(默认不显示)

Note

除MSF以外也存在其他脚本或工具利用

漏洞原理

OpenSSL Heartbleed漏洞(CVE-2014-0160)简要分析和检测

修复建议

  • 要解决此漏洞,简单粗暴的方法就是升级openSSL软件

建议服务器管理员或使用1.0.1g版,或使用-DOPENSSL_NO_HEARTBEATS选项重新编译OpenSSL,从而禁用易受攻击的功能,直至可以更新服务器软件。

  • 临时方案

  • 将受影响的服务器下线,避免它继续泄露敏感信息

  • 停止旧版的 openssl 服务,升级 openssl 到新版本,并重新启动
  • 生成新密钥(因为攻击者可能通过漏洞获取私钥)将新密钥提交给你的CA,获得新的认证之后在服务器上安装新密钥
  • 服务器上线
  • 撤销旧认证
  • 撤销现有的会话cookies
  • 要求用户修改密码