跳转至

T1559-002-win-利用进程间通信执行-动态数据交换-DDE

来自ATT&CK的描述

攻击者可以使用Windows动态数据交换(DDE)执行任意命令。DDE是一种客户端-服务器协议,用于应用程序之间的一次性或连续的进程间通信(IPC)。建立链接后,应用程序可以自动处理由字符串,温数据链接(数据项更改时的通知),热数据链接(数据项更改的复制)以及命令执行请求组成的事务。

对象链接和嵌入(OLE)或在文档之间链接数据的功能最初是通过DDE实现的。尽管已被组件对象模型取代,但可以通过注册表项在Windows 10和大多数Microsoft Office 2016中启用DDE。

Microsoft Office文档可能会被直接或通过嵌入式文件的方式注入DDE命令,并被用于通过网络钓鱼或托管的Web内容投递恶意代码,从而避免使用Visual Basic for Applications(VBA)宏。在无法直接访问命令和脚本解释器的受感染计算机上,攻击者也可以利用DDE执行操作。

测试案例

DDE是一种动态数据交换机制(Dynamic Data Exchange,DDE)。使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。

制作恶意DDE文档

创建一个文档dde.docx,之后双击打开 dde.docx,直接Ctrl + f9快捷键便可以快速帮助创建一个域,我们则只需要在花括号中添加如下指令(弹出一个计算器),实战过程中可以远程加载我们的木马。

DDEAUTO c:\\windows\\system32\\cmd.exe "\/k calc.exe"

通过钓鱼等方式传播恶意文件

目标点击后会弹窗提示;成功执行代码,弹出计算器.

检测日志

测试复现

测试留痕

检测规则/思路

建议

在OLE和Office开放的XML文件中扫描‘DDEAUTO’、‘DDE’关键字,这是DDE执行的标识。 监控进程是否存在指示DDE滥用的异常行为,例如Microsoft Office应用程序正在加载一些通常无关于程序的DLL和其它模块,或者这些应用程序创建了一些不寻常的子进程(如 cmd.exe)。

参考推荐

MITRE-ATT&CK-T1559-002

https://attack.mitre.org/techniques/T1559/002/