原文链接:Cycldek: Bridging the (air) gap
译者:知道创宇404实验室翻译组

主要发现

在调查关于Cycldek组织2018年后有关攻击活动时,发现对该组织的信息了解甚少。本文旨在弥合对该组织的知识鸿沟,了解其最新活动和操作方式。以下是关于该组织的相关信息:

  • Cycldek(也称为Goblin Panda和Conimes)在过去两年中一直很活跃,对东南亚地区国家政府进行了针对性的攻击活动。

  • 相关活动的分析显示了两种不同的模式,表明该组织是由一个领导管理的两个运营实体组成。

  • 我们检测发现到了用于目标网络的横向移动和信息窃取的工具,其中包括自定义工具、未报告工具以及二进制文件。

  • 最新公布的工具之一被命名为USBCulprit,其通过USB媒体来提取受害者的数据。这表明Cycldek可能正试图到达受害者环境中的气隙网络,或依靠物理存在达到同样的目的。

背景

Cycldek是久负盛名的使用中文的威胁组织。基于该组织过去的活动,发现它对东南亚地区有浓厚的兴趣,而且主要关注在越南的大型组织和政府机构。

  • 2013年,正如CrowdStrike 简要描述的那样,在多个行业的公司网络中都发现了该集团的附属指标。

  • 2014年,CrowdStrike针对东南亚组织,尤其是越南进行了大规模的攻击活动。这些活动主要使用越南语作为诱饵文件,传播诸如PlugX之类的恶意软件。

  • 2017年,据Fortinet报道,该组织使用含有越南政治内容的RTF诱饵文件发起攻击,删除了名为NewCore RAT的恶意程序的变种。

  • 2018年,东南亚地区多个国家(包括越南、泰国和老挝)的政府组织使用各种工具和新的TTP进行了攻击。其中包括使用Royal Road构建器,NewCore RAT恶意软件的开发版本以及其他未报告的植入程序。自2019年10月以来,这已经成为卡巴斯基威胁情报门户网站报告的重点,也是本文的主题。

Cycldek攻击时间表

2018年以来,我们发现大多数攻击都始于以8.t文档生成器(也称为‘Royal Road’)构建的具有政治主题的RTF文档,会通过网络钓鱼邮件的形式发送给受害者。这些文档捆绑了漏洞利用程序(例如CVE-2012-0158,CVE-2017-11882,CVE-2018-0802),这些漏洞又为三个文件运行了一个释放器:

  • 合法签名的应用程序,通常与AV产品相关,如QcConsol–McAfee的QuickClean应用程序、Avast的服务程序wsc_proxy.exe。

  • 恶意DLL,由之前的应用程序进行加载。

  • 加密的二进制文件,由DLL解密并执行。

在内存中运行的最终有效负载是一个称为NewCore RAT的恶意软件。它基于一个名为PcShare的开源框架,该框架十多年前在中国黑客论坛盛行。如今,该软件在Github上已经完全可用,攻击者可以根据自己的需要来利用或修改它。

以Cycldek为例,该组织于2017年使用NewCore的第一个公共帐户。如Fortinet的文章所述,该恶意软件为攻击者提供了广泛的功能,其可使文件进行一系列操作、截屏,并通过远程外壳控制机器对计算机进行关闭或重启。

两大植入变体

在我们调查各种攻击期间交付的NewCore RAT恶意软件时,我们能够区分出两大变种。两者都是作为侧载DLL部署的,在代码和行为上有多个相似之处。同时我们注意到,不同的操作符可以使用不同的变体。

分析表明,潜在的恶意软件因为使用方式不同形成了两个活动集群。我们将变种命名为BlueCore和RedCore,对每个变种周围发现的相关信息进行了检查,下表总结了相关的植入变体特征:

如表所示,这些变体具有相似行为。两者都使用DLL加载顺序劫持来运行DLL中的代码,模拟合法的AV应用程序的依赖关系,并且都共享随机UUID的互斥体命名。通过比较两大植入的变体,我们可以发现源自PCShare RAT的多种功能,但是其他一些代码(如下图中的注入代码)是专有的。

代码相似性

此外,两种植入变体都利用了类似加载RedCore和BlueCore植入软件的shell代码。shell代码在文件的‘stdoletlb’和‘msgsm64.acm’中,其包含用于从嵌入式blob解密植入软件的的原始可执行文件,然后将其映射到内存,并在入口点执行例程。由于这两种变体的两段shell代码是相同的,且属于不同的开源项目,因此我们认为它们来自一个专有的共享资源。

两个集群中shellcode使用的二进制解密函数的调用流程图比较

但两大变体也存在差别,下面是仅在RedCore植入软件中找到的功能示例;

  • 键盘记录器:RedCore记录当前前景窗口的标题(如果存在),并以每10ms的击键记录到一个大小为65530的内部缓冲区中。当该缓冲区被填充时,来自其中的数据将被写入名为“ RCoRes64.dat”的文件中,其使用的是单字节XOR和密钥0xFA对数据进行的编码。

  • 设备枚举器:RedCore注册了一个窗口类,该类旨在通过回调来拦截窗口消息,而信息的发送则是由于DBT_DEVICEARRIVAL运行。此类事件表明设备已连接至系统,设备也会将逻辑驱动器的位图发送到C&C。

  • RDP记录器:RedCore通过ETW订阅RDP连接事件,并在事件发生时向C&C发送通知。处理此功能的代码基于Github存储库,名为EventCop,该存储库旨在获取通过RDP连接到系统的用户列表。由于修改了开放源代码,恶意软件不会打印传入连接的数据,而会联系C&C并通知其有关连接事件的信息。

  • 代理服务器:RedCore产生一个服务器线程,该线程观察预先配置的端口(默认为49563)并接受来自非本地主机连接的请求。服务器开始运行之前,会对进程进行防火墙通过处理,所有的请求也都会验证通过,接着按照原始格式传递给C&C。

这两种植入最显著的区别是他们用来连接和指向C&C服务器的URL方案不同。通过在遥测中查找使用类似URL模式发出的请求,我们能够找到多个C&C服务器,并基于上述两个集群划分底层基础设施架构。每一种恶意软件的请求都只由合法和签名的应用程序发出,这些应用程序或被用来装载一个恶意DLL,或被注入恶意代码,所有被发现的域都会用于下载进一步的示例。

每个植入程序用于C2通信的URL方案的差异

由此我们得出的结论是,尽管所有目标都是外交和政府实体,但每组活动都有不同的地理重点。BlueCore集群背后的运营商将大部分精力投入到了越南目标上,并在老挝和泰国建立了多个离群值,而RedCore集群的运营商最初则侧重于越南,2018年底转移到了老挝。相关数据如图:

C&C下载的样本数量

通过对比我们发现看到的活动属于单个参与者,我们称之为Cycldek。在一些情况下,我们发现了从两个组的服务器下载的由组编写的独特工具。如下图所示,其中一个例子是USBCulprit组织自定义构建的工具,它的两个样本是从BlueCore和RedCore服务器下载的,附录中提供了更全面的列表。总而言之,这意味着这些集群后面运行的实体正在共享多个资源(包括代码和基础结构),并且在单个组织的保护下运行。

从两个群集的服务器下载名为USBCulprit的恶意软件示例

信息窃取和横向移动工具集

在分析过程中,我们能够观察到从BlueCore和RedCore植入程序中下载的各种工具,这些工具既可以在受感染的网络中横向移动,也可以从受感染的节点窃取信息。这些工具有几种类型,有些是专有的,以前不曾见过,有些是从开源漏洞利用框架中复制的软件(其中的一些有特定的攻击对象)。

在RedCore和BlueCore的例子中,下载的工具都是作为合法签名应用程序端加载DLL调用的。此类应用程序包括AV组件,例如wsc_proxy.exe(Avast修复服务),qcconsol.exe和mcvsshld.exe(McAfee组件),以及合法的微软和谷歌工具(如资源编译器rc.exe和谷歌更新googleupdate.exe)。使用这些工具可以绕过弱安全机制(如应用白名单),在执行过程中向恶意软件授予其他权限,或者使事件响应变得复杂化。

与RedCore和BlueCore一样,下载的工具都被作为合法签名应用程序的侧面加载DLL调用。此类应用程序包括AV组件,例如wsc_proxy.exe(Avast修复服务),qcconsol.exe和mcvsshld.exe(McAfee组件),以及合法的Microsoft和Google实用程序,例如资源编译器(rc.exe)和Google Updates。可以使用这些工具来绕过诸如应用程序白名单之类的弱安全机制,在执行过程中向恶意软件授予其他权限,使事件变得复杂化。

正如已经提到的那样,这些工具中的大多数是常见的,并且在攻击者中广泛使用,有时也称为非现场二进制文件或LOLbins。此类工具是合法开源软件的一部分,但却被滥用进行恶意活动。其中示例包括BrowserHistoryView(用于从常见浏览器获取浏览历史记录的Nirsoft实用程序),ProcDump(用于转储内存的Sysinternals工具,可能从运行的进程中获取密码),Nbtscan(用于扫描IP网络以获取NetBIOS信息的命令行实用程序)和PsExec(Sysinternals工具用于在网络中远程执行命令,通常用于横向移动)。

其余工具要么由攻击者完全开发,要么使用之前已开发的工具。以下是几个著名的示例:

  • 自定义后门:这是之前开发的工具,可提供齐全的后门功能,如远程机器管理、信息盗窃、横向移动和DDoS攻击的发起。它由黑客Wicked Rose开发,在中国的黑客论坛中流行了一段时间,以其为基础的变体形式进入了APT世界(如Naikon APT它利用了原始工具)。Cycldek自定义版本利用了小部分功能,攻击者可以用它来扫描内部网络并在受感染主机之间创建隧道,这样可以避免网络被检测并能成功绕过代理。此外,该工具还允许攻击者通过访问未连接互联网的计算机来窃取隔离主机中的数据。

自定义HDoor工具的命令行用法

- JsonCookies:专有工具,可从基于Chromium的浏览器的SQLite数据库中窃取Cookie。可从C&C下载sqlite3.dll库,运行期间使用它来解析数据库并生成一个名为“FuckCookies.txt”的JSON文件。其文件中的条目与此类似:

{
"domain": ".google.com",
"id": 1,
"name": "NID",
"path": "/",
"value": "%VALUE%"
}

- ChromePass:专有工具,可从基于Chromium的浏览器数据库中窃取保存的密码。解析的数据库会输出一个HTML文档,文档中包含一个带有URL的表以及相应的被盗用户名和密码信息。具体操作如图所示:

ChromePass工具的命令行用法

恶意软件:USBCulprit

Cycldek工具集中最能说明数据窃取和横向移动功能的示例是我们称为USBCulrpit的恶意软件。RedCore植入软件在多个示例中下载了该工具,它能够扫描受害机器的各种路径,收集具有特定扩展名的文档,在连接到系统后将数据传递给USB驱动器。它还能在特定环境下选择性复制内容到可移动驱动器中,这些操作表明可以通过感染指定的驱动器并手动打开其中的可执行文件,将其横向传播。

在恶意软件处于活动状态期间,功能上的变化很少。基于卡巴斯基的遥测技术,USBCulprit 2014年出现,最近的更新活动在2019年底。2017年以后检测到的样本中最突出的新增功能是能够从连接的USB执行指定文件的名称,这表明恶意软件可以扩展到其他模块。然而,我们无法捕获任何这样的文件,它们的目的目前仍然未知。

我们看到的另一个变化是2017年以后发现的变体的加载方案。旧版本使用了一个删除器,它将一个配置文件写入磁盘,并提取出包含合法二进制文件和恶意端加载DLL的嵌入式Cabinet存档。这在新版本中得到了改进,还增加了一个额外的阶段,如使侧面加载的DLL解密并从包含恶意负载的归档中加载第三个文件。结果,后者只能在内存中以解密形式找到。

这个加载方案表明,它背后的操作者利用了先前描述的归因于Cycldek的植入软件中所见的类似TTP。如,模仿AV组件的二进制文件被用于执行DLL负载顺序劫持。在这样的情况下,从cabinet归档文件中删除的一个名为wrapper.exe的文件(最初名为PtUserSessionWrapper.exe,)强制执行一个名为TmDbgLog.dll的恶意DLL。此外,该恶意软件利用加密blob,使用RC4解密并用自定义PE加载器执行。完整的链如下图所示:

USBCulprit的加载流程

将USBCulprit加载到内存并执行后,它将分三个阶段运行:

  • 引导和数据收集:这个阶段为恶意软件的执行准备环境。它调用名为“CUSB::RegHideFileExt”和“CUSB::RegHideFile”的两个函数,这些函数修改注册表键来隐藏Windows中文件的扩展名,并将验证隐藏的文件不显示给用户。它还会向磁盘写入多个文件到初始化数据结构的路径中,这些路径之后会被恶意软件使用或进行搜索。此外,该恶意软件使用一个名为‘CUSB::USBFindFile’的函数通过扫描来进行文件收集。如利用几个预定义的目录来查找具有以下任一扩展名的文档:.pdf;.doc;.wps;docx;ppt;.xls;.xlsx;.pptx;.rtf。找到的文档都记录在一个文件中。

然后将选择的文件分组到加密的RAR档案中。为了实现这一点,该恶意软件提取了一个“rar.exe"命令行实用程序,并针对创建的列表运行该程序。存档的密码在恶意软件开始执行时初始化,对于我们观察到的大多数变体,都被设置为“abcd!@#$”。

值得注意的是,可以按其修改日期过滤所搜索的文档。USBCulprit的多种变体会在执行恶意软件的目录中检查名为“time”的文件。该文件应具有指定修改时间戳记的日期时间值,超出该值时,文件将被视为您感兴趣的文件并应被收集。如果“ time”文件不存在,则使用默认值“ 20160601000000”进行创建,该值对应于01/06/2016 00:00:00。

  • USB连接拦截和进行数据渗透/传送:当引导和数据收集完成时,恶意软件试图拦截新媒体的连接,并验证它对应驱动器。这是一个无限循环的过程,该恶意软件会进入休眠状态并在固定的时间被唤醒,使用GetDriveTypeW函数检查所有连接的驱动器。如果存在至少一个驱动器类型为DRIVE_REMOVABLE,则将采取进一步的措施。

连接USB后,恶意软件将验证偷来的数据进行复制或验证。在驱动器中搜索名为“$Recyc1e.Bin”的目录,如果找不到该目录,则会创建该目录。此目录将作为文件复制到驱动器的目标路径或从中获取文件的源路径。

为了了解应按哪个方向进行文件复制,在本地搜索名为“1.txt”的特殊标记文件。如果存在,该恶意软件可能会寻找“$Recyc1e.Bin”目录,并尝试将其复制到磁盘。否则,本地存档文件将从磁盘复制到驱动器的同一目录中。

USBCulprit检查1.txt标记

  • 横向移动和扩展:作为上述循环的一部分,将在本地检查是否存在另一个名为“2.txt”的标记文件,以确定是否应进行横向移动。只有该文件存在,恶意软件的二进制文件才会从其本地路径复制到“$Recyc1e.Bin”本地目录。值得注意的是,我们无法发现任何可通过USB连接触发恶意软件执行的机制,这使我们相信该恶意软件应该由人工处理。除上述之外,USBCulprit能够更新本身或通过其他模块扩展其执行,这是通过在USB中查找预定义文件并执行它们来完成的。这些示例包括{D14030E9-C60C-481E-B7C2-0D76810C6E96}和{D14030E9-C60C-481E-B7C2-0D76810C6E95}。我们在分析过程中无法获得这些文件,也无法说出它们的确切目的。根据它们的行为,我们只能猜测它们被用为作扩展模块或已经是恶意软件本身的更新版本。前者是一个归档文件,它被解压缩到一个特定目录,该目录的文件枚举并使用一个名为‘CUSB::runlist’的内部函数执行,而后者是一个二进制文件,复制到%TEMP%目录并作为一个新进程生成。

恶意软件的特征可以让我们对它的目的做出一些假设,其中一个假设是要从具有空隙的计算机中获取数据。这就解释了恶意软件中没有任何网络通信,只使用移动媒体作为传输入站和出站数据的手段。此外,我们还看到一些变体发出命令来收集主机网络信息的不同部分,这些数据被记录到一个文件中,然后与被窃取的数据一起传输到USB上,这可以帮助攻击者分析被执行恶意软件的计算机是否属于隔离网络的一部分。

用于配置受感染主机的网络连接的命令

另外我们认为该恶意软件是由地面操作人员手动处理的。如前所述,没有明显的机制可以从受感染的媒体自动执行USBCulprit,但是我们看到同一示例是从多个驱动器位置执行的,这表明它确实散布在周围。恶意软件寻找非常特定的文件作为可执行扩展名,而在我们的调查中找不到其他数据,这表明是需要人为因素来协助将恶意软件部署在受害网络当中的。

结论

Cycldek是一个比公众想象的更难的操作软件示例。尽管大多数活动给人描述的印象是一个能力欠佳的边缘组织,但工具的范围和行动时间表明,该组织在东南亚备受关注的而且目标网络中拥有广泛的立足点。

此外,我们对隶属于该组织的植入程序分析可以更深入了解组织结构。如前所述,这些恶意软件的各种特征之间的相似性和差异表明,它们很可能起源于单个组织的不同部门。

最后我们认为,此类攻击将在东南亚国家继续发生。过去曾目睹使用不同的工具到达同一国家的气隙网络,并试图从中窃取数据。我们的分析表明,就恶意软件参与者而言这种活动并未停止,它只是改变了形式。我们将继续跟踪操作者并在我们的威胁情报门户网站中进行情报的持续更新。

IOCs

RedCore:

A6C751D945CFE84C918E88DF04D85798 – wsc.dll (side-loaded DLL)
4B785345161D288D1652C1B2D5CEADA1 – msgsm64.acm (encrypted shellcode and implant)

BlueCore:

1B19175C41B9A9881B23B4382CC5935F – QcLite.dll (side-loaded DLL)
6D2E6A61EEDE06FA9D633CE151208831 – QcLite.dll (side-loaded DLL)
6EA33305B5F0F703F569B9EBD6035BFD – QcLite.dll (side-loaded DLL)
600E14E4B0035C6F0C6A344D87B6C27F- stdole.tlb (encrypted Shellcode and Implant)

Lateral Movement and Info-Stealing Toolset:

1640EE7A414DFF996AF8265E0947DE36 Chromepass
1EA07468EBDFD3D9EEC59AC57A490701 Chromepass
07EE1B99660C8CD5207E128F44AA8CBC JsonCookies
809196A64CA4A32860D28760267A1A8B Custom HDoor
81660985276CF9B6D979753B6E581D34 Custom HDoor
A44804C2767DCCD4902AAE30C36E62C0 Custom HDoor

USB Culprit:

A9BCF983FE868A275F8D9D8F5DEFACF5 USBCulprit Loader
C73B000313DCD2289F51B367F744DCD8 USBCulprit Loader
2FB731903BD12FF61E6F778FDF9926EE USBCulprit Loader
4A21F9B508DB19398AEE7FE4AE0AC380 USBCulprit Loader
6BE1362D722BA4224979DE91A2CD6242 USBCulprit Loader
7789055B0836A905D9AA68B1D4A50F09 USBCulprit Loader
782FF651F34C87448E4503B5444B6164 USBCulprit Loader
88CDD3CE6E5BAA49DC69DA664EDEE5C1 USBCulprit Loader
A4AD564F8FE80E2EE52E643E449C487D USBCulprit Loader
3CA7BD71B30007FC30717290BB437152 USBCulprit Payload
58FE8DB0F7AE505346F6E4687D0AE233 USBCulprit Payload
A02E2796E0BE9D84EE0D4B205673EC20 USBCulprit Payload
D8DB9D6585D558BA2D28C33C6FC61874 USBCulprit Payload
2E522CE8104C0693288C997604AE0096 USBCulrprit Payload

Toolset overlapping in both clusters:

C&Cs and Dropzones:

Red Cluster:

http://web.laovoanew[.]com

http://tinmoi.vieclamthemde[.]com

http://kinhte.chototem[.]com

http://news.trungtamwtoa[.]com

http://mychau.dongnain[.]com

http://hcm.vietbaonam[.]com

http://login.thanhnienthegioi[.]com

http://103.253.25.73 (ZoomEye搜索结果)

http://luan.conglyan[.]com

http://toiyeuvn.dongaruou[.]com

http://tintuc.daikynguyen21[.]com

http://web.laomoodwin[.]com

http://login.giaoxuchuson[.]com

http://lat.conglyan[.]com

http://thegioi.kinhtevanhoa[.]com

http://laovoanew[.]com

http://cdn.laokpl[.]com

Blue Cluster:

http://login.dangquanwatch[.]com

http://info.coreders[.]com

http://thanhnien.vietnannnet[.]com

http://login.diendanlichsu[.]com

http://login.vietnamfar[.]com

http://cophieu.dcsvnqvmn[.]com

http://nghiencuu.onetotechnologys[.]com

http://tinmoi.thoitietdulich[.]com

http://khinhte.chinhsech[.]com

http://images.webprogobest[.]com

http://web.hcmuafgh[.]com

http://news.cooodkord[.]com

http://24h.tinthethaoi[.]com

http://quocphong.ministop14[.]com

http://nhantai.xmeyeugh[.]com

http://thoitiet.yrindovn[.]com

http://hanghoa.trenduang[.]com


Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1230/