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

本文讲的是“双子星”文档攻击预警:新型的跨平台恶意文档攻击分析报告,近日,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日

本文来自合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

原文链接

时间: 2024-09-16 03:00:01

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

利用开源工具分析新型PowerPoint恶意文档

本文讲的是利用开源工具分析新型PowerPoint恶意文档,最新新出现了一个新型的恶意MS Office文档:通过将鼠标光标悬停在链接上来执行PowerShell命令的PowerPoint文档,此攻击不涉及VBA宏.在本博客中,我们将展示如何使用免费的开源工具分析这些文档.像往常一样,该恶意MS Office文件通过电子邮件发送给受害者. 分析 使用emldump.py(一个分析MIME文件的工具),我们可以分析用户收到的电子邮件: 输出表示邮件附件位于第5部分.我们选择第5部分,并执行前100

金融安全资讯精选 2017年第十三期 百慕大离岸律师事务所遭黑客攻击,Google 发布HTTPS 普及度报告,Bad Rabbit攻击预警和安全建议,PCI SSC 发布新的 3DS 支付标准

[金融安全动态] 百慕大离岸律师事务所 Appleby 近期遭黑客攻击 点击查看原文   点评:与此前声名大噪的"巴拿马文件"一样,"百慕大"事件的目标在于掀起新一轮对全球财务.企业以及税务事务的大规模审查.从这次事件可以见到,其实对于越大型的公司或个人来说,数据泄露所最担心的问题并非是经济损失,公司名誉和品牌的杀伤力,才是致命的.   Google 发布HTTPS 普及度报告 点击查看原文   概要:一项Google发布出来的数据:64% Android设备上,7

qtcreator-Qt导出word文档,如何在代码中设置文档内容的样式?

问题描述 Qt导出word文档,如何在代码中设置文档内容的样式? RT.网上查了一下,基本都是用模板+书签的方法来插入内容,但是我现在想直接靠运行程序来生成一个文档,但是这就有一个问题,文档内容的格式就得写在代码之中,而不能像书签那样把格式定好了直接插内容就行.各位大神知道怎么弄吗? 解决方案 一样的,可以对Selection应用段落样式来实现.具体可以在word中录制一个宏,然后根据自动产生的VB代码照着写.

ppt文档中怎么插入另一个ppt文档?

1.打开需要添加文件的ppt 文档中怎么插入另一个ppt文档?-word怎么把另一个文档"> 2.翻到需要插入ppt文档的那一页 3.在菜单栏中选择"插入"-------"对象" 4.弹出"插入对象"对话框 方法一,选择新建 1.在对话框中选择"Microsoft Office PowerPoint演示文稿 " 2.点击"确定 "后,就可以再新建的空白文档框里增加内容即可 方法二.选择由文件

WPS文档保护技巧 教你如何给文档加密

  如果你编辑的是一个重要的文档,你肯定会担心文档的安全性.会不会被他人偷窥?甚至恶意修改?所幸的是,WPS Office 2012 提供了多种安全保护方式来保证文档的安全.下面让我们一起来看看. 1.给文档加密 不想让别人看到的重要文档该怎么保护呢?WPS Office 2012具有文件加密的功能,可以根据自己的需要为文档加密,这个密码将在下次打开此文档时要求输入. 点击左上角[WPS文字]按钮右边的向下箭头,再依次选择[文件]→[文件加密]. 在弹出的"文档加密"对话框中键入密码,

mfc-在MFC对话框程序中,如果用户更改了文档,则提示是否要保存文档

问题描述 在MFC对话框程序中,如果用户更改了文档,则提示是否要保存文档 MFC对话框推出程序的时候,如果用户更改了文档,则提示是否要保存文档,如果用户选择否,回到主界面不关闭程序 解决方案 用ClassWizard重写OnClose函数 if (MessageBox(this->m_hWnd, _T("确定退出系统吗?"), _T("提示"), MB_ICONQUESTION | MB_YESNO) == MB_NO) return; else CDialo

大侠们,请问如何制作一个文档管理工具,大体就是对文档进行分类,搜索。感谢!

问题描述 大侠们,请问如何制作一个文档管理工具,大体就是对文档进行分类,搜索.感谢!我是一个文字工作IT盲,但是想干点事.现在手上有公司几年的各种文档.都是WORD电子版的.有时要查找一些文档记录好难,要一个一个打开.可不可以制作一个工具或一个平台,搜索一下,就会出现.如我按年份搜,它就会出现搜索年份的1.*年*月**会议**内容2.*年*月**会议**内容等等,按会议名称搜,也会出现搜索会议的1.*年*月**会议**内容2.*年*月**会议**内容等等.请大侠请教,感激不尽.....对了,我不

一种新型的DDoS:“胡乱域名”攻击

本文讲的是 一种新型的DDoS:"胡乱域名"攻击,一种针对域名服务器的新型分布式拒绝服务攻击(DDoS),可称之为"胡乱域名"(Nonsense Name)攻击.它能给递归域名服务器和权威域名服务器(authoritative name servers)造成严重破坏. 这种"无意义域名"DDoS攻击通常是这样进行的: – 攻击者选定一个域作为目标,比如someone.example. – 在目标域内,攻击者操纵僵尸网络产生大量随机域名.这些随机域

vc多文档程序,怎么判断是哪一个文档或view关闭,

问题描述 vc多文档程序,怎么判断是哪一个文档或view关闭, 开发了一个vc多文档程序,我想在某一个特定的doc关闭时做出提示,请问在用户点击关闭他的时候我怎么知道是哪一个文档要关闭.