本文讲的是“双子星”文档攻击预警:新型的跨平台恶意文档攻击分析报告,近日,360公司QEX团队和追日团队发现了一种新型的跨平台恶意文档攻击开始流行,并捕获到了该攻击在野外出现的恶意样本。该恶意文档支持跨平台攻击,使用了白利用、无文件和windows安全策略绕过等高端攻击技术。以往的office文档只针对windows操作系统和苹果操作系统分别进行攻击,而最新的攻击样本兼容了两个操作系统,用户无论是在哪个系统打开这个文档,都有可能中招,我们将其命名为“双子星”文档攻击。
图1
攻击影响分析
攻击影响安装了office软件的MacOS和windows系统,目前野外出现了少量恶意样本,暂未出现大规模利用的情况。
攻击形式分析
攻击者利用OFFICE软件的宏功能发起攻击,宏功能一般用作批量处理办公文档,由于其强大的功能也被黑客利用制作恶意文档,但OFFICE软件的宏功能在MacOS上并不被人关注,这个功能在MacOS上也能良好运作。宏功能是默认关闭的,但仍然会有运行安全提示,用户打开文档后,大都会忽略安全提示,直接运行宏导致中招。
图2
图3
新型office恶意样本技术分析
通过对捕获样本分析,我们发现样本使用宏内建的预定义语法对mac和windows平台进行兼容。
MAC攻击分析
如果是mac平台,则通过一行shell脚本执行代码,恶意样本就会从自身定义的文档属性M值中读取预先写好的url。
图4
然后使用curl 下载恶意代码,通过管道符传递给Python解释器执行。
图5
由于mac的系统环境内置了python程序,目前这种使用一句话shell脚本执行Python恶意代码的荷载攻击方式,在mac平台上非常流行。
图6
Windows攻击分析
如果是windows平台,恶意样本首先会确定处理器构架是X86 还是 X64
图7
然后从文档属性中读取预先准备好的数据
图8
图9
数据其实是2个压缩率为0的zip包,解压后为2个PE,分别对应X86和X64构架使用
图10
为创建的新进程设置父进程为Explorer.exe
图11
当前版本使用计划任务来执行释放的PE文件
图12
并继续从预先设置的文档属性中读取数据,来配置计划任务描述信息
图13
图14
计划任务添加完成后,将受害者机器信息通过post请求返回给控制端。
图15
数据包如下。
图16
安全措施绕过及攻防分析
该样本的执行利用了InstallUtil.exe 来启动 .net 的dll文件,该技巧通常用于绕过applocker 等极其严苛的白名单限制工具策略,同时该样本还使用了x86和x64的两套.net 的dll适配不同系统环境。
图17
从执行的命令行中获取UpdateServer 和 ID 的参数作为变量,然后调用GetFile函数从远程网页中获取查找信息,使用内置的key,调用Crypt函数解密获取的shellcode,最后调用Inject函数在自身内存中执行shellcode。
图18
GetFile函数从网页中匹配正则表达式"'showandtell'>(.*?)<" ,把获取到的数据用base64解码返回,远控平台支持配置成https格式的并且验证证书有效性,可以阻碍安全工程师排查分析。
图19
图20
图21
解密shellcode的Crypt函数
public static byte[] Crypt(byte[] data, byte[] key) { byte[] array = new byte[data.Length]; for (int i = 0; i < data.Length; i++) { array[i] = (data[i] ^ key[i % key.Length]); } return array; } |
图22
执行shellcode的Inject 函数
public static bool Inject(byte[] shellcode) { IntPtr intPtr = GCHandle.Alloc(shellcode, GCHandleType.Pinned).AddrOfPinnedObject(); uint num; if (Tools.VirtualProtect(intPtr, (UIntPtr)((ulong)((long)shellcode.Length)), 64u, out num)) { ((Tools.SC)Marshal.GetDelegateForFunctionPointer(intPtr, typeof(Tools.SC)))(); } return true; } |
图23
荷载样本关联分析
从样本中我们提取发现了一行pdb信息:
C:UsersNickDocumentsProjectsThrowbackThrowback2.5WinDropobjx64ReleaseWinDrop.pdb |
通过pdb开发信息,我们推测该样本是通过Throwback生成的远控平台的一部分,Throwback是silentbreaksecurity在DEF CON黑客大会 22届的时候公开的使用信标式后门程序(beaconing backdoor),公开的版本是三年前的版本,相信在这三年中这个后门也在进化和添加新的功能,windrop应该就是其中添加的一个新的模块。该样本的C&C和荷载URL于2016年就开始被少量用于攻击,最近的攻击出现在8月24日。
图24
总结
根据以上技术分析,该样本使用的攻防技术比较高端,只在小范围内进行定向攻击测试,但不排除未来会被用于大规模攻击,针对此新型攻击的样本,360安全卫士已在第一时间跟进查杀,请PC用户和MAC用户同时提高警惕,不要打开来路不明的office文档,并使用360安全卫士防御可能的攻击。
原文发布时间为:2017年8月25日
本文来自合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。