前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >无需开启宏即可渗透:在Office文档中利用DDE执行命令

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

作者头像
FB客服
发布2018-02-27 11:51:13
1.9K0
发布2018-02-27 11:51:13
举报
文章被收录于专栏:FreeBuf

概述

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

背景

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

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

方法

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

代码语言:javascript
复制
{ DDEAUTOc:\\windows\\system32\\cmd.exe "/k notepad.exe" }

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

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

代码语言:javascript
复制
{ DDEc:\\windows\\system32\\cmd.exe "/k notepad.exe" }

,并保存文档。

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

代码语言:javascript
复制
<w:updateFieldsw:val="true"/>

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

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

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

扩展

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

(执行PowerShell)

(执行bat脚本)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 背景
  • 方法
  • 扩展
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档