作者 SwordLea 2016-07-12 11:16:00
被查看了1019次 , 本文转载自:乌云知识库

白象的舞步——来自南亚次大陆的网络攻击

Author:安天实验室安全研究与应急处理中心(Antiy CERT)

  • 报告初稿完成时间:2016年07月1日17时
  • 首次发布时间:2016年07月10日 10时
  • 本版本更新时间:2016年07月10日 10时

0x00 概述

在过去的四年中,安天的工程师们关注到了中国的机构和用户反复遭遇来自“西南方向”的网络入侵尝试。这些攻击虽进行了一些掩盖和伪装,我们依然可以将其推理回原点——来自南亚次大陆的某个国家。尽管我们积极地提醒和协助我们的客户进行改进防护,并谨慎而有限地披露信息、给予警告,但这种攻击并未偃旗息鼓,恰恰相反,其却以更高的能力卷土重来。

安天本报告披露其中两组高频度攻击事件,尽管我们尚未最终确定这两个攻击波的内在关联,但可以确定的是其具有相似的目的和同样的国家背景,我们将其两组攻击统称为——“白象行动”

0.1 第一攻击波的概况

2012年~2013年,安天陆续捕获了来自白象组织的多次载荷投放,此后依托关联信息同源分析,找到了数百个样本,这些样本多数投放的目标是巴基斯坦,少数则针对中国的高等院校和其他机构。2013年7月,安全厂商Norman所发布的报告,将这一攻击称为HangOver【1】

安天技术负责人在2014年4月在《计算机学会通讯》发表的《反病毒方法的现状、挑战与改进》【2】 一文中,披露了安天捕获到的该组织针对中国的攻击事件:

“从2012年3月起,我们已经陆续捕获了该事件的一些相关的样本。而这些样本对应的网络事件非常稀少,呈现出高度定向的特点。”安天在文章中披露了其中6个相关的样本HASH和被攻击的目标——中国的两所高等院校。在2014年的中国互联网安全大会上,安天在题为《APT事件样本集的度量》【3】 的公开报告中,对这个事件做了首次全面披露。2014年8月,安天完成了报告《白象的舞步——HangOver攻击事件回顾及部分样本分析》【4】 ,并将这一攻击组织中文命名为 “白象”。

为区分两个不同的攻击波,我们将2012~2013年高度活跃的这组攻击,在本报告中称之为“白象一代”。“白象一代”投放了至少近千个不同HASH的PE样本,使用了超过500个C&C域名地址;其开发人员较多,开发团队技能混杂,样本使用了VC、VB、.net、Autoit等多种环境开发编译;同时其未使用复杂的加密算法,也未发现使用0day漏洞和1day的漏洞,而更多的是采用被部分中国安全研究者称为“乱扔EXE”的简易社会工程学——鱼叉式网络钓鱼攻击。PE免杀处理是该攻击组织所使用的主要技巧,这也是使这组攻击中的PE载荷数量很大的原因之一。在2015年6月16日的中国反病毒大会上,安天做了题为《A2PT与“准APT”事件中的攻击武器》【5】的技术报告,并把这组攻击划分为轻量级APT攻击。

0.2 第二攻击波的概况

在第一攻击波发生后,具有相关基因特点的攻击载荷开始减少,2014年活跃度开始明显下降。直到2015年年底,安天又发现一组来自“西南方向”的攻击进一步活跃,通过持续跟踪发现本次行动的攻击主要目标依然为中国和巴基斯坦,通过安天监控预警体系分析发现,中国的受攻击者主要为教育、军事、科研等领域。

第二攻击波的行动摆脱了“白象一代”杂乱无章的攻击手法,整体攻击行动显得更加“正规化”和“流程化”。第二攻击波普遍使用了具有极高社工构造技巧的鱼叉式钓鱼邮件进行定向投放,至少使用了CVE-2014-4114和CVE-2015-1641等三个漏洞;其在传播层上不再单纯采用附件而转为下载链接、部分漏洞利用采取了反检测技术对抗;其相关载荷的HASH数量则明显减少,其中使用了通过Autoit脚本语言和疑似由商业攻击平台MSF生成的ShellCode;同时其初步具备了更为清晰的远程控制的指令体系。

我们将这组攻击称为“白象二代”,我们尚无证据表明“白象一代”和“白象二代”组织间存在人员交叉。从整体上来看,“白象二代”相比“白象一代”的技术手段更为高级,其攻击行动在整体性和技术能力上的提升,可能带来攻击成功率上的提升。而其采用的更加暴力和野蛮的投放方式,使其攻击次数和影响范围远远比“白象一代”更大。”

“白象二代”的技术手法相比“白象一代”有质的提升,其更符合某些研究者对于APT攻击的“技术定义”, 但安天始终要指出,APT的“A(高级)”是相对的,是否称为APT攻击,主要是分析攻击的发起方与其动机和意志,而所谓技术水平则不是定性的主要因素。同时,无论是“白象一代”轻量级的攻击,还是“白象二代”显得更为高明的攻击,对于中国庞大的信息体系,特别是针对高等院校等民用机构,构成了严重的威胁。

0x01 白象一代——HangOver的样本、目标与源头分析

1.1 概述

安天在2012年获取导向相关的载荷最早的投放行为曾淹没于其他海量的安全事件中,并未将相关事件判定为APT攻击。因此需要感谢安全厂商Norman在2013年7月所发布的报告《OPERATION HANGOVER |Executive Summary——Unveiling an Indian Cyberattack Infrastructure》【1】 ,Norman在上述报告根据在分析中发现的原始工程名“HangOve”,将此事件命名为“HangOver”。这组事件即是安天称为“白象一代”的行动。这让安天反思过去在发现和追踪APT攻击中,过度考虑攻击技巧和漏洞利用的问题,并开始针对周边国家对中国攻击检测有了新的方法和视角。

安天认为“白象一代”组织中人员较多,人员能力参差不齐,采用开发编译器混杂,作业相对混乱。通过安天后端分析平台的关联统计,查找到该攻击组织的相关样本910个,其模块功能包括键盘记录、下载器,信息窃取等,相关样本最新的版本号为HangOver 1.5.7 (Startup)。并根据分析判断相关组织针对中国高等院校等目标实施了攻击行动。

1.2 样本与资源分析

安天CERT的研究人员对安天的全样本集,制定了针对四种编译二进制文件的关联方法(Method A~D),对样本的动静态信息进行向量比对和关联。对于提取出的样本结果集合,安天CERT研究人员又基于代码结构的对比进行了误报排查,最终在已经被其他分析方认定的样本之外,发现了更多样本。

p1

图 1-1 使用不同方法关联出的新的样本比例

p2

图 1-2 “白象一代”挖掘到的关联样本的编译器分布

其中,使用Autoit编译的样本29个,VB编译的样本189个,VC编译的样本127个。

注:Autoit是一个用于编写自动化脚本的语言,其编写的脚本可以编译成压缩、单一的可执行文件,这样就如同其他编译器生成的PE文件一样,可以脱离开发环境,运行于Windows系统。

同时,安天CERT也对样本所使用的C&C IP进行了地理位置对应:

p3

图 1-3 “白象一代”C&C对应的地理位置

通过对部分样本的时间戳及编译器数据的对比可以发现,“白象一代”的样本编译时间在2010年下半年到2011年下半年之间的数量最多;2010年上半年的数量较少,属于开始阶段;2012年上半年开始下降,属于收尾阶段。

注:Delphi编译器的样本未加入到对比中,这是因为Delphi时间戳在统计分析中未体现出足够价值。

p4

图 1-4 “白象一代”不同编译器样本的时间戳情况

1.3 对中国境内目标的攻击

1.3.1 攻击样本与事件

安天在2014年4月相关文章中,所披露的针对中国两所大学被攻击的实事件,涉及以下六个样本。

捕获时间 样本hash列表 样本编号
2012-08-10 0D466E84B10D61031A62AFFCFFF6E31A Sample 1
2012-10-21 734E552FE9FFD1FFDEA3434C62DD2E4B Sample 2
2012-07-24 9A20F6F4CDDEABC97ED46AEE05AC7A50 Sample 3
2012-07-06 CE00250552A1F913849E27851BC7CF0A Sample 4
2012-09-24 DE81F0BDBD0EF134525BCE20B05ED664 Sample 5
2012-08-01 F37DD92EF4D0B7D07A4FBDCD9329D33B Sample 6

“白象一代”对中国两所高校攻击的时间链:

p5

图 1-5 “白象一代”攻击中国两所大学的6个样本的时间戳与安天捕获时间对比

视频连接

图 1-6 “白象一代”针对中国高等院校的载荷投放攻击与数据控制获取的地理场景可视化复现

1.3.2 样本情况与作业技巧

在上述攻击中,“白象一代”至少使用了6个样本,这些样本采用不同的编译器(含版本)编译,其中有4个未加壳,有2个使用了UPX壳。

编译器 主要行为 回连地址
Sample 1 Microsoft Visual Basic 5.0 / 6.0 释放的VBScript脚本,脚本执行后连接远程服务器zolipas.info。(域名失效) http://zolipas.info/advd
Sample 2 Microsoft Visual Studio .NET 2005 -- 2008 运行后将以下文件设置为Run自启C:\WINDOWS\system32\CatRoot2\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\slidebar.exe,记录键盘信息并上传。 http://linkspectra.com/k1.php
Sample 3 UPX Dev-C++ 4.9.9.2 运行后在C:\ApplicationData\Prefetch\ 目录下生成log.txt文件,不断的记录键盘、窗口标题、浏览器搜索内容、计算机用户名等信息。
Sample 4 UPX Microsoft Visual C++ 7.0 运行后试图创建csetup32.dll,但未成功。链接域名secureplanning.net欲下载其他恶意代码(URL失效)。 http://secureplanning.net/download/logo2.jpg
Sample 5 Microsoft Visual Studio .NET 2005 -- 2008 运行后在`c:\Documents and Settings\Administrator\Local Settings\Application Data\NTUSR\目录下创建文件ntusr1.ini,记录用户打开的窗口标题。不断地上传样本3记录的信息log.txt http://periodtable.eu/starx.php
Sample 6 Dev-C++ 4.9.9.2 样本运行后在C:\ApplicationData\目录下释放logFile.txt文件,收集各种相关扩展名文档名称

p7

图 1-7 样本与资源间的关联

其中有5个样本投放至同一个目标,这些样本间呈现出模块组合作业的特点。4号样本是初始投放样本,其具有下载其他样本功能;3号样本提取主机相关信息生成日志文件;5号样本负责上传;6号样本采集相关文档文件信息;2号样本则是一个键盘记录器。

p8

图 1-8 样本的组合模块作业方式

通过对比安天捕获上述样本时各杀毒引擎的检测情况,以及到Norman曝光此事件后各引擎的检测情况,可见该攻击组织使用了一定的免杀技巧。

p9

图 1-9 样本在捕获时和被曝光时的扫描对比

1.4 样本中的典型组件分析

“白象一代”样本集中包括了多个功能组件,包括:

组件名 功能
Keyloger 键盘记录
download 下载
Upload 上传
http backup HTTP上传
FTP backup FTP上传
Usb Propagator U盘摆渡
Mail Password Decryptor 邮件口令解密

因报告篇幅所限,我们仅分析其中的窃密组件。这一组件主要功能是遍历磁盘中敏感文件(指定扩展名的文件)、主机信息等,并上传到攻击者指定的服务器中。

1.4.1 样本标签

  • 病毒名称:Trojan/Win32.Uploader
  • 原始文件名:Hangover1.5.9.exe
  • MD5:0e9e46d068fea834e12b2226cc8969fd
  • 处理器架构:X86-32
  • 文件大小:28,9208 Bytes
  • 文件格式:BinExecute/Microsoft.EXE[:X86]
  • 时间戳:2012-09-13 13:09:03
  • 编译语言:Microsoft Visual C++

1.4.2 功能描述

  • 遍历磁盘文件,上传敏感文件及主机信息到服务器;
  • 添加启动项;
  • 遍历敏感文件(.doc;.docx;.xls;.ppt;.pps;.pptx;.xlsx;.pdf);
  • 上传文件到服务器;
  • 生成上传文件列表;
  • 文件上传前,规则化重命名文件;
  • 获取电脑主机信息;
  • 在当前用户以及所有用户启动文件夹中添加启动项。

1.4.3 功能分析

该样本遍历用户磁盘文件,上传遍历到的指定扩展名文件:

*.doc;*.docx;*.xls;*.ppt;*.pps;*.pptx;*.xlsx;*.pdf

每获取一个文件,在文件上传之前会先获取文件时间,转换为标准时间后和源文件名一起组成新的名字,作为上传的文件名。主要的函数代码如下:

p10

图 1-10 重命名的格式:[原有文件名称(无后缀)+文件时间+后缀]

样本获取到受害主机的所有指定扩展名的文件后,回传到指定的服务器,回传的主要流程如下:

p11

图 1-11 回传流程

1.5 攻击来源与攻击目标的分析

1.5.1 样本集中其他对中国有针对性的样本分析

表 1-2 样本标签

  • 病毒名称:Trojan/BAT.Zapchast.at
  • 原始文件名:未知
  • MD5:13107B9455561E680FE8C3B9B1E8BC37
  • 处理器架构:X86-32
  • 文件大小:29,4905字节
  • 文件格式:ZIP
  • 时间戳:2011-05-28 16:04:38
  • 数字签名:无
  • 加壳类型:ZIP SFX
  • 编译语言:Microsoft Visual C++ 6.0
  • VT扫描结果:40 / 51

样本使用PDF图标进行伪装,运行后衍生多个文件到系统目录并运行,同时显示一张图片(如图2-12)该图片为中国法院的判决书,以迷惑用户。衍生文件会添加注册表开机启动,记录用户键盘输入并回传至远程服务器。

p12

图 1-12 样本中包含带有中文的图片

样本运行后衍生文件列表:

MD5 E92F739FE39E2200, 2FE3A824084DD95B 01CDA08113796A7, 8702843A414F477C4 FC368AEF6E129, 3295EE26F6360B9CF9C 0181DE2B2E2F169, 5DBBFBE9A59F5C96E 68E8AD38E9E6150, 4A46DEAE00EC7C141
路径 %WINDOWS%\windowss\
文件名 spoolsv.exe ssmss.exe test.vbs start1.bat court_notice.jpg
类型 PE vbs脚本 批处理脚本 图片
功能 键盘记录 回传记录 执行start1 启动PE文件 显示给用户

由上表可知主要的恶意文件为spoolsv.exe和ssmss.exe,以下对这两个文件进行简要分析。

spoolsv.exe分析:

1.样本运行后解密内部配置数据,共有两处解密函数;

解密1,对一些注册表启动键值、文件名、要监控的窗体进行解密,算法就是ASCII码减一。

p13

图 1-13 解密注册表、文件名窗体等信息

解密2,对动态加载的DLL名称、函数解密。

p14

图 1-14 解密DLL名称和函数

2.使用CMD命令添加注册表启动项:

#!bash    
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run:InternetDownloadServices
C:\WINDOWS\windowss\spoolsv.exe

3.创建事件对象Global\{9A8FEAD9-92E9-3F1AD79150C2}、使用注册窗体的方式执行恶意功能代码;

4.记录用户的窗体名称和键盘输入,特别是对Internet Explorer,Mozilla FireFox的子窗体进行记录,达到记录URL地址的目的,记录的内容写入sonic.ax;

p15

图 1-15 通过监控窗体记录URL地址

5.每记录100次,复制sonic.ax为sonic1.ax供ssmss.exe使用。

p16

图 1-16 记录次数

ssmss.exe分析:

1.创建事件对象:Global\\{D91AD7DF91-92E9-9A8FEA3F50CRC254},获取计算机名称;

2.使用CMD命令添加注册表启动项:

#!bash
reg add HKCU\Software\Microsoft\Windows\Currentversion\run /v WindowsFirewallSecu     rityServ /t REG_SZ /d "C:\Documents and Settings\*\桌面\ssmss.exe" /f

3.循环读取sonic1.ax内容并回传至URL:s0pp0rtdesk.com/test00.php;

4.回传完信息,删除sonic1.ax。

C&C信息:
***rtdesk.com/test00.php          ***.91.197.101         美国

1.5.2 样本集的时间戳、时区分析

样本时间戳是一个十六进制的数据,存储在PE文件头里,该值一般由编译器在开发者创建可执行文件时自动生成,时间单位细化到秒,通常可以认为该值为样本生成时间(GMT时间)。

p17

图 1-17 提取时间戳

时间戳的分析需要收集所有可用的可执行文件时间戳,并剔除过早的和明显人为修改的时间,再将其根据特定标准分组统计,如每周的天或小时,并以图形的形式体现,下图是通过小时分组统计结果:

p18

图 1-18 白象组织开发者工作时间

从上图的统计结果来看,如果假设攻击者的工作时间是早上八九点至下午五六点的话,那么将工作时间匹配到一个来自UTC+4 或UTC+5时区的攻击者的工作时间。

p19

图 1-19 UTC+4或UTC+5的世界时区分布图位置

根据我们匹配的攻击者所在时区(UTC+4 或UTC+5),再对照世界时区分布图,就可以来推断攻击者所在的区域或国家。

  • UTC+4: 阿拉伯联合酋长国、阿曼、毛里求斯、留尼汪/留尼旺(法)、塞舌尔、第比利斯、亚美尼亚、阿塞拜疆、阿富汗、阿布扎比。
  • UTC+5: 巴基斯坦、马尔代夫、叶卡特琳堡、乌兹别克斯坦、土库曼斯坦、塔吉克斯坦、斯里兰卡、印度。

1.5.3 攻击组织分析

我们对这一攻击组织继续综合线索,基于互联网公开信息,进行了画像分析,认为这是一个由10~16人的组成的攻击小组。其中六人的用户ID是cr01nk 、neeru rana、andrew、Yash、Ita nagar、Naga。

p20

0x02 白象二代——受害者、漏洞和能力

2.1 概述

2015年下半年开始的“白象二代”攻击与“白象一代”有很大不同,其开始使用 CVE-2014-4114【6】、CVE-2015-1641等漏洞作为攻击载荷,其不在直接在附件中投放EXE,而采用“投放社工钓鱼邮件+链接的方式”,其PE载荷数量也大大减少。

2.1.1 时间链

根据安天监控预警平台汇总的信息,“白象二代”的攻击目标主要为中国和巴基斯坦。中国受到攻击面积极为广泛,“白象二代”对中国发起了大量攻击事件。自今年以来,我们持续跟踪该组织,图3-1为“白象二代”行动的攻击时间链。

p21

图 2-1 “白象二代”行动的攻击邮件时间链

图3-2为攻击文档存档事件、PE文件时间戳信息:

p22

图 2-2 格式文档和PE载荷时间戳

2.1.2 受害者

“白象二代”组织针对中国的攻击目标以教育、军事、科研领域为主。

p23

图 2-3 受害领域分布

2.2 攻击分析

“白象二代”组织的攻击主要通过鱼叉式钓鱼电子邮件,大部分邮件以插入恶意链接的方式进行攻击,通过精心构造的诱饵内容诱导受害者打开链接,一旦打开恶意链接就会下载带有漏洞的恶意文档。

在我们捕获到的文档中,大部分是利用CVE-2014-4114漏洞的PPS文件、少量利用CVE-2015-1641漏洞的rtf文件。

2.3 鱼叉式钓鱼攻击

鱼叉式钓鱼攻击,APT攻击中最常见的攻击方式,与普通的钓鱼邮件不同,鱼叉式钓鱼攻击不会批量的发送恶意邮件,而只针对特定的公司、组织的成员发起针对性攻击,具体的攻击手法又分为两种:

  1. 在邮件中植入恶意附件,诱导受害者打开附件文件。
  2. 在邮件正文中插入恶意链接,诱导受害者点击链接,一旦受害人点击链接就会跳转到恶意链接,该链接或是挂马网站,或是恶意文件下载地址。

本次行动中“白象二代”组织使用的手法主要是第二种,因为该方式在邮件中不存在附件,更容易通过安全软件的检测。链接相对附件也更容易骗取用户的信任,邮件内的链接都是利用的第三方域名跳转,多数以xxxx为跳转域名。

2.3.1 案例1:针对中国高校教师的钓鱼邮件

这是一封针对中国高校教师的鱼叉式钓鱼邮件,正文内容是关于南海问题,在邮件的最后诱导受害者点击链接查看“完整版报告”。一旦用户点击该链接就会下载恶意文档。该文档使用了CVE-2014-4114漏洞,且采用PPS格式自动播放的特点,来实现文档打开漏洞既被触发。

p24

图 2-4 鱼叉式钓鱼邮件1

邮件内容大意为:

中国与东南亚的关系:
中国南海,更有张力和挑战(2016年五月报告)

在2016年年初,多个国家关注中国南海争议。以美国为首的多个国家对中国进行了言辞强烈的谴责,中国强烈谴责美国的行动和军事部署。

北京仍然有决心解决有争议的问题,尤其是习近平主席在2015年9月期间提出中国在南海无意搞军事化,紧张情绪并没有蔓延,美国,中国会议增多的迹象向东南亚各国政府表明、华盛顿没有、北京也没有寻求对抗。在此背景下,这些国家的政府对中国挑战其在中国南海权益的答复仍然是衡量为主。过去,他们常常减少面对中国时的自信,展示了对中国的一些批评,变得更愿意以阻止中国,并与美国更紧密地联系起来......

  • 原始链接 : xxxx
  • 重定向链接 : xxxx

2.3.2 案例2:针对国内科研机构的钓鱼邮件

这是另一封针对国内科研机构的鱼叉式钓鱼邮件,以一封标有TOP SECERT(绝密档案)的文档扫描图片为正文诱导受害者点击下面的“绝密报告”,一旦受害者点击链接就会下载一个恶意文档。该文档使用了CVE-2014-4114漏洞,且采用PPS格式自动播放的特点,来实现文档打开漏洞既被触发。

p25

图 2-5 鱼叉式钓鱼邮件2

邮件内容中文大意为:

我们的国防部长
序号1.
Contr Nr:X-0850
日期:1969年2月20日
文档,主题&内容:由国防部长给总统的备注:冲绳基地和部队。响应在1月27日会议中提出的问题。注意这些都是参谋长联席会议的答复,国防部将通过正在进行的NSC研究来提供明确的政策。因此不提供国防部长的观点。回答的问题包括了冲绳部队的规模,在那里的原因,未来需要的基地等。附:国防部长指出要求从参谋长联席会议主席到总统的转交并指出ISA还没有评论。
序号2.
Contr Nr:X-1383
日期:1969年5月19日
文档,主题&内容:由国防部长给参谋长联席会议主席的备注:核能力的退化-在琉球基地和备用…

  • 原始链接 : xxxx
  • 重定向链接 : xxxx

2.3.3 案例3:针对中国军事爱好者的钓鱼邮件

这是一封与军事相关的钓鱼邮件,针对中国军事爱好者的攻击,同样的在正文中嵌入一个链接,该链接指向一个恶意文档,该文档是一份WORD文档,采用的漏洞与前两个案例的PPS有所不同。系一个以.doc为扩展名的RTF格式文档,使用漏洞为CVE-2015-1641。

p26

图 2-6 鱼叉式钓鱼邮件3

2.4 相关诱饵文件

“白象二代”组织的主要使用PPS(Powerponit的自动播放格式)和具有WORD扩展名的RTF格式文档为诱饵文件,在我们捕获样本中大部分都是与军事相关的诱饵文件。

p27

图 2-7 “最致命的5款无人机”诱饵文件截图

p28

图 2-8 “中国人民解放军即将推出的第五代作战条例”诱饵文件截图

p29

图 2-9 “南海冲突对欧洲安全的影响”诱饵文件截图

p30

图 2-10 “涉及中国的海上领土和专属经济区域争端”诱饵文件截图

p31

图 2-11 “中巴经济走廊对印巴关系的影响”诱饵文件截图

2.5 漏洞利用

安天目前监测到的“白象二代”组织使用的漏洞均为已知的Office格式文档漏洞,部分样本在使用了一定技巧用于对抗安全软件的检测,从我们对历史扫描结果的追溯来看,这种技巧是有效的。

2.5.1 样本标签

  • 病毒名称:Trojan[Exploit]/Win32.CVE-2014-4114
  • 原始文件名:2016_China_Military_PowerReport.pps
  • MD5:F0D9616065D96CFCBB614CE99DD8AD86
  • 文件大小:12,801,024 字节
  • 文件格式:Document/Microsoft.PPS
  • 最后存档时间:2016-05-18 05:24:54

2.5.2 CVE-2014-4114

我们在跟踪沙虫攻击组织中,曾对CVE-2014-4114漏洞【7】进行过较为长时间的分析,这个漏洞的最大特点是其虽然依托格式文档,但并非依靠格式溢出。而是通过远程代码执行来实现。因此穿透了Windows的DEP、ASLR机制。

白象攻击使用的PPS扩展名样本利用Windows OLE 远程代码执行漏洞CVE-2014-4114释放并执行可执行文件。值得注意的是我们在此前分析过的其他攻击组织使用的4114样本中,多数为Office高版本格式,该格式是一个以XML为索引的压缩包,其内嵌的PE载荷会被杀毒软件在解压递归中检测到。

p32

图 2-12 CVE-2014-4114历史样本的典型结构

p33

图 2-13 “白象二代”相关样本的结构

但这次“白象二代”组织使用了低版本Office的传统LAOLA格式,由于对安全厂商来说这是一个“未公开格式”,达到了一定的免杀效果。如图3-14是多引擎对照扫描结果,可以看出此样本的确躲避了大部分安全软件的检测。

注:LAOLA文件格式是微软在早期OFFICE版本自定义的“复合文档二进制结构”(Compound File Binary Format),微软未公开相关文件格式。但传统反病毒厂商为有效应对宏病毒,通过逆向工程方式,对该结构形成了解析能力。但该格式对很多新兴安全厂商构成了障碍。

p34

图 2-14 多引擎扫描结果

2.5.3 其他

该组织除了利用上面提到的漏洞外,还有少部分文件利用了CVE-2015-1761 、CVE-2012-0158漏洞,这两个漏洞的载荷都针对WORD设计,对于这两种漏洞,攻击者并没有作的检测对抗,基本上直接利用了网上公开的利用代码,因此现有反病毒引擎对于这两种漏洞文件的检出率相对较高。

2.6 功能样本情况

从目前捕获的样本来看,“白象二代”组织使用的PE载荷样本技术水平不高,没有较为复杂的模块体系和加密抗分析机制,一部分样本是利用的脚本语言编写的程序,还有一些是采用网上公开的代码重新编译后利用。

2.6.1 窃密模块

样本标签:

  • 病毒名称:Trojan/Win32.AutoIT
  • 原始文件名:sysvolinfo.exe
  • MD5:A4FB5A6765CB8A30A8393D608C39D9F7
  • 处理器架构:X86-32
  • 文件大小:11,659,903 字节
  • 文件格式:BinExecute/Microsoft.EXE[:X64]
  • 时间戳:2016-05-13 07:55:20
  • 数字签名:NO
  • 加壳类型:无
  • 编译语言:AutoIT

白象二代组织使用的攻击样本中,有多个样本是使用Autoit编写的,主要目的用于窃取数据并打包回传到远程服务器,具体的功能如下:

1.回传系统基本信息,包括系统版本,架构,是否装有Chrome,样本版本信息等;

#!bash
$postdata = "ddager=" & $regstat & "&r1=" & b64encode(@OSVersion) & "&r2=" & b64encode(@OSArch) & "&r3=" & b64encode($p_ver) & "&r4=" & b64encode($emorhc) & "&r5=" & b64encode($cmdout) & "&r6=" & b64encode($admin)

2.具有远程控制功能,根据远程服务器指令的不同,执行不同的操作。从相关指令集上来看,设计相对比较粗糙;

p35

图 2-15 指令分支

分支 对应功能
1 输出调试信息,并延迟1秒后重新连接C&C。
2 利用PowerShell提权,并执行远程接受的PowerShell指令,对应的指令编号为2。
3 这个指令是修改$stat的标记值。
4 退出。
5 收集Chrome浏览器中记录的网站用户名及密码,对应的指令编号为5。
6 利用PowerShell执行下载新恶意程序,并运行,对应的指令编号为6。
7 利用Autoit自带函数执行下载新恶意程序,并运行,对应的指令编号为7。
8 以隐藏的模式执行CMD命令,并记录命令返回数据。

3.收集计算机内的各类文档文件,以MD5命名打包后上传到C&C,白象一代和白象二代收集的扩展名对比如下:

白象一代 *.doc *.docx *.xls *.ppt *.pps *.pptx *.xlsx *.pdf
白象二代 *.doc *.docx *.xls *.ppt *.pptx *.xlsx *.pdf *.csv *.pst *.jpeg

p36

图 2-16 收集文件代码

释放cup.exe程序,并以打包的文件路径为参数调用,cup.exe的主要功能是上传窃取的文件。

p37

图 2-17 调用cup.exe回传窃取的文件

2.6.2 ShellCode远程控制模块

样本标签如下:

  • 病毒名称:Trojan[Exploit]/Win32. ShellCode
  • 原始文件名:sysvolinfo.exe
  • MD5:465DE3DB14158005EDE000F7C0F16EFE
  • 处理器架构:X86
  • 文件大小:10,536,063 字节
  • 文件格式:BinExecute/Microsoft.EXE[:X86]
  • 时间戳:2016-05-16 13:35:59
  • 数字签名:无
  • 加壳类型:无
  • 编译语言:Microsoft Visual C# / Basic .NET

样本使用Microsoft Visual C#编译,功能是利用ShellCode来实现连接远程服务器,接收ShellCode并执行。功能简单,而且样本没做混淆,通过反编译可以看到明文代码。我们在商业攻击平台MSF生成的ShellCode中可以找到这个片段,但由于这个方法过于通用,目前我们还不能得出白象攻击组织使用了MSF平台的结论。

p38

图 2-18 利用的ShellCode代码

样本从服务器接收到的shellcode在完成自解密之后,会与服务器进行交互操作,接收指令并执行,将结果返回给服务器,图2-19为样本的运行流程:

p39

图 2-19 样本运行流程

2.7 C&C分析

本次行动中漏洞样本下载都是通过URL下载的方式,而释放的窃取数据、远程控制样本的C&C多数为硬编码的IP地址,图3-20为“白象二代”组织使用的部分域名、IP、PE文件和Office文件的对应关系:

p40

图 2-20 “白象二代”中域名、IP、样本关系图

2.8 隐藏、追踪

2.8.1 第三方邮件服务

我们通过对部分攻击邮件分析发现,该组织发送邮件的方式是通过第三方邮件服务商群发,这样在原始邮件的数据中只会存有邮件服务商的信息,攻击者通过这样的手法在一定程度上隐藏了自己的IP。

p41

图 2-21 原始邮件信息

2.8.2 入侵网站

在安天的跟踪分析中,发现该组织的部分C&C地址是一些正常的网站,经过分析我们认为,有可能该组织入侵了这些网站,将自己的C&C服务控制代码放到它们的服务器上,以此来隐藏自己的IP信息。同时这种方式还会使安全软件认为连接的是正常的网站,而不会触发安全警报。

#!bash
GET /UAV/ HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2; MSOffice 12)
Accept-Encoding: gzip, deflate
Host: www.***gdeals.com
Connection: Keep-Alive

p42

图 2-22 可能被入侵的网站

#!bash
GET /facilities/welfare2/news HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2; MSOffice 12)
Accept-Encoding: gzip, deflate
ost: *******

p43

图 2-23 可能被入侵的网站

2.8.3 与背景和来源相关的信息

基于现有资源可以分析出,“白象二代”组织一名开发人员的ID为:“Kanishk”,通过维基百科查询到一个类似单词“Kanishka”,这是一个是梵文译音,中文翻译为“迦腻色迦”,迦腻色伽是贵霜帝国(Kushan Empire)的君主,贵霜帝国主要控制范围在印度河流域。

p44

图 2-24 “Kanishk”相关信息

0x03 总结

3.1 两代“白象”的对比

我们将“白象一代”和“白象二代”的部分要素通过表格的形式进行了对比,可以看出相关国家背景攻击能力的发展:

白象一代 白象二代
主要威胁目标 巴基斯坦大面积的目标和中国的少数目标(如高等院校) 巴基斯坦和中国的大面积目标,包括教育、军事、科研、媒体等各种目标
先导攻击手段 鱼叉式钓鱼邮件,含直接发送附件 鱼叉式钓鱼邮件,发送带有格式漏洞文档的链接
窃取的文件类型 *.doc *.docx *.xls *.ppt *.pps *.pptx *.xlsx *.pdf *.doc *.docx *.xls *.ppt *.pptx *.xlsx *.pdf *.csv *.pst *.jpeg
社会工程技巧 PE双扩展名、打开内嵌图片,图片伪造为军事情报、法院判决书等,较为粗糙 伪造相关军事、政治信息,较为精细
使用漏洞 未见使用 CVE-2014-4114, CVE-2012-0158, CVE-2015-1761
二进制攻击载荷开发编译环境 VC、VB、DEV C++、AutoIT Visual C#、AutoIT
二进制攻击载荷加壳情况 少数使用UPX 不加壳
数字签名盗用/仿冒 未见 未见
攻击组织规模猜想 10~16人,水平参差不齐 有较高攻击能力的小分队
威胁后果判断 造成一定威胁后果 可能造成严重后果

3.2 大国网络空间防御能力最终会由攻击者和窥视者检验

在过去数年间,中国的信息系统和用户遭遇了来自多方的网络入侵的持续考验,这些攻击使用各种高级的(也包括看起来并不足够高级的)攻击技巧,以获取机要信息、科研成果和其他秘密为对象。攻击组织在关键基础设施和关键信息系统中长期持久化,以窃密和获取更多行动主动权为目的,其危害潜在之大、影响领域之深,绝非网站篡改涂鸦或传统DDoS所能比拟。这些攻击也随实施方的战略意图、能力和关注点的不同,表现出不同的方法和特点。尽管中国用户更多焦虑于那些上帝视角【7】的攻击,但从我们针对“白象”的分析可以看到,来自地缘利益竞合国家与地区的网络攻击,同样是中国信息化的重大风险和挑战。而且这些攻击往往虽然显得有些粗糙,但却更为频繁和直接,挥之不去。

对于类似白象这样的攻击组织,因缺少人脉和电磁能力作为掩护,其更多依赖类似电子邮件这样的互联网入口。从一个全景的防御视图来看,这本来是一个可以收紧的入口,但对于基础感知、检测、防御能力不足的社会肌体来说,这种具有定向性的远程攻击是高度有效的,而且会淹没在大量其他的非定向的安全事件中。

大国防御力,由设计所引导、以产业为基础、与投入相辅相成,但最终其真实水平,要在与攻击者和窥探者的真实对垒中来检验。

3.3 APT防御需要信息化基本环节和安全能力的共同完善

从“白象”系列攻击中,我们首先能看到中国在信息化发展上的不足。在“白象二代”组织所投放的目标电子邮箱当中,其中很大比例是免费个人邮箱,在安天之前关于我国邮件安全的内部报告中,就已经指出国内机构用户有近一半的都使用免费个人信箱作为联络邮件这一问题。而国内免费信箱的安全状况已高度不容乐观。在启动信息高速公路建设二十年后,国内依然没有对官方机构和政务人员实现有效的安全电子邮件服务的覆盖,这种企业、机构级信息化基础设施的匮乏,包括互联网服务商缺乏有效的安全投入,导致了可攻击点高度离散,降低了攻击门槛,提升了防御难度。

从“白象”系列攻击中,我们还能看到中国大量基础的信息安全环节和产品能力还不到位,“白象一代”曾被安天定性为轻量级APT攻击,以免杀PE辅以有限的社会工程技巧,进行投放,但却成功入侵了中国的高等学府。“白象二代”组织尽管在手法上有很大提高,但亦未见其具备0day储备,其所使用的三个漏洞,在为“白象组织”使用时,微软已经将其修补,而其中两个并未经过免杀处理。而类似这样的攻击依然能够大行其道,也是当前补丁、系统加固等基础安全环节不到位、产品能力不足的体现。

相关攻击亦说明,传统的以单包检测为核心的流量入侵检测机制,实时检测为诉求的边界安全机制等需要得到有效补充和扩展,重要系统必须建立起在流量还原层面针对载荷投放的有效留存和异步深度检测机制。流量还原与沙箱的组合,将成为重要系统的标配。沙箱不是简单地补充行为分析能力,而是提升攻击者预测防御方能力和手段的成本,而不进行能力改进,简单汉化开源沙箱的做法,等于放弃了沙箱产品的“抗绕过”这一重要安全特性。沙箱绝非简单的合规安全环节,当年部分IDS简单借鉴模仿开源SNORT就能够有效发现问题的时代已经过去。沙箱也不是简单的扩展反病毒引擎的检测能力,其核心价值在于有效的漏洞触发能力和行为的揭示能力,这需要长期以来的安全积累实现工程能力转化。而其单对象输入,多向量输出的产品特点,意味着这是必须依托网络管理者和厂商支撑团队的有效互动才能有效发挥价值的产品。

同时无论形态是PC、服务器或云,终端都是数据的基本载体,安全的终极战场,网络侧的安全能力必须与终端侧联通,形成纵深防御体系。国产操作系统同样需要安全手段和机制的保驾护航。任何期望御敌于网络边界或物理隔离的想象,任何“一招鲜,吃遍天”的打包票承诺,都只能是自我的心理安慰。

3.4 反APT是一种综合的体系较量

反APT攻击,要对抗攻击者在人员、机构、装备、工程体系方面的综合投入,其必然是一场成本较量,今天我们看到的安全低于成本价中标等不正常的市场行为,最终都将伤害大国网络空间安全的整体能力。

反APT攻击,要对抗攻击者坚定、持续的攻击意志,而这同样对于对抗APT的安全分析团队提升了更高的要求,从安全厂商角度,是在感知分析工程体系支撑下的持续对抗;我们必须持续跟踪攻击者的技巧、意图和路径,将这些经验转化为用户侧的防御改善和产品能力更新。安全分析团队既要有曝光对手的勇锐,也要有戍边十载、不为人知的意志与沉稳。

此外,我们觉得遗憾的是, “白象”作为非常活跃的APT攻击行动,在过去数年都仿佛始终在国际部大分主流安全厂商的视野之外。因此,像安天过去的多篇报告一样,本报告也将以中、英双语发布,尽管我们不知道会有多少海外读者,但我们希望告知世界关于中国所遭遇到的网络攻击的真实情况,“中国是网络安全受害者”这一事实必然会战胜某些人所制造的刻板偏见。

0x04 附录一:参考资料

0x05 附录二:事件日志

时间 相关事项
2012年7月6日 安天捕获白象事件针对中国某高校攻击的首个事件,当时作为一般样本入库,后陆续捕获其他样本。
2013年5月20日 Norman发布报告《OPERATION HANGOVER |Executive Summary——Unveiling an Indian Cyberattack Infrastructure》,曝光了HangOver攻击行动。
2013年8月22日 安天在中科院某机构做小报告,介绍对“白象行动”的跟踪分析情况。
2014年4月 安天在中国计算机学会会刊《中国计算机学会通讯》上撰文,少量披露分析进展。
2014年9月 安天在互联网安全大会报告中,全面披露本事件,但因其他原因,报告未能发布。
2015年12月18日 相关报告被编入《安天技术文章汇编(十•二)-APT专题第二分册》。
2016年1月26日 安天捕获到“白象二代”利用CVE-2014-4114漏洞针对国内攻击的样本。
2016年2月至5月 连续捕获到“白象二代”的鱼叉式钓鱼邮件。
2016年5月 在捕获到多起事件后,安天分析人员发现和“白象一代”有关。
2016年7月5日 “白象二代”内部分析报告完成。

本文转载自:乌云知识库