freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

无需开启宏即可渗透:在Office文档中利用DDE执行命令
2017-10-14 08:00:39

概述

最近,国外的安全研究员发现了一种在文档中使用DynamicData Exchange (DDE)协议发起渗透的方法。使用该方法可以绕过MSWord和MSExcel宏限制,不需要使用MSWord和MSExcel的漏洞就可以执行命令。腾讯反病毒实验室哈勃系统第一时间复现了该渗透方法,本文将详细介绍该渗透方法的构造过程。

背景

Windows提供了应用程序间数据传输的若干种方法。其中一种就是使用动态数据交换(DDE)协议。DDE协议是一套消息和指示的集合。通过发送消息以及共享内存实现应用程序的数据共享和交换。应用程序可以使用DDE协议实现一次性数据传输以及持续的数据交换(当新数据可用时,应用程序发送更新通知给另一个应用程序)[1]。

在MSWord和MSExcel里,可以使用DDE来执行命令。下面我们以MSWord为例进行说明。

方法

新建一个Word文档,通过Ctrl+F9添加一个域,然后修改域代码为:

{ DDEAUTOc:\\windows\\system32\\cmd.exe "/k notepad.exe" }

“DDEAUTO”关键字指示Word这是一个DDE域,并且在打开文档时自动执行域代码。在域代码中,紧跟“DDEAUTO”关键字后面的是要执行的可执行程序的路径,后面跟随的是可执行程序的参数。

无需开启宏即可渗透:在Office文档中利用DDE执行命令

此外,也可以修改关键字“DDEAUTO”为“DDE”,即修改域代码为:

{ DDEc:\\windows\\system32\\cmd.exe "/k notepad.exe" }

,并保存文档。

无需开启宏即可渗透:在Office文档中利用DDE执行命令

而此时,如果希望嵌入的DDE能够在打开文档时自动执行,需要在word/settings.xml嵌入以下代码:

<w:updateFieldsw:val="true"/>

无需开启宏即可渗透:在Office文档中利用DDE执行命令

此时,当我们打开包含DDE域代码的文档时,会有显示两次提示信息:

无需开启宏即可渗透:在Office文档中利用DDE执行命令

无需开启宏即可渗透:在Office文档中利用DDE执行命令

当均点击“是”,会执行DDE域代码,弹出记事本:

无需开启宏即可渗透:在Office文档中利用DDE执行命令

上述两个对话框风险提示属性较弱,不像是一个安全风险的提示,用户很容易忽视该类提示进而允许执行恶意的域代码。当然,也可以在正文中加入一些诱导性和迷惑性很强的文字,诱导用户点击以上两个对话框,从而使用户暴露在风险之中。

扩展

除了弹出记事本外,配合PowerShell或者各类脚本程序的强大能力,可以下载或者释放恶意payload,此类渗透方法的危害将显现无疑。

无需开启宏即可渗透:在Office文档中利用DDE执行命令

无需开启宏即可渗透:在Office文档中利用DDE执行命令

(执行PowerShell)

无需开启宏即可渗透:在Office文档中利用DDE执行命令

无需开启宏即可渗透:在Office文档中利用DDE执行命令

(执行bat脚本)

参考

[1] https://baike.baidu.com/item/Dynamic%20Data%20Exchange?fr=aladdin

[2] https://sensepost.com/blog/2017/macro-less-code-exec-in-msword


*本文作者:腾讯电脑管家,转载请注明来自 FreeBuf.COM

本文作者:, 转载请注明来自FreeBuf.COM

# 渗透 # office # DDE
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按时间排序

登录/注册后在FreeBuf发布内容哦

相关推荐
  • 0 文章数
  • 0 评论数
  • 0 关注者
登录 / 注册后在FreeBuf发布内容哦
收入专辑