Rhadamanthys 0.9.x恶意软件技术更新深度解析

本文详细分析了Rhadamanthys信息窃取恶意软件0.9.x版本的重大更新,包括自定义XS格式变更、配置结构升级、反分析技术增强、模块加载机制改进以及网络通信协议变化等核心技术内容。

Rhadamanthys 0.9.x - 版本更新详解

研究亮点

Rhadamanthys是一款自2022年发布的多模块化信息窃取恶意软件,已被多个攻击组织用于各种攻击活动。最新版本0.9.2带来了可能影响检测的重要更新,并迫使研究人员更新分析工具。

Check Point Research (CPR) 提供了多个脚本来帮助防御者应对这些变化:新版自定义可执行格式转换器、字符串反混淆器和模块包解包器。

引言

随着0.9.x版本的发布,Rhadamanthys引入了破坏我们之前发布工具的变化,包括自定义格式转换器和字符串反混淆器。这清楚地表明该恶意软件家族已达到另一个里程碑更新。

网站改版

Rhadamanthys最初通过网络犯罪论坛帖子推广,但很快作者就有了更雄心勃勃的计划。他们推出了Telegram支持频道、带有详细产品描述的Tor网站,并通过Tox提供通信。最近,网站进行了全面改版,呈现出精致专业的形象。

版本公告:0.9.x

0.9版本于2025年2月发布,随后是0.9.1和0.9.2更新。变更日志包括一长串更新,涉及数据库操作流程重新设计、用户管理权限级别、文件打包优化、TOR地址生成改进、管理登录双因素认证等。

Lumma风格的消息框

更新版本(0.9.2)中第一个突出变化是引入了新的消息框,在恶意软件启动时出现。这与著名的Lumma窃取器使用的消息框相似,但实现方式不同。

自定义XS格式更新

Rhadamanthys一直以自定义格式而非标准PE格式分发其可执行模块。在v0.9.x中,两种格式(XS1和XS2)都收到了更新,我们标记为XS1_B和XS2_B。

XS1_B格式的主要变化是移除了头大小前的WORD字段,该字段过去用于DLL名称反混淆的密钥。反混淆算法已被新算法替代,导入反混淆密钥现在只有1个BYTE长度。

初始检查变更(第二阶段核心)

第二阶段核心在开始执行时进行各种检查,以决定是否继续执行。其中一些检查经过了改进:

SibCode密钥移除

过去版本使用SibCode注册表键来保存最后执行时间戳,现在已完全放弃此功能。

互斥体创建

早期版本基于硬编码值的哈希创建互斥体,现在配置中包含16字节种子值参与互斥体名称生成。

新配置(RH v0.9.x)

主Rhadamanthys模块带有混淆配置,在执行开始时解密和解析。配置包含C2地址、加密密钥和各种功能标志。在0.9.2版本中,魔数0x59485221被0xBEEF替代,配置内容显著扩展。

配置解码涉及多个层次:自定义字符集的Base64解码、ChaCha20解密、CBC XOR洗牌,最后使用LZO算法解压缩。

通过校验和获取模块(第二阶段)

过去模块通过名称或完整路径从包中获取,现在作者转向混淆,通过校验和表示模块。包结构经过重构,模块使用基于XOR的混淆进行保护。

规避模块新增功能

初始包包含多个专门用于规避的模块。其中一个之前命名为"Strategy"的模块现在功能扩展,可以按需加载多个配置片段。

新增检查包括:获取当前壁纸并计算SHA1与Triage沙箱默认壁纸比较、检查沙箱环境中常见的示例文件、检查沙箱典型用户名、检查常见沙箱虚拟接口的MAC地址、检查已知沙箱的硬件ID。

基于卷ID生成的Bot ID

当恶意软件向C2服务器发送信标时,会发送唯一标识受害系统的Bot ID。目前使用两个唯一标识符生成:从注册表检索的机器GUID和通过GetVolumeInformationW API检索的卷序列号。

下一阶段作为PNG

下载和解码Rhadamanthys主阶段(称为第三阶段)由Netclient模块管理。过去两年,恶意软件以隐写方式分发包:作为WAV文件或JPG文件。最新版本0.9.2中,预期类型变为image/png。

可配置的注入目标列表

在过去的版本中,可能的注入目标列表是硬编码的,其中一个选项被随机选择。现在这个列表也从包的新文件中提供,使其易于由分发者修改。

字符串加密变更(第三阶段)

自0.9.x版本起,第三阶段(XS2_B模块)中的字符串加密算法被重写。自定义的基于XOR的算法被RC4替代。

网络通信

一旦核心窃取器模块被下载和部署,它们执行主要操作,并与C2保持通信以上传结果和接收命令。

查询时间服务

在尝试建立与C2的连接之前,样本以随机顺序查询多个时间服务。

URL处理

最新版本中添加的一个有趣细节是配置中的URL会进一步处理。首先生成随机字符串,然后用于部分覆盖配置中的域。

Lua窃取器

自早期版本以来,Rhadamanthys核心窃取器带有内置的Lua运行器,用于运行用这种语言编写的额外窃取器插件。

最新版本(0.9.2)添加了单个Lua扩展( id: 0x23),用于Ledger Live加密货币钱包应用。

其他模块

最新版本中,第三阶段的包丰富了几个模块:chrome_extension.dat、fingerprint.js和index.html。最有趣的是fingerprint.js,它是一个JavaScript,用于收集浏览器指纹信息并导出为JSON。

结论

Rhadamanthys从一开始就显得成熟,其代码库大量借鉴了作者早期的Hidden Bee项目。目前开发速度较慢且更稳定:核心设计保持不变,变化集中在改进上。

最新变体代表的是进化而非革命。分析师应更新配置解析器,监控基于PNG的有效载荷传递,跟踪互斥体和Bot ID格式的变化,并预期在工具跟上后混淆技术的进一步变化。

附录A

第二阶段模块列表

从硬编码包解包的模块,按校验和组织,包括核心模块、shellcode、配置文件和功能模块。

第三阶段模块

从C2下载的模块,包括二进制文件、扩展数据文件和Lua脚本,组织在bin和etc目录结构中。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计