Naikon是一个高级持续性威胁(APT)组织。Naikon这个名字来自该组织使用的一款恶意软件中的一段代码。该组织惯于使用精心打造的钓鱼电子邮件,诱使收件人打开其带有恶意软件的附件。最近,Check Point Research发现了新的证据,表明Naikon APT正在针对亚太地区(APAC)几个国家进行网络间谍活动。攻击使用了一个名为Aria-body的新后门,以控制受害者的网络。
2015年后,Naikon APT就没有再活动了,这表明他们要么保持沉默,要么是在隐形攻击,要么彻底改变其行动方法。
下面,我就介绍一下Naikon APT在过去5年中一直使用的战术、技术、程序和基础设施。
攻击目标
在过去的十年中,Naikon APT一直将目标对准几个地区的国家政府,比如澳大利亚,印度尼西亚,菲律宾,越南,泰国,缅甸和文莱,这些攻击都使用了名为Aria-body的后门。
目标包括这些地区的外交部、科技部以及国有公司。有趣的是,该组织目前已经扩大了其在亚太地区的攻击面。在一个案例中,一个外国使馆在不知不觉中向其所在国政府发送了感染了恶意软件的文档,这表明黑客已经利用受信任的已知联系人,并利用这些联系人渗透到新的组织中并扩展其攻击活动。
鉴于受害者的特点和该组织所展示的能力,很明显,该组织的目的是收集情报和监视其攻击地区的政府。这不仅包括从受感染的计算机和政府部门的网络中定位和收集特定的文件,还包括从可移动驱动器中提取数据、截屏和键盘记录,当然还包括为间谍活动收集窃取的数据。如果这还不够,在通过敏感的政府网络访问远程服务器时,该组织还利用受感染部门的服务器作为指挥和控制服务器,来收集、转发和路由窃取的数据。
目标国家
感染链
在整个研究过程中,我们目睹了几种不同的感染链被用于传递Aria-body。我们的调查始于我们发现了一封恶意电子邮件,这封邮件来自政府驻亚太地区的大使馆,收件人是澳大利亚州政府,邮件名为The Indians .doc。这个RTF文件被RoyalRoad exploit生成器感染,并将名为intel.wll的加载程序拖放到目标PC的Word启动文件夹中。加载程序依次尝试从spool.jtjewifyn[.]com下载并执行下一阶段的有效载荷。
这不是我们第一次遇到此版本的RoyalRoad恶意软件,该恶意软件会删除名为intel.wll的文件名——Vicious Panda APT组。
总体而言,在我们的调查过程中,我们观察到了几种不同的感染方法:
1. 使用RoyalRoad武器化程序的RTF文件;
2. 包含合法可执行文件和恶意DLL的压缩文件,将在DLL劫持技术中使用,利用Outlook和Avast代理等合法可执行文件来加载恶意DLL。
3. 直接通过可执行文件作为加载程序;
感染链示例
基础设施
在最近的攻击中,攻击者对大多数C&C服务器使用了相同的托管和DNS服务:作为注册商的GoDaddy和用于托管基础设施的阿里巴巴。在某些情况下,攻击者甚至在多个域中重用了相同的IP地址:
Maltego:最新的基础设施概况
为了更清楚地了解攻击者多年来是如何操作他们的基础设施的,我们根据托管的ASN,根据定期的被动DNS信息绘制了各种恶意域。结果如下图所示:
域和ASN之间的相关性
观察结果
1. 几个域被利用了很长时间。
2. 多个域在短时间内跳到了相同的新ASN;
3. 自2019年以来,大多数基础设施都集中在ASN 45102(阿里巴巴)上。
4. 在某些情况下,攻击者会更改同一ASN上的IP地址/服务器(由上图中的两个连续的偶然ASN表示)。
此外,我们观察到的一个更有趣的基础设施属性是,可能使用被黑客攻击的政府基础设施作为C&C服务器。在我们分析的一个样本outllib.dll (63d64cd53f6da3fd6c5065b2902a0162)中,有一个备份的C&C服务器,其配置为202.90.141[.]25 ,这是一个属于菲律宾科技部的IP。
攻击工具分析
接下来,我们将深入研究Aria-body后门的技术分析,该后门在整个观察到的活动中都得到了利用,并分析它之前的加载程序的可执行文件。
在感染的早期阶段使用装载程序可以使攻击者在使用其更高级的工具之前,可以在目标网络上建立持久存在并进行基本侦察。虽然我们观察到Aria-body后门变体最早在2018年进行了编译,但我们观察到Aria-body的加载程序可以追溯到2017年。
加载程序分析
自2017年以来,Aria-body加载程序的功能并未发生重大变化,但是实现版本各不相同,这个加载程序似乎是专门为Aria-body后门创建的。
总体而言,加载程序负责以下任务:
1. 通过启动文件夹或运行注册表项(某些变体)建立持久性;
2. 将自身注入到另一个进程,例如rundll32.exe和dllhost.exe(某些变体);
3. 解密两个Blob:“导入表”和加载程序配置。
4. 如果需要,请使用DGA算法。
5. 联系嵌入式/计算出的C&C地址,以便检索下一阶段的有效载荷;
6. 解密收到的有效载荷DLL(Aria-body后门);
7. 加载并执行一个导出函数的DLL :使用djb2哈希算法计算得到。
加载程序的主逻辑:仅当dga_seed≠0时才输入dga_method
加载程序:配置和DGA
加载程序配置经过加密,并包含以下信息:C&C域、端口、用户代理和域生成算法(DGA)的种子。如果种子不为零,加载程序使用DGA方法生成它的C&C域,该方法基于种子和通信的日历日期。加载程序的配置使用以下算法解密:
配置加密算法
加载程序:C&C通信
获取C&C域后,加载程序会与其联系以下载感染链的下一个也是最后一个阶段。尽管听起来很简单,但是攻击者却每天在有限的窗口中操作C&C服务器,每天仅在线几个小时,这使得访问感染链的高级部分变得更加困难。
加载程序:下一阶段的有效载荷
在加载程序的下一个也是最后一个阶段,使用从C&C接收的单个字节XOR密钥对下载的RAT进行解密。一旦下载并解密了RAT的DLL,该DLL就会加载到内存中。然后,加载程序将根据硬编码的djb2散列值检查导出的函数,并在匹配时调用它。
Aria-body RAT分析
下载的有效载荷是一个自定义RAT,称为Aria-body,基于作者给定的名称:aria-body-dllX86.dll。
尽管下面的分析是针对32位变种恶意软件的,但我们也观察到了具有相似功能的64位变种。
在“Aria-body”后门中发现的字符串
RAT包括后门相当常见的功能,包括:
1. 创建/删除文件/目录;
2. 截屏;
3. 搜索文件;
4. 使用ShellExecute启动文件;
5. 枚举过程加载的模块;
6. 收集文件的元数据;
7. 收集TCP和UDP表状态列表;
8. 关闭TCP会话;
9. 收集操作系统信息
10. 使用checkip.amazonaws.com验证位置
11. 基于进程间管道的通信
Aria-body的一些变体还包括其他模块,例如:
1. USB数据采集模块;
2. 键盘记录器模块,用于收集基于原始输入设备的按键,在2018年2月添加
3. 反向Socks代理模块,在2018年2月添加;
4. 加载扩展模块,在2019年12月添加;
独特的工具特点
在下一节中,我们将介绍实现后门程序的一些技术,并重点介绍可以帮助其他研究人员识别此后门程序并将其与其他样本相关联的特征。
初始化
如前所述,后门包含一个导出的函数,先前的加载程序在将有效载荷加载到内存后会调用该函数。执行后门程序后,它将初始化一个名为MyDerived的结构以及几个用于HTTP和TCP连接的结构。
信息收集
Aria-body首先收集受害者设备上的数据,包括:
主机名、计算机名、用户名、域名、windows版本、处理器~MHz、MachineGuid、64位或不64位以及公共IP(使用checkip.amazonaws.com)。
Aria-body使用checkip.amazonaws.com服务获取受害者的IP
该数据被收集到一个信息结构中,RAT使用一个8字节的随机生成的密码对该zip进行压缩,然后将其与一个字节进行异或。
C&C通信
可以通过HTTP或TCP协议与C&C服务器进行通信,恶意软件通过加载程序的配置中的标志来决定使用哪种协议。收集的数据与已经XOR的密码和XOR密钥一起以以下格式发送到C&C域:
C&C通信结构
无论消息是通过TCP还是HTTP发送的,有效载荷格式都是相同的。但是,当选择HTTP时,将使用以下GET请求格式:
https://%s:%d/list.html?q=
向C&C服务器发出初始请求后,后门将继续侦听来自服务器的其他命令。收到命令后,将其与命令列表进行匹配,并相应执行。
Outlook DLL变体
在我们的研究中,我们发现了另一个非常独特的Aria-body变体,它是从菲律宾上传到VirusTotal的。这个变体的DLL被命名为outllib.dll,并且它是名为Office.rar的RAR文件的一部分。它利用了DLL侧加载技术,滥用了旧的Outlook可执行文件。
与其他所有版本的Aria-body不同,此变体的不同寻常之处在于,没有加载程序作为感染链的一部分。结果,它没有从加载程序获得任何配置,而是在其中包含了硬编码的配置。
有效载荷具有两个不同的C&C域:
1. blog.toptogear[.]com:通过对带有字节0x15加密的字符串进行XOR运算获得。
2. 202.90.141[.]25:与菲律宾政府网站关联的IP,如果第一个C&C域无法被解析,将使用该IP。
使用菲律宾政府的C&C服务器作为备份
此变体还具有Aria-body的主要变体所不具备的一些额外功能,例如USB显示器模块。另一方面,在主要的Aria-body变体中,此变体缺少按键记录器组件和反向sock模块。这些证据表明,这个后门是攻击者自定义的。
此外,我们已经看到Aria-body的主要变体版本是在outlib.dll变体之后的某个时间编译的,并且该变体中的一些字符串可能表明它是此特殊版本的测试变体:
“TEST”字符串作为“outllib.dll”连接结构的一部分
最后,此版本的Aria-body包含以下字符串:c:\users\bruce\desktop\20190813\arn\agents\verinfo.h, “arn”中的“ar”可能代表“ Aria”。
由于卡巴斯基在2015年就发布了有关Naikon活动的信息(1https://securelist.com/the-naikon-apt/69953/,2https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2018/03/07205555/TheNaikonAPT-MsnMM1.pdf),因此我们把把卡巴斯基发现后门称为XsFunction,因为在其中一个样本中发现了PDB路径。
g:\MyProjects\xsFunction\Release\DLL.pdb
XsFunction是功能齐全的后门,它支持48种不同的命令,它使攻击者可以完全控制受害者的计算机、执行文件和进程操作,执行Shell命令,以及上传和下载数据和其他插件。
我们能够找到与先前操作的一些相似之处(除了在目标上明显的重合),以及与XsFunction后门的特定相似之处。
字符串相似度
Aria-body后门具有几个描述恶意软件功能的调试字符串,其中一些调试字符串,也可以在XsFunction后门中找到:
在Aria-body后门中发现的字符串
在XsFunction中找到的字符串(d085ba82824c1e61e93e113a705b8e9a)
哈希函数相似度
XsFunction和Aria-body加载程序都使用相同的哈希算法djb2来查找应运行哪个导出的函数。在XsFunction中,该函数的名称为XS02,在Aria-body中,其名称为AzManager。
在XsFunction (d085ba82824c1e61e93e113a705b8e9a)中找到的字符串
Aria-body加载程序
代码相似度
Aria-body后门中的一些函数与旧的XsFunction后门中使用的函数完全相同。其中一个例子是收集个人电脑上安装的软件信息的功能:
基础设施重合
我们的四台C&C服务器使用mopo3[.]net域共享IP,该域解析为与卡巴斯基报告中提到的域myanmartech.vicp[.]net相同的IP。
Maltego:基础设施重合图
总结
如上所述,我们发现了针对亚太地区各种攻击,这些攻击利用了自定义的后门Aria-body。
从表面上看,Naikon APT在过去的5年中一直没有“安静无事”,但如上所述他们并没有闲着。实际上,恰恰相反。通过利用新的服务器基础架构,不断变化的加载程序变体,内存中无文件加载以及新的后门程序,Naikon APT已经能够阻止分析师的分析,发起隐蔽攻击。
本文翻译自:https://research.checkpoint.com/2020/naikon-apt-cyber-espionage-reloaded/如若转载,请注明原文地址: