360威胁情报中心 04月05日 21:36
近些年APT-C-60(伪猎者)组织使用的载荷分析
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入分析了APT-C-60组织近年来使用的攻击载荷,这些载荷被分为Observer Installer、Observer、Backdoor Installer、Backdoor和Plugin五大类。文章梳理了这些载荷的功能演变和技术特征,揭示了攻击者在信息收集、持久化、远程控制和数据窃取等方面的策略。通过对解密算法、加密方式和文件结构的分析,展现了APT-C-60组织不断更新的攻击手段。

🕵️ **Observer Installer:** 该类载荷主要负责下载文件,并通过CLSID实现持久化运行。JS downloader是其JavaScript代码实现,BMP downloader则通过BMP文件释放载荷。2023年和2024年,该类载荷主要使用特定文件名或模块导出名。

👁️ **Observer:** 作为前锋马,Observer收集目标信息并下载后续载荷,为攻击者提供决策依据。其版本迭代伴随着回传信息格式的变化,从早期的scrobi.db到后来的crypt86.dat和securebootuefi.dat,信息加密方式和收集内容不断更新。

🚪 **Backdoor Installer:** 功能相对简单,主要负责下载文件和设置Backdoor的持久化。其解密算法和密钥随着时间推移有所变化,从2018年的CryptpoPP+AES128+CBC到2022-2024年的自定义base64+xor。

⚙️ **Backdoor:** Backdoor载荷是执行C2指令的核心,其功能结构相对稳定,支持多种指令,如文件操作、进程管理、下载上传等。Backdoor内部硬编码的版本字符串也反映了程序配置的改变,版本号不断迭代。

🔌 **Plugin:** Plugin载荷主要提供扩展功能,如键盘记录、文件收集和屏幕截图,其文件类型包括powershell和pe文件。这些插件丰富了攻击者的攻击手段,使其能够更全面地控制受害系统。

原创 高级威胁研究院 2025-01-14 18:10 北京

我们整理了APT-C-60近些年来使用的样本,对它们按照功能进行分类,并从中梳理出一些特征

APT-C-60
  伪猎者

APT-C-60(伪猎者)是一伙以持续监控受影响用户、窃取相关信息为目的朝鲜半岛APT组织。我们于2018年发现该组织的活动,溯源分析最早的攻击活动可疑追溯到2014年。受影响用户大部分为涉韩的政府、经贸、文化有关的企事业单位,以及劳务咨询公司。

近期我们整理了APT-C-60近些年来使用的样本,对它们按照功能进行分类,并从中梳理出一些特征。
从2018年到2024年,伴随着攻击者的持续活动,我们捕获到攻击行动暴露的大量载荷。这些载荷按照功能分类可以分为五类:Observer Installer, Observser,Backdoor Installer,Backdoor,Plugin。这非常符合APT组织载荷的标准结构:由Observer Installer和Observer组成的前锋马,负责对目标环境进行一个基础的探测;由Backdoor Installer和Backdoor组成的后门部分,负责目标完全控制和数据渗出任务;由Plugin载荷提供特异性的扩展功能。随着时间推移,这五类载荷的核心功能不变,实现方式一直在迭代更新。报告后续不会介绍每类载荷的具体实现,而是通过一些特征来呈现各类载荷随着时间的变化。    

一、类型

1. Observer Installer

Observer Installer这类载荷的主要功能是下载文件,并通过CLSID来实现文件的持久化运行。这类载荷是攻击完成初始接入后第一个执行的载荷。JS downloader是这类载荷的javascript代码的实现,也是这类载荷使用量最多,使用时间最长的载荷。BMP downloader的载荷都导出模块名“Observer_Installer_pack.dll”,“Observer_Installer”指示它用于安装Observer,“pack”代表这类载荷由一个BMP文件释放而来,这也是这类载荷名称的由来。后两类文件则是Observer Installer在2023和2024主要使用的文件名(或模块导出名)。    

2. Observer  

“Observer”是从样本的pdb中提取出来的,从这个词的意思“观察者”也能反映出这类载荷的功能:作为攻击者的前锋马初步收集目标信息,并下载加载后续载荷。Observer收集的信息为攻击者是否投递后续载荷提供参考依据。Observer在我们的跟踪分析期间主要有以下五类文件名,一些基本的特征见下表。Observer内硬编码的一个浮点数。在回传信息时,程序会以一定格式带上这个浮点数。这个浮点数和pdb中暴露的版本信息对应,所以我们认为这个浮点数就是程序的版本号。Observer从2.0版本开始不再提供32位的文件。

文件名

编译时间区间

版本

scrobi.db

2018.7.24


comctlc.db+propsys.db

2020.3.11

1.5

2020.9.28

1.7

propsysctl.db

2021.2.18-2021.5.25

1.8

2021.6.28-2022.3.10

1.9

2022.4.12-2022.7.6

1.91

2022.8.11

1.92

crypt86.dat+profapii.dat

2022.11.20-2023.2.3

2.0

2023.4.21-2023.11.28

2.1

securebootuefi.dat

2024.1.22-2024.9.26


收集信息作为当前载荷的核心功能,我们整理了不同版本载荷回传信息的格式。通过这些格式的变化来了解Observer版本的变迁。

    Stage:

S0:文件未下载或下载失败

S1:文件下载成功

S2:文件加载成功

版本

1.5,dwight

收集信息格式

["Username"]["Hostname"]["SystemVersion"_"Arch"]["12位随机字母""Arch".bmp]

信息加密方式

AES

回传数据格式

User-Agent: myagent\r\nReferer: <O"Version"_"Stage"_"Flag"_"Count">"EncryptData"\r\n\r\n\r\n

版本和Flag
1.7,Ux-x
收集信息格式
"Hostname">"Username">["SystemVersion"_"Arch"]["12位随机字母"]
信息加密方式
AES
回传数据格式User-Agent: myagent\r\nReferer: O"Version">"Flag">"Stage">"EncryptData"\r\n\r\n\r\n

Hostname和Username为当前机器的主机名和用户名,SystemVerion为系统版本,Arch为系统平台(32位还是64位),Version为当前载荷的版本,EncryptData为收集信息加密后的数据。    

3. Backdoor Installer  

Backdoor Installer功能相对简单:下载文件;通过clsid设置下阶段载荷Backdoor的持久化,其功能与Observer Installer类似。我们统计了载荷在解密文件时使用的解密算法和key。

时间

解密算法

文件名

Key

IV

2018年

CryptpoPP+AES128+CBC

install.bat

ed4196b8b25e126956e6d8abb4c73560

c7ac7388709ae5fcc2f62a5c9dabc47c

2021年

WinCrypt+AES128+ECB

combases.db

C1648E81F23368E0221B41B324796937


B0747C82C23359D1342B47A669796989


759D8DA5D930D9A223F39EEFB417E758


2022-2024年

自定义base64+xor

service.dat

AadDDRTaSPtyAG57er#$ad!lDKTOPLTEL78pE


4. Backdoor  

Backdoor类的载荷功能结构稳定,随着时间变化不大。Backdoor加载配置信息中插件路径中的文件,执行各种自定义功能。    

并且回传更加详细的目标信息。

     Backdoor载荷的核心功能是执行C2下发的指令,指令循环流程图如下图所示。    

Boackdoor载荷支持的指令代码见下表。

命令字符串

功能

cd [path]

设置新的工作目录

ddir

遍历目录

ddel [path]

删除文件或目录

ld [path]

加载库文件,调用extension导出函数

attach [path]

加载库文件

detach [path]

卸载库文件

procspawn [path]

创建子进程

proclist

获取进程列表

prockill [pid]/[process name]

关闭进程

diskinfo

获取磁盘信息

download [path]

从远程下载文件,保存为参数指定的路径

upload [path]

上传指定文件或目录

screenupload

上传屏幕截图

screenauto [interval]

定期屏幕截图上传

turn on

增加指令循环频率,2.5秒一次

turn off

降低指令循环频率,5分钟一次

其它

cmd /c [command]

Backdoor载荷内部硬编码版本字符串,版本变化可能指示程序配置的改变。

编译时间

版本字符串

2017年

none

2020.2

v0.2

2020.10

v0.4

2021.6-8

v1.0

2018.4-2022.1

v1.1

2021.11-2022.2

v3.0

2022.1

v3.0.1

2023.5

v3.1.3

2023.7-9

v3.1.4

2023.9-2024.7

v3.1.6

2024.7-9

v3.1.7

5. Plugin  

Plugin载荷捕获的数量较少,从文件类型来看主要有两类:powershell和pe文件,从功能来看主要有键盘记录,文件收集和屏幕截图。

二、特征

1. 异或  

整个载荷框架中使用了多种多样的异或解密算法,其中包括解密字符串使用的异或位、异或3、异或3减1、异或索引长度、异或2减1和解密文件使用的异或key。

异或位是一种早期(2017年)使用的字符串解密算法。解密算法的Python实现如下图。

异或3、异或索引长度、异或2减1、异或3减1,这些解密算法相继出现,分布在载荷的各个阶段。解密算法的Python实现如下图。

2. 自定义base64编码  

这种解密算法是base64的一种变种,解密时先进行一层异或3的解密再使用Base64解码。这种算法多用于载荷解密和回传信息加密,随着Observer中的crypt86.dat载荷在2022年底出现的。解密算法的Python实现如下图。

3. BMP

框架中的多个载荷在下载文件时使用了BMP文件。这种方式能够规避一些杀软的检测逻辑,降低被拦截的风险,提高下载成功率。我们分析了这种载荷的格式,如下图所示。

从这种文件中提取载荷可以利用下面的Python代码实现。

4. 标准加解密算法  

这类标准解密算法包括RC4和AES,多用于回传信息加密和下载载荷解密。这类载荷在中前期(2024年前)的使用比较多。

5. 解密算法的时间分布  

各种解密算法在载荷中随时间的分布如下图所示。时间信息主要取自于pe文件的编译时间。


总结

前文提到的五类载荷囊括了攻击者在整个攻击流程中部署的载荷。这些载荷实现了信息探测,持久化驻留,远程控制等功能,帮助攻击者完成数据渗出,权限拓展等任务。伴随着攻击活动的持续进行,我们可以看到载荷的“版本”和功能也在更新。



团队介绍

TEAM INTRODUCTION
360高级威胁研究院
360高级威胁研究院是360数字安全集团的核心能力支持部门,由360资深安全专家组成,专注于高级威胁的发现、防御、处置和研究,曾在全球范围内率先捕获双杀、双星、噩梦公式等多起业界知名的0day在野攻击,独家披露多个国家级APT组织的高级行动,赢得业内外的广泛认可,为360保障国家网络安全提供有力支撑。

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

APT-C-60 攻击载荷 恶意软件 网络安全 APT组织
相关文章