“双子星”文档攻击预警 – 新型的跨平台恶意文档攻击分析报告

释放双眼,带上耳机,听听看~!
概述及预警近日,360科技集团核心安全部QEX团队和追日团队发现了一种新型的跨平台恶意文档攻击开始流行,并捕获到了该攻击在野外出现的恶意样本。该恶意文档支持跨平台攻击,使用了白利用、无文件和windows安全策略绕过等高端攻击技术。以往的office文档只针对windows操作系统和苹果操作系统分别

概述及预警

近日,360科技集团核心安全部QEX团队和追日团队发现了一种新型的跨平台恶意文档攻击开始流行,并捕获到了该攻击在野外出现的恶意样本。该恶意文档支持跨平台攻击,使用了白利用、无文件和windows安全策略绕过等高端攻击技术。以往的office文档只针对windows操作系统和苹果操作系统分别进行攻击,而最新的攻击样本兼容了两个操作系统,用户无论是在哪个系统打开这个文档,都有可能中招,我们将其命名为“双子星”文档攻击。

 

1.png

1

攻击影响分析

攻击影响安装了office软件的MacOSwindows系统,目前野外出现了少量恶意样本,暂未出现大规模利用的情况。

攻击形式分析

攻击者利用OFFICE软件的宏功能发起攻击,宏功能一般用作批量处理办公文档,由于其强大的功能也被黑客利用制作恶意文档,但OFFICE软件的宏功能在MacOS上并不被人关注,这个功能在MacOS上也能良好运作。宏功能是默认关闭的,但仍然会有运行安全提示,用户打开文档后,大都会忽略安全提示,直接运行宏导致中招。

 

 2.png2

3.png

3

新型office恶意样本技术分析

 

通过对捕获样本分析,我们发现样本使用宏内建的预定义语法对macwindows平台进行兼容。

 

MAC攻击分析

如果是mac平台,则通过一行shell脚本执行代码,恶意样本就会从自身定义的文档属性M中读取预先写好的url

 

4.png

4

 

 

然后使用curl 下载恶意代码,通过管道符传递给Python解释器执行。

 

5.png

5

 

 

由于mac的系统环境内置了python程序,目前这种使用一句话shell脚本执行Python恶意代码的荷载攻击方式,在mac平台上非常流行。

 

6.png

6

windows攻击分析

 

如果是windows平台,恶意样本首先会确定处理器构架是X86 还是 X64

7.png

7

 

然后从文档属性中读取预先准备好的数据

8.png 

8

9.png

9

 

数据其实是2个压缩率为0zip包,解压后为2PE,分别对应X86X64构架使用

 

10.png

10

 

 

为创建的新进程设置父进程为Explorer.exe

 

11.png

11

 

当前版本使用计划任务来执行释放的PE文件

 

12.png

12

并继续从预先设置的文档属性中读取数据,来配置计划任务描述信息

13.png

13

 

14.png

 

14

计划任务添加完成后,将受害者机器信息通过post请求返回给控制端。

15.png

15

 

数据包如下。

16.png

 

16

安全措施绕过及攻防分析

 

该样本的执行利用了InstallUtil.exe 来启动 .net dll文件,该技巧通常用于绕过applocker 等极其严苛的白名单限制工具策略,同时该样本还使用了x86x64的两套.net dll适配不同系统环境。

17.png

17

 

从执行的命令行中获取UpdateServer ID 的参数作为变量,然后调用GetFile函数从远程网页中获取查找信息,使用内置的key,调用Crypt函数解密获取的shellcode,最后调用Inject函数在自身内存中执行shellcode

18.png

18

GetFile函数从网页中匹配正则表达式“‘showandtell’>(.*?)<” ,把获取到的数据用base64解码返回,远控平台支持配置成https格式的并且验证证书有效性,可以阻碍安全工程师排查分析。

19.png

19

 

20.png

20

 

21.png

21

 

解密shellcodeCrypt函数

 

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

执行shellcodeInject 函数

 

 

 

 

 

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:\Users\Nick\Documents\Projects\Throwback\Throwback2.5\WinDrop\obj\x64\Release\WinDrop.pdb

 

通过pdb开发信息,我们推测该样本是通过Throwback生成的远控平台的一部分,ThrowbacksilentbreaksecurityDEF CON黑客大会 22届的时候公开的使用信标式后门程序(beaconing backdoor),公开的版本是三年前的版本,相信在这三年中这个后门也在进化和添加新的功能,windrop应该就是其中添加的一个新的模块。该样本的C&C和荷载URL2016年就开始被少量用于攻击,最近的攻击出现在824日。

 

24.png

24

 

总结

 

根据以上技术分析,该样本使用的攻防技术比较高端,只在小范围内进行定向攻击测试,但不排除未来会被用于大规模攻击,针对此新型攻击的样本,360安全卫士已在第一时间跟进查杀,请PC用户和MAC用户同时提高警惕,不要打开来路不明的office文档,并使用360安全卫士防御可能的攻击。

 

 

给TA买糖
共{{data.count}}人
人已赞赏
系统安全

远控木马上演白利用偷天神技:揭秘假破解工具背后的盗刷暗流

2017-8-18 3:39:46

系统安全

一个换行符引发的奥斯卡0day漏洞(CVE-2017-8759)重现-最新的Office高级威胁攻击预警

2017-9-15 5:57:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索