一、概述
蔓灵花组织(Bitter)在2024至2025年间持续加强其攻击武器库建设。观成安全研究团队跟踪发现,该组织在维持wmRAT等传统工具使用的同时,持续推进技术层面的更新迭代:一方面对现有工具进行加密密钥调整,如最新捕获的wmRAT样本已将通信密钥更新为0x15;另一方面引入多款新型工具,包括Kiwi 2.0窃密木马、MiyaRAT、Geoshell、gmRAT,以及使用TLS协议通信的Shadow RAT与其变种INET RAT。这些变化反映出其通信隐蔽性得到进一步提升。下文将对这些武器的技术特性展开详细分析。
二、攻击武器汇总
此次,我们梳理了蔓灵花组织在2024至2025年活跃的主要攻击武器。下表汇总了每款武器的一个代表性样本及其关键指标,为后续技术分析提供支持。
表 1 蔓灵花组织新型攻击武器汇总
|
序号 |
武器名称 |
C2 |
端口 |
通信协议 |
样本hash |
样本时间 |
|
1 |
Kiwi 2.0窃密木马 |
ebeninstallsvc.com |
80 |
HTTP |
4b62fc86273cdc424125a34d6142162000ab8b97190bf6af428d3599e4f4c175 |
2024/11/01 |
|
2 |
MiyaRAT (旧) |
samsnewlooker.com |
56172 |
TCP |
df5c0d787de9cc7dceeec3e34575220d831b5c8aeef2209bcd81f58c8b3c08ed |
2024/09/20 |
|
3 |
MiyaRAT (新) |
northernbarnhouse.com |
50699 |
TCP |
ee7f1f30efe299c0ea6fcb2201e76685bb6106e0d780bc590f24a2b1ded99c4a |
2025/03/06 |
|
4 |
Geoshell |
193.29.56.86 |
8649 |
HTTP+TCP |
ac44b8ecb06055744c9478e2ae2ba66fd52cf0c8ecb8411cc4d0ddd73d0a537c |
2025/03/13 |
|
5 |
gmRAT |
pololiberty.com |
56218 |
TCP |
a850a903b74c1d3d21c41e03761e8e64b43962269e7649940b10368a005bce20 |
2025/05/23 |
|
6 |
Shadow RAT |
skyfare.site |
5679 |
TLS |
90c9e0ee1d74b596a0acf1e04b41c2c5f15d16b2acd39d3dc8f90b071888ac99 |
2025/01/27 |
|
7 |
INET RAT(Shadow RAT变种) |
skyfare.site |
5679 |
TLS |
2bdd086a5fce1f32ea41be86febfb4be7782c997cfcb028d2f58fee5dd4b0f8a |
2025/05/28 |
三、攻击武器通信详细分析
3.1Kiwi 2.0窃密木马
3.1.1通信机制
Kiwi 2.0窃密木马使用HTTP协议与C2服务器(ebeninstallsvc.com:80)进行通信,所有通信数据均为明文形式传输。
3.1.2上线包数据
该样本在建立通信后,会将窃取到的文件数据通过硬编码的URL"uplh4ppy.php"发送至C2服务器,其请求参数 mn 的格式为“主机名_用户名”。作为专门的文件窃密工具,该木马在数据收集阶段会根据文件类型、名称、大小和修改时间进行筛选:收集包括z7、.txt、.doc、.docx、.xls等二十余种指定后缀的文件,同时排除文件名以特定字符开头、大小超过50MB或修改时间超过一年的文档。这套机制能确保其从海量文件中快速窃取高价值数据。

图 1 Kiwi2.0流量数据
3.1MiyaRAT(两个版本)
3.2.1通信机制
MiyaRAT目前捕获到两个版本,均使用TCP协议进行通信。其主要区别在于通信加密方式:旧版直接明文传输,隐蔽性差;新版则升级为使用固定密钥0x4c的XOR加密,有效提升了流量隐蔽性。
3.2.2上线包数据
新旧版本样本在上线包数据结构上基本一致,均会采集磁盘信息、机器名、用户名、木马文件路径、%USERPROFILE%环境变量及系统版本等关键信息,并统一使用管道符“|”进行字段拼接。新版本的主要改动是在数据末尾新增了“1.0”作为自身的版本标识,具体格式见下图。

图 2 旧版本MiyaRAT上线包数据

图 3 新版本MiyaRAT上线包数据
解密后的上线包数据如下图所示。

图 4 解密的上线包数据
3.2.3控制指令
新旧版本样本的控制指令在核心功能上基本保持一致,主要区别在于执行方式:旧版本指令无需参数即可执行,而新版本则必须在指令后追加特定参数。以截图功能为例,旧版本可直接触发截图操作,新版本则需在指令后补充分辨率参数(如高度值1080)。类似的,在执行递归枚举指定目录文件信息的指令时,新旧版本样本虽功能相同,但通信标识符有所不同,旧版本使用“@@GFS”作为单一标识,而新版本则使用“@@G$$=”作为数据起始标识、以“=@@G$$”作为结束标识。

图 5 旧版本MiyaRAT截图控制指令

图 6 新版本MiyaRAT截图控制指令
从控制指令对比表中可见,新版本主要呈现两处变化:一是指令格式更为复杂,普遍加入特殊字符;二是功能层面有所扩展,新增了创建PowerShell进程和控制命令执行的特殊管道指令。
表 2 新旧版本控制指令对比
|
旧版本指令 |
新版本指令 |
功能 |
|
GDIR |
G%81 |
回传指定目录信息 |
|
DELz |
D*j$ |
删除指定文件 |
|
GFS |
G&^ |
递归枚举指定目录的所有文件信息 |
|
SH1cmd |
S&*st_c |
创建cmd进程并开启管道等候命令 |
|
SH1, SH2 |
S&* |
传递命令到管道并执行 |
|
SFS |
S%$ |
上传、下载文件 |
|
GSS |
G%$ |
截屏 |
|
SH1exit_client |
S&*exit_ |
退出木马进程 |
|
无 |
S&*st_p |
创建powershell进程并开启管道等候命令 |
|
无 |
S&( |
传递命令到管道并执行(该指令在程序运行过程中只能使用一次) |
3.3Geoshell
3.3.1通信机制
Geoshell样本的第二阶段通信数据使用“AES-CBC-256+默认Base64编码”进行加密,其完整的加密参数为:IV“3e ab 5a 8b ce af e6 aa d9 46 3d c2 6b ab 5c 22”,KEY“c7 85 9d fc 8d 95 81 30 35 11 2d ad 01 23 2d b9 8d fe b9 1f bf 89 ad a1 0d b6 98 a1 69 76 e7 94”。该加密机制有效增强了通信的隐蔽性。
3.3.2上线包数据
Geoshell样本采用两阶段通信机制建立C2连接。
- 第一阶段:C2地址获取
样本首先向硬编码的URL http://158.255.215.45:8899/nina/anotherLife?credPart=xrmnms43Z6&dumbPart=3.2.3.6 发起HTTP请求。服务器响应数据中的 RequestId 字段值即为经过 Base64 编码的真实 C2 地址,解码后可直接获得C2地址 193.29.56.86:8649。

图 7 Geoshell第一阶段通信流量
- 第二阶段:连接建立与维持
样本使用正则表达式 "^(.)N(.)$" 对解码得到的地址进行格式校验。验证通过后,随即与C2服务器建立TCP连接,并发送固定格式的上线包数据 "xrmnms43Z6:计算机名/用户名"。连接成功后,样本以10至13秒的间隔与服务器保持心跳通信,从而实现持久化驻留,该样本无控制指令功能部分。

图 8 Geoshell第二阶段通信流量

图 9 解密的上线包数据
3.4gmRAT
3.4.1通信机制
gmRAT使用TCP协议进行通信,其传输数据通过XOR算法进行加密,使用的固定密钥为0x50。

图 10 gmRAT通信加密算法
3.4.2上线包数据
样本在成功建立TCP连接后,会构建一个格式固定的上线数据包。该数据包采用分号分隔各字段,基本结构为:“username=用户名;hostname=主机名;ePath=执行路径;\r\n”。其同类变种通常会进一步扩展信息收集范围,在基础字段之外,额外添加如OS版本、isAdm、vid等系统环境参数。

图 11 gmRAT上线包数据

图 12 解密的上线包数据
3.4.3控制指令
该样本对所有控制指令及回传数据均进行XOR加密,并规定在每个密文数据包的末尾必须追加 0x0a 字节作为结束标识。服务端严格校验此标识,若缺失则不予响应。下图详见 pwd 指令示例。

图 13 gmRAT控制指令

图 14 解密的控制指令
下表为gmRAT控制指令功能表。
表 3 gmRAT控制指令表
|
指令代码 |
功能 |
|
pwd |
获取工作目录 |
|
cd |
进入指定目录 |
|
dir |
获取目录信息 |
|
cp |
复制文件 |
|
rm |
删除文件 |
|
mv |
移动文件 |
|
run_process |
创建进程 |
|
uploadfol |
上传文件目录信息 |
|
upload |
上传 |
|
cont_upload |
继续上传 |
|
CNL_UP |
取消上传 |
|
StartTransmit |
开始传输 |
|
download |
下载 |
|
kill_process |
结束进程 |
|
shell |
以cmd执行命令 |
|
pshell |
以powershell执行命令 |
|
list_drives |
列举磁盘 |
|
client_ver |
客户端版本 |
|
reg_query |
疑似查询注册表(暂未上线) |
|
reg_add |
疑似写入注册表(暂未上线) |
|
screenshot |
截图 |
3.5Shadow RAT+INET RAT
3.5.1上线包数据
ShadowRAT与INETRAT两款木马均使用TLS协议进行通信,且C2配置均从本地加密文件中获取。两者的上线行为区别在于:前者会向search:主机名\用户名发送通过管道获取的cmd.exe默认提示信息的上线包;而INETRAT仅向"/search:主机名_用户名"地址发起空请求,不包含任何请求体内容。如下图所示。

图 15 ShadowRAT流量

图 16 解密后的ShadowRAT上线包数据

图 17 解密后的INET RAT上线包数据
3.5.2控制指令
ShadowRAT功能较为单一,仅提供休眠指令,包括以分钟为单位的sleep/nextsleep和以秒为单位的window/windowsleep。相比之下,INETRAT在完全保留这些指令的基础上,实现了关键的能力升级——新增了反向Shell功能。攻击者借此可远程执行任意CMD命令,结果通过POST请求实时回传,并使用Exit指令终止会话。此功能使INETRAT具备了实时交互与控制能力,在功能上比前者有所改进。详细指令对比见下表。
表 4 控制指令对比
|
Shadow RAT指令 |
INET RAT指令 |
功能 |
|
sleep x |
sleep x |
休眠时间为x分钟 |
|
nextsleep x |
nextsleep x |
休眠时间为x分钟 |
|
window x |
window x |
休眠时间为固定5秒钟 |
|
windowsleep x |
windowsleep x |
固定休眠时间x秒钟 |
|
无 |
其他内容为shell命令 |
执行cmd命令 |
|
无 |
Exit |
退出shell |
四、检测
观成瞰云(ENS)-加密威胁智能检测系统能够对该组织近两年来活跃攻击武器的加密通信进行检出,以MiyaRAT为例,检测结果见下图。

图 18 观成瞰云(ENS)-加密威胁智能检测系统检测结果
五、总结
通过对蔓灵花组织2024-2025年度使用的主要攻击武器进行综合分析,可以看出该组织在保持原有攻击模式的基础上,对武器库进行了一些有限的技术调整:在加密方式上,大部分工具仍采用XOR等简单运算,仅少部分样本开始尝试更复杂的加密算法;在通信协议方面,在继续使用TCP/HTTP的基础上,进一步扩充了采用TLS加密通信的武器类型。这些渐进式的技术调整虽未带来根本性突破,但仍在一定程度上增加了流量分析的难度。观成安全研究团队将继续依托长期积累的加密流量分析经验,跟踪该组织的技术发展动向,及时完善检测方案,为应对相关威胁提供有效支持。

被折叠的 条评论
为什么被折叠?



