APT-C-35组织(肚脑虫)的最新攻击活动分析

Track-聂风   ·   发表于 2018-07-30 11:03:57   ·   漏洞文章

背景

2017年3月,360追日团队发现了一类定向攻击的样本,确认是之前所未知的APT组织的攻击行动样本,目前可以追溯到的该组织至少在2016年4月便开始活动。追日团队将该攻击组织编号为APT-C-35。2017年6月,360威胁情报中心又发现该组织新的攻击活动,确认并曝光了该团伙针对巴基斯坦的定向攻击活动,并详细分析了该组织使用的独有的EHDevel恶意代码框架(见参考[1])。

2018年3月,国外安全团队ASERT继续披露了该组织新的恶意代码框架yty,并根据PDB路径中的机器用户名将该组织命名为Donot。鉴于该组织的活动是由360独立发现,并在全球率先披露的,符合360威胁情报中心对APT组织进行独立命名的条件。故,参考国外已有命名及360威胁情报中心对APT组织的命名规则,我们将APT-C-35组织正式名为“肚脑虫”组织(Donot音译)。

APT-C-35主要针对巴基斯坦等南亚地区国家进行网络间谍活动,该组织主要针对政府机构等领域进行攻击,其中以窃取敏感信息为主。从2017年至今,该组织针对巴基斯坦至少发动了4波攻击行动,攻击过程主要是以携带Office漏洞或者恶意宏的鱼叉邮件进行恶意代码的传播,并先后使用了两套独有的恶意代码框架:EHDevel和yty。

自第一次发现该组织的攻击活动以来,360威胁情报中心对该组织一直保持着持续跟踪,近期我们再次跟踪到该团伙利用较新的Office Nday漏洞发起的新的攻击活动,并对攻击中使用的yty框架最新的恶意代码进行了详细分析。

活动时间线

360威胁情报中心与360追日团队对APT-C-35组织的攻击活动跟踪分析的时间线如下:

APT-C-35组织(肚脑虫)的最新攻击活动分析

来源

2018年6月下旬,360威胁情报中心在对恶意代码的跟踪过程中发现疑似定向攻击的APT样本,通过对该样本的深入分析,并利用360威胁情报中心数据平台进行关联,确认其为360威胁情报中心2017年首次曝光的针对性攻击活动的后续(详见参考[1])。

样本分析

捕获的诱饵文档文件名为:kahsmirissue abida.doc(克什米尔问题),克什米尔地区南部属于印度管辖,北部属于巴基斯坦管辖,两国均宣称对克什米尔全境拥有主权,一直以来处于地区主权纷争当中。因此我们初步推测该攻击主要针对该地区附近的国家。

执行流程

整个攻击流程如下:

APT-C-35组织(肚脑虫)的最新攻击活动分析

Dropper(CVE-2017-8570)

发现的样本是名为kahsmirissue abida.doc的漏洞利用文档,该漏洞利用样本包含三个Objdata,其中两个为Package对象,一个为包含CVE-2017-8570漏洞的OLE2Link。样本利用RTF文档自动释放Package对象的特性,将包含的两个Package对象释放至%TMP%目录下,最后通过CVE-2017-8570触发执行释放的恶意脚本,再通过脚本执行释放的EXE文件,包含漏洞的Objdata对象信息如下:

APT-C-35组织(肚脑虫)的最新攻击活动分析

包含漏洞的OLE2Link对象中设置FileMoniker对应的文件为_JVGHBCYYKRAE2DU.sct脚本,漏洞触发后执行,其主要功能为执行释放在%TMP%目录下的Setup.exe:

APT-C-35组织(肚脑虫)的最新攻击活动分析

Downloader(Setup.exe)

释放的Setup.exe是C++编写的下载者程序,其首先创建一个名为“toptwo”的互斥量,保证系统中只有一个实例运行:

APT-C-35组织(肚脑虫)的最新攻击活动分析

然后在%APPDATA%Roaming/HexRun目录下创建名为lset.txt的调试文件,输出一些运行信息:

APT-C-35组织(肚脑虫)的最新攻击活动分析

并在%APPDATA%Roaming/HexRun创建kt.bat文件,通过创建CMD.exe进程启动该文件:

APT-C-35组织(肚脑虫)的最新攻击活动分析

kt.bat主要功能为设置任务计划,从当前时间开始每5分钟启动一次%APPDATA%Roaming/HexRun/Setup.exe:

APT-C-35组织(肚脑虫)的最新攻击活动分析

设置完成的任务计划如下:

APT-C-35组织(肚脑虫)的最新攻击活动分析

设置完任务计划后,样本开始收集系统信息,获取磁盘信息:

APT-C-35组织(肚脑虫)的最新攻击活动分析

获取MAC地址:

APT-C-35组织(肚脑虫)的最新攻击活动分析

还会检测是否为虚拟机执行环境,并将该环境信息一并发送给攻击者服务器:

APT-C-35组织(肚脑虫)的最新攻击活动分析

之后还会收集计算机名、用户名、program file下的文件名,系统版本号等信息,将获取的所有信息组合成以“|||”分割的字符串:

APT-C-35组织(肚脑虫)的最新攻击活动分析

之后从Google文档:获取文件内容作为C2:

APT-C-35组织(肚脑虫)的最新攻击活动分析

获取的文件名为customer.txt,C2地址为:tes.sessions4life.pw,若获取失败则使用硬编码的C2地址:aoc.sessions4life.pw

APT-C-35组织(肚脑虫)的最新攻击活动分析

进一步拷贝自身到%AppData%/Roaming/Hexrun目录下:

APT-C-35组织(肚脑虫)的最新攻击活动分析

随后与C2进行通信,将获取的信息经过AES加密后POST到tes.sessions4life.pw/football/goal:

APT-C-35组织(肚脑虫)的最新攻击活动分析

当C2返回为“win”时,样本将进行后续的下载行为,若系统中没安装.NET,样本会先从tes.sessions4life.pw/jszx/jquery/3x/simple.exe下载.NET框架进行安装:

APT-C-35组织(肚脑虫)的最新攻击活动分析

若已有安装了.NET则首先将收集到的‘计算机名-用户名-MAC地址|||work.exe’经AES加密后POST到tes.sessions4life.pw/football/download/3/work.exe,获取work.exe文件。并将:‘计算机名-用户名-MAC地址|||boothelp.exe’加密后POST到tes.sessions4life.pw/football/download/2并获取boothelp.exe文件。Work.exe主要功能为启动boothelp.exe:

APT-C-35组织(肚脑虫)的最新攻击活动分析

Backdoor(Boothelp.exe)

Boothelp.exe是C#编写的后门程序,其根据C2返回的指令下载插件并执行。与Setup.exe一样,boothelp.exe的字符串也是全部倒序后再经BASE64编码存储,解码算法如下:

APT-C-35组织(肚脑虫)的最新攻击活动分析

boothelp的C2地址也是通过Google获取:http://docs.google.com/uc?id=1wUaESzjGT2fSuP_hOJMpqidyzqwu15sz&export=download

且还硬编码了一个C2地址:aoc.sessions4life.pw

APT-C-35组织(肚脑虫)的最新攻击活动分析

该后门会获取计算机名、用户名、MAC地址,再经AES加密后POST到aoc.sessions4life.pw/football/flag:

APT-C-35组织(肚脑虫)的最新攻击活动分析

AES加密算法:

APT-C-35组织(肚脑虫)的最新攻击活动分析

最后处理返回的数据,判断指令是否包含有需要下载的插件。若指令内包含插件名,则以格式“计算机名-用户名-MAC地址|||插件名”经AES加密后发送到aoc.sessions4life.pw/football/download/2或者aoc.sessions4life.pw/football/download/5获取插件并执行:

APT-C-35组织(肚脑虫)的最新攻击活动分析

在我们调试过程中,C2返回数据包括了7个插件,但我们只成功获取了五个插件并进行了分析:

APT-C-35组织(肚脑虫)的最新攻击活动分析

相关插件功能如下:

Backdoor – Plugins

下载回来的后门插件功能详细分析如下:

vstservice.exe

vstservice.exe是.NET程序,功能为收集文件发送到C2,与之前的文件一致,其C2也来源于Google,文档名为goods.txt,内容为qwe.sessions4life.pw。与前面分析的样本一致,该插件中也硬编码了一个C2:mon.sessions4life.pw

APT-C-35组织(肚脑虫)的最新攻击活动分析

获取系统磁盘信息的功能:

APT-C-35组织(肚脑虫)的最新攻击活动分析

判断磁盘是固定磁盘且%appdata%/Roming/vstservice/vstservice目录下没有.man结尾的文件,则在该磁盘下收集文件:

APT-C-35组织(肚脑虫)的最新攻击活动分析

收集磁盘内的.ppt/.doc/.pdf/.rtf等敏感文档:

APT-C-35组织(肚脑虫)的最新攻击活动分析

将上述格式文件保存到%appdata%/Roming/vstservice/vstservice目录下的“磁盘名.doc”中,并以文件名>文件大小>最后修改时间的格式保存:

APT-C-35组织(肚脑虫)的最新攻击活动分析

将出上述格式外的文件保存到%appdata%/Roming/vstservice/vstservice目录下的“磁盘名.man”中:

APT-C-35组织(肚脑虫)的最新攻击活动分析

之后将文件发送到C2:mon.sessions4life.pw/panel/bigdata/file_upload

APT-C-35组织(肚脑虫)的最新攻击活动分析

abode.exe

该文件主要功能是上传除vstservice.exe之外的其他插件生成的文件以及C2指令中的文件(vstservice.exe具有与C2通信的功能,其他插件没有),同样的,与其他yty框架中的文件相同,adode.exe的C2也来源于Google,且与vstservice.exe使用相同的C2:

APT-C-35组织(肚脑虫)的最新攻击活动分析

定期发送其他插件生成的文件到C2,并根据C2返回指令发送指定文件:

APT-C-35组织(肚脑虫)的最新攻击活动分析

获取插件生成的文件:

APT-C-35组织(肚脑虫)的最新攻击活动分析

APT-C-35组织(肚脑虫)的最新攻击活动分析

之后将“计算机名-用户名-MAC地址”经加密后发送到mon.sessions4life.pw/panel/bigdata/orderfile并获取指定文件名:

APT-C-35组织(肚脑虫)的最新攻击活动分析

上传指定文件到mon.sessions4life.pw/panel/bigdata/file_upload:

APT-C-35组织(肚脑虫)的最新攻击活动分析

mdriver.exe

mdriver.exe插件是C++编写的键盘记录器,该插件主要功能记录键盘输入,并保存到%user%/LanConfig/ mdriver/mdriver目录下:

APT-C-35组织(肚脑虫)的最新攻击活动分析

保存的键盘输入格式如下:

APT-C-35组织(肚脑虫)的最新攻击活动分析

dspcheck.exe

截图插件,每五分钟截屏一次,并以文件名格式为”日月 年 时 分 秒”保存到” %user%/LanConfig/dspcheck/dspcheck.exe”下:

APT-C-35组织(肚脑虫)的最新攻击活动分析

mboard.exe

mboard.exe使用UPX加壳,脱壳后根据字符串相关信息可知是go语言编写的程序,该插件创建多个CMD进程执行命令,获取系统相关信息,并将获取的信息保存到” %user%/LanConfig/ mboard/ mboard下,并以.qr结尾。然后获取系统中的doc、pdf、msg等文件保存到” %user%/LanConfig/mboard/ mboard目录下:

APT-C-35组织(肚脑虫)的最新攻击活动分析

相关CMD命令如下表

命令 功能
dir /a /s 磁盘名:\;获取磁盘相关文件
systeminfo获取系统信息
Ipconfig /allIP相关信息
net view当前域的计算机列表
tasklist进程列表

溯源与关联

通过对此次攻击中使用的PDB路径、域名/IP关联分析,以及使用360威胁情报中心分析平台对相关样本和网络基础设施进行拓展,我们确认此次攻击的幕后团伙为360威胁情报中心2017年首次曝光的针对巴基斯坦的APT组织APT-C-35。

PDB关联

在分析的下载者Setup.exe中我们发现一个特殊的PDB路径:

APT-C-35组织(肚脑虫)的最新攻击活动分析

根据其PDB路径及代码特征确定该样本使用的是yty恶意框架,其与ASERT披露的dspcheck.exe插件PDB路径一致(详见参考[3]):

APT-C-35组织(肚脑虫)的最新攻击活动分析

域名关联

通过360威胁情报中心数据平台对样本中使用的C2域名tes.sessions4lif4.pw进行搜索,左下角可以看见已收录了相关报告:

APT-C-35组织(肚脑虫)的最新攻击活动分析

而该报告引用了360威胁情报中心在2017年6月发布的关于APT-C-35的攻击活动分析文章:《针对巴基斯坦的某APT活动事件分析》

APT-C-35组织(肚脑虫)的最新攻击活动分析

可以看到本次事件中使用的域名 tes.session4life.pw在17年时就已经被该APT组织使用:

APT-C-35组织(肚脑虫)的最新攻击活动分析

并且我们发现Setup.exe中有一个经过base64编码的目录football/download2:

APT-C-35组织(肚脑虫)的最新攻击活动分析

我们尝试在tes.session4life.pw/football/download2目录下获取文件,并成下载了一个名为helpdll.dll的文件,该文件采用C#编写,经分析该文件与ASERT披露的boothelp.exe文件结构基本一致:

APT-C-35组织(肚脑虫)的最新攻击活动分析

且在helpdll.dll的getGoogle方法中,我们同样的发现了一个google文档下载地址(https://drive.google.com/uc?authuser=0&id=1BUuYXU6bLdH_k_NWQIo7n5Uo_7L-uZSu&export=download),下载回来的文件名为ip2.txt,内容为一个IP地址:5.135.199.0。

通过360威胁情报中心数据平台对IP进行查询,也成功关联到APT-C-35组织(2018年5月被ASERT命名为Donot)

APT-C-35组织(肚脑虫)的最新攻击活动分析

由此我们可以确认,360威胁情报中心本次捕获的APT攻击样本和最早披露针对巴基斯坦且使用EHDevel恶意代码框架的APT攻击样本以及国外安全公司披露的使用yty恶意代码框架的APT攻击样本均来自于同一个APT组织:APT-C-35。

通过360威胁情报中心大数据关联分析,对C&C地址的访问均来自于巴基斯坦,可以确认APT-C-35最新的攻击目标仍然是巴基斯坦。

溯源关联图

360威胁情报中心对本次的攻击样本溯源关联过程如下:

APT-C-35组织(肚脑虫)的最新攻击活动分析

拓展

360威胁情报中心通过样本分析和大数据关联得到了APT-C-35组织近年来使用的大部分样本MD5、PDB路径、C&C地址(详见IOC节)。并发现了很多从未被公开过的该组织的样本和C&C地址:

比如PDB路径为D:\Soft\DevelopedCode_Last\yty2.0 – Copy\Release.Net\vstservice.pdb的样本,该样本功能与插件分析中的vstservice.exe一致,编译时间为2018.4.10:

APT-C-35组织(肚脑虫)的最新攻击活动分析

与其他样本一样,该样本C2地址也来自Google:http://docs.google.com/uc?id=1xCEI_NZX9HQIq5bkpd7FsamzWFvmiC6Q&export=download

APT-C-35组织(肚脑虫)的最新攻击活动分析

返回的文档名为mnpby.txt,内容为一个全新的C2地址:qwe.drivethrough.top

APT-C-35组织(肚脑虫)的最新攻击活动分析

总结

自2017年360威胁情报中心首次披露APT-C-35组织的活动以来,该组织从EHDevel框架到如今的yty框架一直在不断进行更新。本次捕获的样本框架较三个月前,功能虽然一致,但其字符串全部经倒序后再经Base64编码,且在数据传输中不再采用明文传输的方式,而是将获取的系统信息等经AES加密后进行发送。种种迹象表明,APT-C-35从未停止自己的活动,或许近期会再次发动新的网络间谍攻击。

目前,基于360威胁情报中心的威胁情报数据的全线产品,包括360威胁情报平台(TIP)、天眼高级威胁检测系统、360 NGSOC等,都已经支持对此APT攻击团伙攻击活动的检测。


*本文作者:360天眼实验室,转载自FreeBuf.COM

打赏我,让我更有动力~

0 Reply   |  Until 2018-7-30 | 843 View
LoginCan Publish Content
返回顶部 投诉反馈

© 2016 - 2022 掌控者 All Rights Reserved.