信息来源:Kaspersky discovers C++ version of BellaCiao malware | Securelist (2024年12月20日)

一、事件概述:从 .NET 到 C++,Charming Kitten 的技术升级

在高级持续性威胁(APT)的世界中,攻击者不仅追求隐蔽性,也在不断演进其开发技术栈。卡巴斯基近期发现,伊朗背景的著名 APT 组织 Charming Kitten(又名 APT35、Phosphorus、TA453)正在将其标志性的后门工具 BellaCiao 从 .NET 平台迁移到 C++,并推出了一个名为 BellaCPP 的新变种。

这一转变标志着 Charming Kitten 正在构建一个更隐蔽、更难检测、更持久的远程控制框架。与传统的 .NET 恶意软件相比,C++ 编写的 BellaCPP 能更好地规避内存扫描、减少运行时依赖,并更深度地集成到操作系统中。

更关键的是,BellaCPP 的发现表明:攻击者正在用“未知样本”替换“已知样本”,以在清除旧威胁后仍能保留在网络中。


二、发现过程:同一台机器上的“双生恶意软件”

BellaCPP 的发现源于一次对亚洲某机构的入侵调查。

  • 安全研究人员首先发现了一例典型的 .NET 版 BellaCiao 恶意软件(MD5: 14f6c034af7322156e62a6c961106a8c);
  • 但进一步排查时,卡巴斯基的遥测系统在同一台机器上检测到另一个可疑样本;
  • 经分析,该样本是一个名为 adhapl.dll 的 DLL 文件,后被命名为 BellaCPP(SHA256: e4e3f09c4257269cef6cfbebc83c8a60376ce5e547080502e3e408a3f9916218)。

📌 关键警示
即使清除了已知的 BellaCiao 样本,攻击者仍可能通过 BellaCPP 等“新型”后门维持对系统的控制。这凸显了彻底排查与纵深防御的重要性。


三、BellaCPP 技术分析:C++ 实现的隐蔽服务

1. 基本信息

  • 文件名adhapl.dll
  • 路径C:\Windows\System32\
  • 类型:PE32+ DLL(x86-64),可作为 Windows 服务运行
  • 导出函数ServiceMain —— 表明其设计为系统服务组件

🔍 将恶意 DLL 部署在 System32 目录并注册为服务,是典型的持久化驻留手法。


2. 核心执行流程

BellaCPP 的执行逻辑高度结构化,与 .NET 版 BellaCiao 保持一致,但实现更为底层:

  1. 解密三个关键字符串(使用 XOR 密钥 0x7B):
    • C:\Windows\System32\D3D12_1core.dll
    • SecurityUpdate
    • CheckDNSRecords
  2. 动态加载外部 DLL
    • 尝试加载 D3D12_1core.dll(一个不存在的文件);
    • 若加载成功,则调用 SecurityUpdate 函数;
    • 卡巴斯基推测:该 DLL 可能是一个缺失的载荷,用于创建 SSH 隧道。
  3. 域名生成算法(DGA)
    • 使用与 BellaCiao 相同的模式生成 C2 域名:11<5个随机字母><目标标识符>.<国家代码>.systemupdate[.]info
    • 例如:1abcde12345.ir.systemupdate.info
    • 通过 DNS 请求获取 C2 IP,若返回特定 IP,则触发后续操作。
  4. 创建 SSH 隧道
    • 若 DNS 响应匹配预设值,BellaCPP 将创建一个 SSH 隧道;
    • 将本地端口 49450 映射到攻击者控制的服务器;
    • 实现反向连接,绕过防火墙限制。

🔍 技术亮点
BellaCPP 本身不包含 SSH 功能,而是通过加载外部模块实现,这种“分阶段加载”策略极大降低了 IOC 暴露风险。


四、BellaCiao 的演进:从 .NET 到 C++ 的战略转型

1. BellaCiao 的历史与特点

BellaCiao 最早于 2023 年 4 月出现,是一个基于 .NET 的后门,具备以下能力:

  • 创建隐蔽的 WebShell;
  • 建立反向 SSH 隧道;
  • 实现持久化远程访问。

其最大特点是:PDB 路径包含丰富信息,如:

  • \MicrosoftAgentServices\
  • \MicrosoftAgentServices2\
  • \MicrosoftAgentServices3\

这些路径不仅暴露了开发者的命名习惯,还暗示了版本迭代过程,为安全研究人员提供了宝贵的归因线索。


2. 为何转向 C++?

卡巴斯基分析认为,Charming Kitten 推出 BellaCPP 的主要原因包括:

优势说明
规避检测.NET 程序易被内存扫描和反编译,C++ 更难分析
减少依赖不依赖 .NET Framework,可在更多系统上运行
提升隐蔽性可作为系统服务运行,行为更接近正常组件
支持模块化支持动态加载外部 DLL,实现功能扩展

📌 战术意图
从“易被发现的 .NET 后门”转向“更接近系统底层的 C++ 组件”,实现长期潜伏。


五、归因分析:为何指向 Charming Kitten?

尽管 BellaCPP 是一个新样本,但多项证据强烈指向其与 Charming Kitten 的关联:

证据分析
共存于同一主机与已知的 BellaCiao 样本同时存在
C2 域名模式一致使用systemupdate[.]info及相同的 DGA 算法
行为逻辑相同域名生成、SSH 隧道、端口暴露等行为完全一致
开发风格延续PDB 路径命名习惯(如MicrosoftAgentServices)被继承

卡巴斯基评估:中高置信度认定 BellaCPP 为 Charming Kitten 所使用。


六、攻击目标与战略意图

✅ 已知受害者:

  • 亚洲某机构(具体国家未公开);
  • 结合 Charming Kitten 的历史活动,目标可能涉及:
    • 政府与外交机构;
    • 学术与研究单位;
    • 人权组织与媒体。

🔍 攻击动机:

  • 长期情报收集:通过 SSH 隧道实现稳定远程访问;
  • 供应链渗透:利用可信域名(如 systemupdate.info)伪装更新服务;
  • 规避追踪:使用 DGA 和动态加载技术,降低被封禁风险。

七、防御难点与技术挑战

❗ BellaCPP 的四大反检测特性:

特性说明
无文件落地(部分)核心功能由外部 DLL 实现,主程序仅负责加载
合法路径部署位于System32,签名可能被滥用或伪造
服务化运行以 SYSTEM 权限运行,难以被普通用户察觉
DGA 域名生成C2 地址动态变化,难以通过黑名单阻断

八、防御建议

✅ 企业应采取的措施:

措施说明
监控 System32 目录的异常 DLL检测非微软签名的 DLL 文件写入
审计 Windows 服务注册查找可疑服务,尤其是以dllhost.exesvchost.exe启动的
启用 DNS 日志分析检测*.systemupdate[.]info类似域名的 DNS 查询
阻止未知 SSH 隧道监控出站 SSH 连接,尤其是映射本地端口的行为
部署 EDR/XDR 解决方案检测ServiceMain导出、DLL 动态加载等异常行为
定期排查“已清除”威胁的残留攻击者可能部署新型后门替代旧样本

✅ 个人用户建议:

  • 不随意下载未知来源的软件;
  • 使用可靠的安全产品;
  • 定期检查系统服务和启动项。

九、趋势洞察:APT 攻击的“跨语言演进”

BellaCPP 的出现,揭示了现代 APT 组织的一个新趋势:

趋势表现
从 .NET 到原生代码更多组织将后门从托管代码迁移到 C/C++
从单一到多阶段主程序仅负责加载,核心功能由外部模块实现
从静态到动态使用 DGA、内存加载、延迟执行等技术规避检测
从“广撒网”到“精控”针对特定目标定制样本,甚至包含用户名路径

这表明,今天的 APT 攻击已不再是“病毒传播”,而是一场“软件工程级别的渗透战”


十、结语

BellaCPP 的发现提醒我们:

最危险的威胁,未必是全新的,而是“旧组织的新面孔”

Charming Kitten 并未放弃其经典的 BellaCiao 框架,而是将其用 C++ 重新实现,使其更隐蔽、更持久、更难清除。这种“换皮不换心”的策略,正是高级威胁的典型特征。

面对这类“持续进化”的对手,我们必须从“查杀已知”转向“监控异常、理解行为、预测演进”的主动防御体系。

唯有如此,才能在这场无声的网络战争中,真正“断其根、绝其后”。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注