安天发布:潜伏的象群——越过世界屋脊的攻击
时间 2017年12月29日 来源: Antiy CERT
一、概述
在过去五年间,中国所遭遇到的“越过世界屋脊”的网络攻击从未停止过。在这些此起彼伏的攻击行动中,安天此前称之为“白象”(White Elephant)的组织最为活跃,从2012年到2013年,安天陆续捕获了该攻击组织的多次载荷投放,并在2014年4月的《中国计算机学会通讯》和9月的中国互联网安全大会对此事件进行了披露,同年8月,安天形成报告《白象的舞步——HangOver攻击事件回顾及部分样本分析》[1],在后续的分析中将此次攻击命名为“白象一代”。2015年年底,安天发现“白象”组织进一步活跃,并于2016年7月释放了储备报告《白象的舞步——来自南亚次大陆的网络攻击》[2],披露了“白象”组织的第二波攻击“白象二代”。而此时“白象二代”的主要攻击方向已经由巴基斯坦转向中国,并且相较之前的攻击能力有了大幅提高,其攻击手段和影响范围也远大于“白象一代”。
在“白象”组织被广泛曝光后的一段时间内,似乎偃旗息鼓,但到今年下半年,该组织再次活跃,而其相关行动是在经历了数个月准备后实施的。从我们掌握的信息来看,“白象”并不是某国唯一的攻击组织和行动,包括“阿克斯”(Arx)组织、“女神”(Shakti)行动及“苦酒”(BITTER)行动,同样与之有关。这些组织和行动,具有相似的线索和特点,并且其中大部分攻击目标为中国。我们将这一系列网络攻击组织和行动称为——“象群”。
图 1 1 “象群”活动时间轴
结合安天自身及友商对来自南亚某国攻击事件的分析和总结,安天绘制了“象群”活动时间轴。从时间轴可以看出,来自南亚某国的系列网络攻击自2012年至今从未间断活动。经过分析,安天工程师认为南亚某国的攻击反映了其背后国家的战略阶段及战略目标的转变,亦体现了对手在网络空间的持续投入。虽然各组织利用不同的攻击手法和形式,却都试图在网络空间窃取机要信息,威胁目标国的关键基础设施体系。而这一系列攻击,尤其是针对我国的网络攻击行动,也让我们看到来自地缘利益竞合国家与地区的网络攻击,是如此频繁、直接,挥之不去,严重威胁着我国的教育、军事、科研等关键领域,特别是严重地威胁我国的科技安全。这是此前我们关注度不够的,外方窃取我方科研成果加速自身发展的问题逐渐浮出水面。虽然对APT事件的曝光可以在短时间内促使对手偃旗息鼓,但并不能治本。同时有效防御是战略能力的基本盘,只有建立起综合协同的体系化防御能力,才能成为网络空间强国的基石。
二、“白象”(WhiteElephant)组织:卷土重来的活跃攻击
2.1 “白象”组织介绍
“白象”组织来自南亚某国,自2012年以来持续针对中国、巴基斯坦等国进行网络攻击,长期窃取目标国家的科研、军事资料。安天对该组织的活动进行了长期分析和研究,在2014年和2016年先后两次披露该组织针对我国的网络攻击活动,其中发布的《白象的舞步——来自南亚次大陆的网络攻击》报告,详细地分析了行动的攻击流程和手法,梳理绘制了攻击组织的基础设施图谱。同时基于技术证据和资源线索对该组织进行画像和溯源,成功定位了攻击行动所涉及的组织机构及部分人员的履历信息。
在2016年安天披露该组织的行动之后,其在一段时间内未进行活动。2017年9月,安天再次发现两起该组织针对我国的网络攻击行动,尤其是一些恶意网站以“中国和某国边境对峙”事件为诱饵,传播恶意载荷,并且该组织已准备和实施相关行动有数月之久。
整体来看,“白象”组织最新行动的攻击手法与上一轮攻击波基本一致,依旧是以往常用的“仿冒钓鱼站”、“1day改良”、“代码加密”等手段和技术,相关恶意载荷也能被部分安全软件检出。这表明,该组织的行动能力可能还处于广泛撒网、择弱者进行攻陷的水平。然而也不能忽视另一种可能,即这一攻击行动与近期中方“重返洞朗地区”事件相关,由于未经充足准备匆忙发起网络攻击行动,故而手法和技术能力有限。
2.2 攻击手法及特点分析
过去,“白象”组织通常采用鱼叉式钓鱼邮件进行攻击,大部分邮件被插入恶意链接,之后攻击者通过精心构造的诱饵内容诱导受害者打开链接,而一旦打开就会下载带有漏洞的恶意文档。
2017年“白象”组织的最新活动则通过仿冒诱饵网站进行攻击,通过伪造一些官方网站如邮箱网站,诱导用户输入账户及密码。除此之外,还有通过向热点事件网站挂载恶意代码的方式,以更新的名义诱导用户下载执行恶意载荷。
2.2.1 鱼叉式钓鱼攻击
鱼叉式钓鱼攻击是“白象”组织以往行动的主要攻击方式,也是APT攻击中最常见的攻击方式。与普通的钓鱼邮件不同,鱼叉式钓鱼攻击不会批量发送恶意邮件,而只针对特定公司、组织的成员发起针对性攻击,具体的攻击手法又分为两种:
1.在邮件中植入恶意附件,诱导受害者打开附件文件;
2.在邮件正文中插入恶意链接,诱导受害者点击链接。一旦受害人点击链接就会跳转到恶意链接,该链接或是挂马网站,或是恶意文件下载地址。
在“白象二代”行动中使用的手法主要是第2种,因为该方式在邮件中不存在附件,更容易规避安全软件的检测。链接相对附件来说也更容易骗取用户的信任,邮件内的链接都是利用第三方域名跳转,多数以t.ymlp52.com为跳转域名。
图2-1展示了针对中国高校教师的钓鱼邮件,其正文内容关于南海问题,邮件的最后诱导受害者点击链接查看“完整版报告”。一旦用户点击该链接就会下载恶意文档,该文档使用CVE-2014-4114漏洞,利用PPS格式自动播放的特点,来实现文档打开则漏洞即被触发的效果。
图 2-1 鱼叉式钓鱼邮件
邮件内容大意为:
2.2.2 网站钓鱼攻击
“白象”组织的最新活动中使用了网站钓鱼攻击方式。安天发现攻击组织设计了仿冒的网易邮箱对我国相关人士进行钓鱼攻击。在最近的“重返洞朗事件”期间还发现该组织构建了以“中国和南亚某国边境对峙”为诱饵的钓鱼网站,试图诱导目标对象访问,从而执行其恶意载荷,其目标对象为我国关注边境问题的相关人群。
图 2-2 相关内容钓鱼网站(来源:微步在线)
2.2.3 入侵网站作为C&C
“白象”组织还使用了入侵网站作为C&C的方式来实施攻击。该组织的部分C&C地址是一些正常的网站,安天工程师分析认为,有可能该组织入侵了这些网站,将自己的C&C服务控制代码放到它们的服务器上,以此来隐藏自己的IP信息。同时这种方式还会使安全软件认为连接的是正常的网站,而不会触发安全警报。
图 2-3 可能被入侵的网站
图 2-4可能被入侵的网站
2.2.4 模块化与组合作业
在“白象一代”的攻击行动中,采用了模块化与组合作业的攻击方式。安天工程师们发现了大量相关样本,这些样本采用不同的编译器(含版本)编译。其中有5个样本投放至同一个目标,4号样本是初始投放样本,其具有下载其他样本的功能;3号样本提取主机相关信息生成日志文件;5号样本负责上传;6号样本采集相关文档文件信息;2号样本则是一个键盘记录器。这些样本间呈现出模块组合作业的特点。
图 2-5样本的组合模块作业方式
2.3 攻击载荷分析(“白象组织”2017样本)
2.3.1 恶意文档
在“白象”组织最新的攻击行动中,使用了CVE-2014-4114、CVE-2017-0199、Office DDE渗透攻击,以及宏代码和内嵌OLE诱导点击等手段传播恶意载荷。
2.3.1.1 CVE-2014-4114漏洞利用
该样本是自动播放的Microsoft PowerPoint文件,双击即自动播放。样本利用CVE-2014-4114漏洞,使用PowerPoint作为攻击载体,使计算机在加载OLE PACKAGE时,当遇到INF文件,则调用C:\Windows\System32\InfDefaultInstall.exe去执行嵌入在PPS文件中的INF文件,从而将嵌入在PPS文件中的恶意代码运行在被攻击者的计算机上。
图 2-6 样本运行显示的诱饵内容
在之前对该漏洞的分析中,使用7zip对样本解压,在目录ppt/embeddings下得到两个文件,在文件中可以得到IP地址或可执行文件。
图 2-7 目录ppt/embeddings下得到的两个文件
嵌入在oleObject1.bin中的恶意文件,最终将释放到系统TMP临时文件夹。
图 2-8 嵌入PPS文件中的INF文件
图 2-9 嵌入在PPS文件中的可执行文件
通过C:\Windows\System32\InfDefaultInstall.exe执行INF文件来执行恶意代码“System.exe”。
图 2-10 INF文件内容
图 2-11 执行恶意代码
2.3.1.2 CVE-2017-0199漏洞利用
CVE-2017-0199是2017年4月的一个Office漏洞,该漏洞利用Office OLE对象链接技术,将包含的恶意链接对象(HTA文件)嵌在文档中,通过构造响应头中content-type的字段信息,最后调用mshta.exe将下载到的HTA文件执行。早期的漏洞利用方式是通过RTF格式嵌入链接文档,触发漏洞来执行HTA代码。而“白象”组织使用的是另外一种漏洞利用方式,通过PPSX格式文档在slide1.xml.rels中添加script标志,将链接插入。SCT文件是一个内嵌VBS代码的XML网页文件,VBS代码会下载其他恶意载荷执行。
图 2-12 slide1.xml.rels文件
网页文件内容如下,通过VBS脚本调用PowerShell下载执行其他文件。
图 2-13 SCT文件内容
图 2-14 下载执行恶意载荷
2.3.1.3 DDE方式利用
DDE(Dynamic Data Exchange),最早可以追溯到1987年,它可以与一个由其他基于Microsoft Windows程序所创建的文档建立一条动态数据交换链接(当更新DDE域时,DDE域会插入新的信息,链接文档将能够查看到该信息)。通过“DDEAUTO”关键字新建域代码,可以构造自动执行域代码的文档。“白象”组织最新活动通过这种方式构造嵌入PowerShell命令的文档,一旦该文档被打开,受害用户点击更新链接后则会触发PowerShell命令,进而下载其他恶意载荷执行。
图 2-15 DDE样本
2.3.1.4 宏代码利用
“白象”组织利用Office可以嵌入宏代码执行的特点,构造了多份带有下载执行功能的文档,并通过文档正文诱导受害者启用宏代码功能,值得注意的是“白象”组织还尝试利用微软自带的Powershell命令来下载样本,从文档正文和宏代码也能看出部分样本是正在测试,且并不成熟的。部分恶意宏文档如下:
图 2-16 宏病毒文档1正文
图 2-17宏代码
图 2-18宏病毒文档2正文
图 2-19宏代码利用PowerShell下载执行恶意样本
2.3.1.5 内嵌OLE对象诱导点击
“白象”组织行动中还发现部分内嵌OLE对象的文档,攻击者在文档正文中嵌入OLE对象(本次事件中嵌入的OLE文件为可执行文件),并在正文中通过文字内容诱导受害者双击打开OLE对象,这样即达成了可执行恶意载荷的投递与运行。
图 2-20 内嵌OLE对象的恶意文档
2.3.2 捕获的可执行文件
目前,在“白象”组织最新行动中捕获了三类可执行恶意文件,一类是简单后门、下载者程序,只有简单几条指令;一类是全功能的后门程序,基本含有常见后门的控制功能;最后一类是文档窃密程序,会遍历磁盘文档回传至攻击者服务器。
2.3.2.1 简单后门、下载者
该类样本运行后,会设置4个定时器,其中定时器控件会在所有控件初始化前开启后台线程,接收远程命令并执行,同时将执行后的结果返回给服务器进行校验。执行完远程命令后,会下载并运行其他可执行文件,遍历驱动器,收集用户信息和文件信息传回服务器。样本信息如下:
初始化变量及控件,启动Timer1和Timer4,使各自执行自身的函数。启动Timer1和Timer2后,进行其他控件的初始化操作。
图 2-21启动Timer1和Timer4
图 2-22其他变量初始化
样本设置4个定时器,启用顺序为1、4、2、3,定时器功能如下表。
Timer1分析
1.Timer1_Tick对应的函数会启动一个后台线程,发送网络请求,根据接收到的不同的参数,进行不同的操作,请求的参数为经过AES加密后的当前用户的用户名(密钥为“FuckYou”)。
图 2-23回传信息并请求远程指令
图 2-24 AES加密函数
2.当请求的响应中包含“cme-update”时,将会调用cmd.exe并执行请求中经过base64加密的命令(“cme-update|”后的命令),并将执行后的结果进行AES加密作为校验。
图 2-25执行远程发送的命令
3.当请求的响应中包含“dv”时,会读取所有逻辑磁盘号,并将所有磁盘号和用户名各自加密、拼接后发送给服务器。
图 2-26遍历磁盘号并拼接成一个字符串
图 2-27将加密后的磁盘号回传服务器
4.当请求的响应中包含“rr”时,根据从服务器接收到的路径(“rr|”后的路径),对此路径进行遍历,将路径下的所有文件夹名、文件名加密后传给服务器。
图 2-28获取文件夹名
图 2-29获取文件名
图 2-30将文件夹名、文件名传回服务器
5.当请求的响应中包含“ue”时,根据地址(“ue|”后的地址)下载一个可执行文件并以随机名保存并运行该程序。
图 2-31下载并执行文件
图 2-32随机生成文件名
Timer4分析
Timer4的主要功能是判断当前用户的“ApplicationData”文件夹下是否存在“taskhost.exe”,若不存在,则进行下载并运行。
图 2-33下载并运行硬编码链接文件
Timer2分析
Timer1和Timer4启用后,控件的初始化操作会启用Timer2和Timer3,Timer2的主要功能为上传计算机的当前用户信息和系统信息。
图 2-34上传用户计算机信息
Timer3分析
Timer3的主要功能是远程下载名为“WinUpdate.exe”的程序并运行。
图 2-35下载执行“WinUpdate.exe”
2.3.2.2 全功能后门
该类样本为.Net程序,样本中大量代码被混淆,使用了xClient库用作网络库(该库在Github上可查询,用来实现远程控制软件)和Protobuf库(解析数据格式)来实现文件的下载、上传和远程命令的接收等。该样本会通过修改注册表设置开机自启动,遍历磁盘,通过IP地址来解析出实际的物理地址以及收集系统信息,返回给服务器。样本标签如下表:
1.被混淆的代码及使用的开源库。
图 2-36混淆的代码及开源库
2.创建互斥量,确保只有一个实例在系统中运行。
图 2-37查找并创建互斥量
3.获取用户的基本信息,包括地理位置、系统信息等。
图 2-38根据IP获取物理地址
图 2-39获取系统详细信息
4.通过修改注册表来设置样本或者下载的恶意代码开机启动。
图 2-40设置开机启动
5.有多个加密函数,其中有疑似AES的加密算法。
图 2-41加密函数
6.根据接收的类型不同,执行不同命令,如下载并执行、上传、重新连接服务器、断开连接等(后门行为)。
图 2-42后门控制指令
2.3.2.3 文档窃取样本
该类样本运行后,会获取系统中的所有文件目录,对docx、doc、ppt、pptx、pps、xls、xlsx、pdf这几种类型的文件名进行AES加密,并计算文件的Hash,每10秒将加密后的文件名及文件Hash作为参数传送到地址为179.48.251.4的服务器上。确认传输成功后,会将加密后的文件名解密,并将文件上传到同一台服务器上(加密后的文件名及文件内容的Hash作为参数)。样本标签如下:
1.样本运行后,会加载所有驱动器的名称,并遍历每个驱动器下的目录,并对docx、doc、ppt、pptx、pps、xls、xlsx、pdf几种类型的文件进行查找,并对查找出的文件内容计算Hash。
图 2-43后门控制指令
图 2-44遍历目录查找指定后缀名文件
图 2-45计算文件Hash
2.对文件名进行拼接操作,随后对文件名进行AES加密,并将加密后的结果进行BASE64编码,作为返回值。并启动Timer,执行Timer_Tick函数。
图 2-46拼接文件名
图 2-47 AES加密函数
图 2-48文件名处理,并开启时钟1
3.初始化控件时,可以发现每10秒执行一次timer_Tick函数,首先判断网络是否连通后,把编码后的当前用户名以及文件Hash作为参数,对服务器进行请求,对服务器的返回进行判断后上传文件。
图 2-49设置时钟间隔
图 2-50探测网络环境
图 2-51上传用户名及Hash
图 2-52 AES解密函数
图 2-53 回传文件名及文件hash
4.通过工具可查询到调试信息,恶意代码开发者发布的工具带有调试信息,调试信息中可以发现,该开发者当前用户名为apex,开发工具为Visual Studio 2013,项目为默认路径,项目名为fileautoscanner2。
图 2-54样本原始编译信息
2.4 “白象”组织最新活动C&C分析
“白象”组织在2017年活动频繁,且开始使用反追踪和溯源手段,在相关C&C中进行扰乱设置,图2-55和图2-56为两起“白象”组织行动的C&C关联图,第一张图中涉及的C&C未进行反关联溯源,相关数据关系十分清晰。而第二张图中的C&C大部分都进行了反关联配置,其中灰色的节点包含数百上千关联信息因此未全部展开,如何将其中真正与该组织相关的数据分析出来将是对组织追踪溯源的关键。
图 2-55 2017“白象”组织活动1相关C&C分布
图 2-56 2017“白象”组织活动2相关C&C分布(灰色是干扰数据)
2.5 攻击溯源
安天对“白象”组织的溯源分析在《白象的舞步——来自南亚次大陆的网络攻击》报告中已有比较大的篇幅,在此不再赘述。相关分析成果已经刊载在国家互联网应急中心发布的《2016年中国互联网网络安全报告》中[3]。
安天工程师们通过深入分析,对“白象”组织进行了追踪溯源,最终确定其来自南亚某国。
2.5.1 攻击组织成员分析
安天工程师从910个样本文件中提取的PDB信息中找到了10多个不同系统账号,加之其使用了多种不同的开发编译攻击,确定其研发人员由多人组成,同时了解到关于相关攻击工具的更多信息。
安天工程师对这一攻击组织继续综合线索,基于互联网公开信息,进行了画像分析,认为这是一个由10~16人组成的攻击小组。其中六人的用户ID是cr01nk 、neeru rana、andrew、Yash、Ita nagar、Naga。由此绘制模拟攻击组织图如下:
图2-57 安天工程师绘制的“白象一代”攻击组织成员画像
2.5.2 “cr01nk”(“Vishxxx Shaxxx”)
通过分析和查询,安天工程师确定“cr0lnk”是一个在南亚某国较为常见的人名。通过对所有用户名进行追踪,最终发现了“cr01nk”的一些信息,追踪过程如下。
2009年10月27日,有人在www.null.co.in发帖“寻求最好的道德黑客”,可能要在全国寻找一些网络安全人才,在这篇帖子中,“cr01nk zer0”回帖问询注册方法并与发帖人进行沟通。
图2-58 “cr01nk”网上交流快照
上图中的邮件地址被Google隐藏了部分内容,安天工程师通过其他方式分析出了完整的邮件地址,ID:cr01nk,邮箱:cr01nk@xxail.com。
图 2-59 “cr01nk”的真实名字
通过对“cr01nk”邮箱的反向追踪,发现“cr01nk”的昵称(名字)为“Vishxxx Shaxxx”,对这个名称进行检索后,安天工程师确认这是一个南亚某国人名。
安天工程师又根据已知的信息对“cr01nk”进行了深入挖掘,发现此人还注册了OpenRCE,这是一个逆向工程技术论坛,论坛中显示他的国家为南亚某国。
图 2-60 “cr01nk”注册了OpenRCE
从以上信息可以看出,“cr01nk”的确来自南亚某国,职业为计算机网络安全技术人士。通过图2-65的讨论内容来看,此人具有一定的技术实力。
图 2-61“cr01nk”对安全技术的一些讨论
通过以上分析得知此人注册了Nullcon,安天工程师进一步在Nullcon检索其讨论内容发现,他在2011年NULLCON GOA上做过一个关于模糊测试的演讲,并演示了一个PDF格式漏洞的例子。
图 2-62“cr01nk”模糊测试的演讲
至此,安天工程师们确认此人姓名为:“Vishxxx Shaxxx”,通过进一步的姓名深入挖掘,在社交网站上发现此人的一些信息:
“cr01nk”相关个人信息:
ID:cr01nk,真实姓名:Vishxxx Shaxxx
2009年毕业于南亚某国的一个理工学院,曾经就职于McAfee、Security Brigade、国家物理实验室、CareerNet,目前就职于自己创立的公司Syryodya,一个为太阳能行业提供管理软件的IT服务公司。
所做项目:Fuzzing with complexities、Intelligent debugging and in memory fuzzing、Failure of DEP and ASLR, ACM-IIT Delhi and Null Delhi meet、Spraying Just in time
擅长领域:计算机安全、恶意代码分析、渗透测试、C/Python/Linux开发,其他安全研究等。
其中Syryodya公司创立于2014年,主要从事太阳能发电、可再生能源运营管理,互联网相关服务,公司网站:https://www.suryodya.com。
图 2-63“cr01nk”的suryodya公司的网站
“cr01nk”与样本的关系:
包含“cr01nk”用户名的样本有两个,其编译时间均为:2009/11/18。
“Vishxxx Shaxxx”在个人主页上的履历信息显示,2009年5月~2010年6月期间他在Freelancer(一个威客网站)上做了一些项目,其中第一条是:为某些组织逆向分析专门开发的收集信息的木马和恶意软件。
图 2-64 “Vishxxx Shaxxx”的履历:为某些组织逆向分析专门开发的收集信息的木马和恶意软件
从其个人描述我们得到如下两条信息:
1.“白象”组织的样本原始编译路径包含“cr01nk”,也就是“Vishxxx Shaxxx”的网络ID,表示该样本为“Vishxxx Shaxxx”开发(极小概率为相同或刻意伪造ID信息)。
2.“Vishxxx Shaxxx”(“cr01nk”)的履历中自己说为某些组织逆向窃密样本。
综上所述,安天工程师推测“Vishxxx Shaxxx”(“cr01nk”)可能在2009年5月之后通过Freelancer与“白象”组织建立联系,后以雇佣形式或加入该组织,负责开发、逆向分析恶意样本(规避检测)。
通过对用户名的追踪,安天工程师发现了“cr01nk”用户名的一些信息,定位到了一位来自南亚某国的计算机安全领域人士,鉴于这个人的研究领域、网上讨论内容和工作履历,可以看出其具备一定技术能力,具有参与此次攻击的可能。虽然未发现直接证据表明此人与“白象”组织有关,不过仅从攻击能力来看,也表明了南亚某国的确具有一定实力发起此次攻击。
2.5.5 与培训机构的关联猜测
安天工程师在关于“白象”组织的报告中给出了“白象”组织的6个成员的ID,我们通过持续的跟踪分析又关联出5个成员的ID信息,其中一个名为“appin”的ID引起了我们的关注,通过分析发现这个ID属于一个名为“Appin Technology”的培训机构。
图 2-65 样本PDB中“appin”用户名
安天工程师在进一步追溯“白象”组织攻击所涉及域名的whois信息时发现有几个来自南亚某国,但大部分whois信息目前都为保护隐藏状态,还有一些域名已过期,其中有两个注册机构为“Appin Technology”,这与上面提到的“appin”用户名非常巧合,不得不让我们怀疑样本与“Appin Technology”机构的关系。
通过公开信息查询,可以找到“Appin Technology”的网站,该网站为南亚某国的一个培训机构。其中关于自我介绍页面中有提及该机构提供“道德黑客”培训。综上信息显示,“白象”组织的攻击者可能与“Appin Technology”存在某种联系,或许是一些培训学员在培训期间利用“Appin Technology”从事网络攻击活动,或许是“Appin Technology”其中的一些员工“兼职”。
图 2-66 Appin Technology
三、 “阿克斯”(Arx)组织:象群中鲜有的利用0day漏洞的组织
3.1 “阿克斯”组织介绍
“阿克斯”(Arx)组织曝光于2013年11月[4] [5],该组织利用当时的0day漏洞(CVE-2013-3906)传播Trojan[Spy]/Win32.Zbot和Trojan/Win32.Dapato恶意软件。据了解,“阿克斯”组织大约攻陷了600多个目标,其中很大比例位于巴基斯坦。尽管CVE-2013-3906同样被“白象”组织使用,但从该漏洞利用的时间点上来分析,“阿克斯”组织对该漏洞的掌握可能早于“白象”组织;从传播细节和最终执行的恶意代码来看,“阿克斯”组织似乎与“白象”组织并不存在明显联系,但从其攻击目标和相关C&C基础设施的注册信息来看,“阿克斯”组织可能也同样自南亚某国;从“阿克斯”组织对0day漏洞的利用上来看,其可能是“象群”中第一个使用0day漏洞且具有较高技术水平的组织。
3.2 攻击手法:0day漏洞的利用
“阿克斯”组织的攻击手法与常规传播银行木马的手法非常相似,其通常以标题为“SWIFT支付”的电子邮件形式发送恶意软件至目标机器,很容易将自身隐藏在常规钓鱼邮件之中,而不被引起重视。
图 3-1钓鱼邮件截图(来源:FireEye报告)[3]
图 3-2 诱饵文档截图(来源:FireEye报告)[3]
通过回溯分析,可以发现“阿克斯”组织发起的攻击主要利用0day漏洞(CVE-2013-3906)进行传播。该漏洞是一个典型的溢出型Office文档漏洞,主要是由于在Office组件处理TIFF图片时,对包含strip大小的数组相加的计算结果没有进行整数溢出的校验导致的。该漏洞的典型样本会在文档media目录下嵌入一个TIFF文件。
图 3-3 .docx文件中嵌入的TIFF文件
在文档中嵌入的TIFF格式主要通过字段来标记数据,由于Word对其中的“StripByteCounts”字段的使用没有做校验,导致相加后的数值出现了整数溢出,攻击者可以通过溢出控制程序执行流程在堆中布置的Shellcode,进而执行预先配置的恶意代码。
图 3-4 导致溢出的字段
图 3-5漏洞溢出执行恶意代码
3.3 攻击溯源:C&C基础设施应用
从目前已掌握的信息来看,在其活动被披露之后,该组织便销声匿迹,鲜有活动被发现。当然这也可能与该组织行动较隐秘、信息曝光较少有关,致使其活动很难被关联和追溯,也不容易将发现的事件关联到该组织。已知的与该组织相关的C&C基础设施多为其在2013年所使用(参见图3-6),现在大部分已经失效或弃用。
图 3-6 已曝光的“阿克斯”组织C&C基础设施关联图
四、 “女神”(Shakti)行动:持续四年之久的窃密贼
4.1 “女神”行动介绍[5][6]
“女神”(Shakti)行动是安天在追踪“白象”组织的过程中发现的一起长期窃取用户文档、文件等重要信息的攻击事件,其幕后攻击者利用木马程序进行窃密行为已持续四年之久,其攻击目标主要是波兰、以色列、巴勒斯坦和中国等。经安天工程师分析,目前尚未发现其与“白象”组织存在明确联系。其样本内部PDB字符信息“Shakti”是隶属于印度教女神的象征,因此安天将此次攻击事件命名为“女神”行动。
4.2 攻击载荷分析
安天对“女神”行动的样本进行了深入分析,样本基本信息参见表4-1。
表 4-1样本标签
通过分析,发现该样本在资源节中加密了一个配置模块,其中包含两个加密的dll模块,第一个dll模块的主要功能是反沙箱、反调试和完成启动项服务;第二个dll模块为核心窃密模块,主要功能是窃取用户系统信息和文档文件。样本运行时会在内存中解密第一个dll模块,同时将第二个dll模块解密后注入到浏览器进程中,两个dll模块都被直接注入到内存中运行,在磁盘中并无实体文件。“女神”行动样本组织结构如图4-1所示。
图 4-1 “女神”行动样本组织结构
4.2.1 主程序分析
“女神”行动样本的主程序主要具有两个功能:解密配置文件和注入核心模块。
1. 解密配置文件
样本运行后,首先会在资源节读取ID为150(0x96)的“BINARY”文件,该配置文件使用异或0x97进行加密。
图 4-2解密配置文件
图 4-3 加密的资源数据
恶意代码通过异或0x97将配置文件解密,配置文件内容主要包含所连接的C&C域名、注入浏览器名称、添加服务名称等字段,解密后的配置文件为:
2.注入核心模块
恶意代码使用ReflectiveLoader技术将两个核心的模块进行解密,分别为Carrier.dll和Payload.dll。两个模块均带有PDB调试路径,可以发现两个模块属于同一个项目,且被命名为“Shakti”项目(“Shakti”源于南亚某国,意为“女神”)。
E:\Projects\ComplexStatement\Shakti\Code\Carrier\Release\Carrier.pdb
E:\Projects\ComplexStatement\Shakti\Code\Payload\Release\Payload.pdb
主程序首先将Carrier.dll解密出来,把入口点指向dll头部,Carrier.dll执行相应操作后将Payload.dll模块注入到系统浏览器中(参见图4-4)。
图 4-4注入dll到浏览器进程
4.2.2 加密dll模块1:Carrier.dll模块
全球能力型安全厂商普遍采用自动化分析机制进行大规模恶意代码样本的分析处理,同时推动沙箱等产品在客户侧的部署,而APT攻击者对此也做了针对性的应对,“女神”行动的样本有明显的体现。
Carrier.dll模块的主要功能是反自动化分析与安装部署工作,包括反沙箱、反调试、添加启动项、添加服务,最后将核心功能Payload .dll注入浏览器。
1.反沙箱
Carrier.dll模块的恶意代码通过枚举当前进程和虚拟机相关的进程名进行对比,如果发现相应进程名称则退出进程。
图 4-5反沙箱代码
2.反调试
Carrier.dll模块的恶意代码通过IsDebuggerPresent函数来判断自己是否处于调试状态中,如发现自身进程被调试则退出进程。
图 4-6 反调试代码
3.其他反沙箱手段
恶意代码同时具有其他反沙箱手段。
图 4-7其他反沙箱手段
4.添加自启动
Carrier.dll模块的恶意代码试图将自身添加到注册表启动键值中。
图 -8添加注册表自启动键值
5.枚举浏览器
Carrier.dll模块的恶意代码尝试枚举用户系统中是否安装谷歌、火狐、opera浏览器。
图 4-9枚举浏览器
如果系统进程中没有这些浏览器,恶意代码试图查询默认浏览器注册表键值,并启动该进程,随后会将恶意dll注入其中。
图 4-10查询系统默认浏览器
6.尝试注册成服务
恶意代码将尝试注册成为服务。
图 4-11注册服务
将核心盗取文件的恶意dll模块(Payload.dll)注入到IE浏览器中。
图 4-12分配内存注入dll
图 4-13创建线程执行
4.2.3 加密dll模块2:Payload.dll 模块分析
Payload.dll模块是该恶意代码的核心模块,该模块主要功能包括搜集用户系统的系统名称、机器的GUID、系统的进程列表和用户磁盘中的文档文件。
1.创建互斥量
为了防止恶意代码重复运行,Payload.dll模块恶意代码使用CStmtMan字符串作为互斥量。
图 4-14创建互斥
2.创建线程
恶意代码创建线程查找特定格式文件并回传。
图 4-15创建线程查找特定格式文件并回传
恶意代码获取用户系统用户名和机器的GUID值,回传到指定服务器。
图 4-16获取GUID等信息回传至C&C
然后将相关信息回传至恶意代码服务器的external/update硬编码目录中。
图 4-17将信息回传到C&C服务器固定目录
图 4-18回传信息
最后恶意代码比较用户系统中的文件扩展名,将指定的扩展名文件回传至服务器中。如下图所示:
图 4-19文件扩展名比对
图 4-20回传文件
恶意代码回传包含以下后缀名的文件:doc、docx、ppt、pptx、xls、xlsx、txt、rtf、pdf、sql、inp,可见窃密获取文件是该攻击组织的主要意图。
4.3 攻击溯源
4.3.1 C&C分析
安天通过分析与关联发现“女神”攻击样本共涉及三个域名:
web4solution.net、securedesignus.com、securedesignuk.com
根据whois信息查询(基本信息参见表4-2)可知,三个域名均由同一个注册人或者组织申请,注册地均为南亚某国,注册人名亦为南亚某国常用人名,而且其中一个域名在近期进行了whois隐私保护。
表 4-2 三个C&C域名的基本信息
4.3.2 时间戳分析
安天对捕获到的“女神”攻击样本时间戳进行了分析,发现相关样本多数在2012年和2014年开发(基本信息参见表4-3)。
表 4-3 “女神”行动样本时间戳信息
样本时间戳的信息始于2012年(这也是“白象”组织开始活跃的时间),但攻击者从2010年已经开始进行域名储备,2012年开始使用窃密样本进行小范围攻击,2014年比较活跃,而到2017年8月开始做域名的Whois隐私保护(相关线索时间轴参见图4-21)。截至目前web4solution.net域名依然活跃,支撑了长达四年的持续性攻击,之所以一直未被发现,也许是因为攻击者并没有进行大范围的攻击,仅仅对少数有价值的目标进行了针对性攻击。该恶意代码使用的两个DLL组件功能清晰、攻击有效,很有可能是某个APT组织的最后一步攻击载荷——窃取资料。经安天工程师分析发现,该恶意代码并不属于已曝光的APT组织的相关恶意代码。
图 4-21域名注册时间与样本时间戳
通过该恶意代码的PDB路径中的字符“Shakti”是来自南亚某国的词语,以及域名注册人名、域名地域归属,基本可以确定该攻击来自南亚某国。
五、“苦酒”(BITTER)行动:易被忽视的针对性攻击
5.1 “苦酒”行动介绍
“苦酒”(BITTER)行动是在2016年10月曝光的一起网络攻击事件[8],该行动主要通过鱼叉式邮件以及系列攻击组件的应用,对巴基斯坦进行针对性攻击,同时此次行动的攻击者可能参与了多起网络攻击事件。安天分析小组认为与该行动的相关证据线索表明该行动与南亚某国有密切联系,是“象群”中一起易被忽视的针对性攻击。
5.2 攻击手法分析
5.2.1 最常用的攻击手法:鱼叉式邮件
“苦酒”行动普遍使用鱼叉式邮件来投递攻击载荷,通过邮件中附带经典漏洞“CVE-2012-0158”的格式溢出文档或伪装成图片的EXE可执行文件诱骗用户下载查看。
图 5-1“苦酒”行动使用的鱼叉式邮件
“苦酒”行动中使用的部分格式溢出文档的文件名包括:Requirement List.doc、Cyber Espionage Prevention.doc、New email guidelines.doc、Gazala-ke-haseen-nagme.doc、Rules.xls。
5.2.2 RAT组件之窃密组件
“苦酒”行动中的部分RAT组件能够记录受害主机上的文件和时间戳,其2014年的样本还具有收集指定类型文件的功能,在样本中即有相关的文件类型硬编码。
图 5-2“苦酒”行动中的窃密组件查找指定类型文件
5.2.3 RAT组件之Android组件
在针对“苦酒”行动中的一个PC RAT样本的C&C域名进行分析时,研究人员发现有两个Android RAT样本也使用这个C&C,表明“苦酒”是一个具有跨PC和移动系统平台的作业组织。
图 5-3 Android RAT共用PC RAT的C&C
Android RAT是Android的开源远程管理工具,在GitHub上可以找到其功能:
➢ 获取联系人(及其所有信息)
➢ 获取通话记录
➢ 获取所有消息
➢ GPS /网络位置
➢ 监控收到的消息
➢ 实时监控电话状态(呼叫接收,呼叫发送,呼叫丢失)
➢ 用相机拍摄照片
➢ 来自麦克风(或其他来源)的流声
➢ 流式视频(仅适用于基于活动的客户端)
➢ 显示一个toast样式信息
➢ 发短信
➢ 拨打电话
➢ 在默认浏览器中打开一个URL
➢ 振动电话
“苦酒”行动中使用的其中一个Android RAT伪装成一个伊斯兰教的闹钟,另一个Android RAT伪装成克什米尔(印度和巴基斯坦之间有争议的领土)新闻的应用程序。该行动是少有的利用Android RAT进行攻击的网络攻击行动。
5.2.4 RAT组件之远控组件
“苦酒”行动使用了Microsoft Visual C ++ 8.0编译的RAT(远程控制)程序,早期版本的HTTP POST请求未加密,采用明文数据与C&C通信。
图 5-4“苦酒”行动早期版本通信
在最新的活动中所使用的RAT版本能够执行以下后门功能,攻击者可以对受害者的PC进行完全的远程控制:
➢ 获取系统信息——计算机名称,当前用户名和操作系统
➢ 枚举逻辑驱动器
➢ 枚举和记录文件及其对应的时间戳
➢ 打开一个远程命令shell
➢ 列出具有活动UDP连接的进程
➢ 控制运行进程
➢ 运行文件
➢ 下载文件
“苦酒”行动中部分RAT程序包含不可信的CA根证书的数字签名:
图 5-5 “苦酒”行动中部分RAT程序包含的不可信CA根证书
5.3 攻击来源猜测
虽然“苦酒”行动的攻击本质并不复杂,但其行为很容易混入到广泛存在的网络攻击中。“苦酒”行动通过使用普通恶意攻击中也十分常见的在线服务(如免费动态域名服务-DDNS,专用服务器托管和Gmail)来设置其C&C,但从其攻击对象和行为特点来看:
1.攻击邮件收件人为巴基斯坦域名,基于地缘政治推测攻击者可能为南亚某国;
2.有样本伪装为“克什米尔”新闻APP(“克什米尔”是易发冲突地理区域);
3.相关邮件和数据中展示了非常好的英文水准,表示攻击者可能精通英语,或者来自英语是官方语言之一的国家。
显然“苦酒”行动是一起针对性的攻击行动,相关证据线索也表明该行动与南亚某国有密切联系。
六、总结与思考
6.1 防御者的不屈意志是对抗持续性攻击的前提
安天在本报告中披露了“白象”组织以及同样来自南亚某国的多个组织的详细情况,从相关行动、事件中可以印证南亚某国在网络空间竞争中的投入和活动。在我们长期持久地跟踪分析他们所发动的APT攻击事件的同时,相关攻击组织也在不断进化和升级,其攻击行动并不会因被曝光而停歇。攻击组织为达成战略目的会不断更新、修改战术,比如:恶意代码的源码更新、最新漏洞的利用、最新商业军火的购买等,有些组织甚至会全面规避以往的行为特点和攻击资源。
这是一份安天的储备报告,它并不是由热点事件构成。从2017年上半年起,安天对公开发布APT报告采取了更为谨慎的态度,安天对APT的曝光不是为了创造热点,而是希望切实改善用户的防御。从我们对“白象”组织的跟踪来看,在2016年7月对其进行系列曝光后,有效地使对方进行了能力回收。通过曝光威慑APT攻击者,将提高攻击者攻击成本、收窄收割范围,也有助于被攻击方获取舆论和道义上的主动,并更深入地认知相关威胁。但从另一个角度来说,其也使攻击者调整了其攻击资源和设施,提升攻击的艺术和策略,以研发和采用更先进的攻击装备。因此,对APT的防御必须立足于长期、持续、系统的安全建设和投入之上。
威胁是能力和意图的乘积,APT是高级性和持续性的乘积,如果说对于其高级性的应对更多取决于防御方的布防合理性、安全投入和能力水平的话;那么对其持续性的应对则很大程度上构成了对防御方和防御能力输出方坚强心智的考验。基础防御水平是对抗高级威胁的基石,防御者的不屈意志是对抗持续性攻击的前提。
6.2 网络空间场景下的中国科技安全启示录
值得注意的是,这些“越过世界屋脊”的攻击,并不是窄带地分布到中国的军事与政治目标,而是广泛地面向包括高校、科研院所在的综合性目标来进行,如果我们简单地把这种攻击视为“搂草打兔子”,则意味着没有深刻理解APT攻击带来的综合风险。对于希望做“有声有色的大国”的国家来说,其对完整的工业体系和全面的科技发展的渴望是显而易见的。新中国独立自强于前,改革开放于后,开创属于自己新时代的历史,毫无疑问是最佳的第三世界发展样板。但这种学习需要来自于符合中国发展利益的主动输出,而不能被他国通过窃取中国的军事、经济、技术成果,通过低成本的抄袭模仿来进行。如果我们没有把网络保障能力有效建立起来,这些通过“鲜血、汗水和眼泪”而取得的技术、工艺的突破与进展,就会成为对手轻易获取而模仿的对象。
在一个较长的发展过程中,中国虚心地以“徒弟”和“落后者”的视角埋头学习发展,我们更多焦虑于来自网络入侵攻击对政治、经济、军事安全的影响,但较少担心利益竞合国家的和地区对我方科技成果的获取和抄袭模仿,对于更为纵深的对我国整体供应链安全的影响也关注不够。而今天随着国家的持续的发展进步,在很多领域,中国正在从一个落后者,转化为领先者;从技术的输入者,转化为输出者;从跟跑者,变成并跑、领跑者。我们的网络空间安全视角需要逐渐从弱者视角转化为强者视角,从窄带的网络和信息自保视角,转化为“维护国家主权、安全、发展利益”视角。
网络安全不是一个单一的纬度,其是非常典型的非传统安全威胁,同时又和传统安全中的多个领域息息相关。习近平总书记在2014年4月,首次提出了“总体国家安全观”,系统地提出了11种安全,其中包括了“科技安全”,习近平总书记在十九大报告中再次强调“坚持总体国家安全观。统筹发展和安全,增强忧患意识,做到居安思危”。在全新的使命要求下,无论对于国内的高校、科研院所、科研管理机构,还是已经成为“科技创新主体”的企业界,如何面对网络空间安全威胁,建立起有效的科技成果保障能力和科技安全防护能力,对于我国保证国际战略竞争力,有着深远意义。
正如习近平总书记指出的“当前我国国家安全内涵和外延比历史上任何时候都要丰富,时空领域比历史上任何时候都要宽广,内外因素比历史上任何时候都要复杂”。在这个波澜壮阔的新时代,在中国从网络大国奔向网络强国的征程中,我们将守护网络空间的星辰大海。
我们计划公开这份储备报告之时,正值即将告别2017之际,展望充满更多机遇与挑战的2018,我们谨以本报告的小结,作为安天人的新年献词!
附录
参考资料
[1] 安天技术文章汇编(十•二)-高级持续性威胁(APT)专题第二分册
[2] 安天:白象的舞步——来自南亚次大陆的网络攻击
http://www.antiy.com/response/WhiteElephant/WhiteElephant.html
[3] 国家互联网应急中心:《2016年中国互联网网络安全报告》
http://www.cert.org.cn/publish/main/upload/File/2016_cncert_report.pdf
[4] FireEye:The Dual Use Exploit: CVE-2013-3906 Used in Both Targeted Attacks and Crimeware Campaigns
https://www.fireeye.com/blog/threat-research/2013/11/the-dual-use-exploit-cve-2013-3906-used-in-both-targeted-attacks-and-crimeware-campaigns.html
[5] FireEye:Exploit Proliferation: Additional Threat Groups Acquire CVE-2013-3906
https://www.fireeye.com/blog/threat-research/2013/11/exploit-proliferation-additional-threat-groups-acquire-cve-2013-3906.html
[6] Malwarebytes Labs:Shakti Trojan: Document Thief
https://blog.malwarebytes.com/threat-analysis/2016/08/shakti-trojan-stealing-documents/
[7] Malwarebytes Labs:Shakti Trojan: Technical Analysis
https://blog.malwarebytes.com/threat-analysis/2016/08/shakti-trojan-technical-analysis
[8] Forcepoint:BITTER: A TARGETED ATTACK AGAINST PAKISTAN
https://blogs.forcepoint.com/security-labs/bitter-targeted-attack-against-pakistan