3、文档转换
为了完成这个传递方法,攻击者以一个RTF文档开始,并嵌入一个恶意可执行文件,然后将该文档转换成一个Word文件(.doc)。一旦在Word中,攻击者增加所需的宏调用来保存、打开和执行压缩在源文档中的payload。
图5 恶意宏
图5展示了利用这种传递向量的恶意宏的一个示例。宏使用函数SaveAs来保存活动的文档,并以格式(wdFormatRTF)和CreateObject打开Word的一个新实例,而该Word静默地打开了文档。一旦RTF文档打开后,宏会执行被提取到用户临时目录的payload。
虽然一旦Word实例被关闭,可执行文件就会被删除,但是宏写入临时目录的RTF文件仍旧存在,并能够在分流或响应活动中用作主机指标。对宏的检查可以快速确认一旦payload被执行,RTF文件是否也被删除。
4、RTF到Doc以及反向转换
当Word打开时,虽然默认行为有所不同,嵌入对象不再被提取到临时目录中,但是分析嵌入的Ole10Native流显示,当文件被保存到新的格式时并未被修改。
当恶意宏将文档保存回RTF格式时,整个文档增加了新的字段和格式,但是恶意payload的流保持不变。
图6 原始RTF与保存RTF文档对比
一旦文档转成回原始格式,当文件处于打开状态时,在嵌入的对象被自动提取到临时目录的地方就会发生默认行为。
5、结论
我们可以看到,这是一种创新性的方式来使用默认行为压缩和传递恶意二进制文件。另外,我们还看到,攻击者使用混淆(XOR)的附加层来更好地掩盖文档对二进制文件的包含。
看着这些样本中的恶意宏,并没有显式的调用来编写或下载用作payload的二进制文件。当识别恶意二进制文件初始的传递向量时,恶意软件分类过程中这可能会导致一些混乱。
6、参考资料
1、https://blogs.mcafee.com/mcafee-labs/dropping-files-temp-folder-raises-security-concerns/
2、https://isc.sans.edu/forums/diary/Getting+the+EXE+out+of+the+RTF/6703/
3、https://www.dshield.org/forums/diary/Getting+the+EXE+out+of+the+RTF+again/8506/
7、样本
1、88c69cd7738b6c2228e3c602d385fab3
2、8cbb6205bb1619a4bde494e90c2ebeb6
3、836ff385edd291b1e81332c7c3946508
4、da86cbe009b415b3cf5cd37a7af44921
(责任编辑:安博涛)