卡巴斯基本周披露了一套被其称为「高度复杂感染链」的攻击活动,目标锁定亚洲政府机构专用的 Windows 10 定制版本,最终投放一个此前未被记录的 .NET 程序集加载框架,代号 NetamLoader。样本在 2026 年上半年被发现,目前仅确认一例受害者,攻击者的投递方式仍然未知。
事件概述:样本藏在系统更新缓存目录
恶意工件被打包在一个 Windows CAB 压缩包里,放置路径为 C:\Windows\SoftwareDistribution\Download\e4537a1762fcafd2fd96bfc825bad34f9db9a24,这正是系统存放 Windows 更新包的位置;包内内容被解压释放到同级的 Install\ 目录。把载荷放在这里,等于让它看起来像一次正常的补丁分发。
压缩包内共 7 个文件,其中 4 个是端点管理软件 Patch My PC 的正规组件:
- fabric.config
- Microsoft.HostIntegration.Connectors.dll
- PatchMyPC-Enum.dll
- PatchMyPC-Models.dll
- PatchMyPC-ScriptRunner.exe
- PatchMyPC-ScriptRunner.exe.config
- Resources.resx
除 Resources.resx 之外,其余文件本身都不含恶意代码——这也是它能躲过静态查杀的原因:真正的内容被藏在一个看似无害的资源文件里。
技术细节:两层加载、九个组件
整个链条分两个阶段。第一阶段,执行 PatchMyPC-ScriptRunner.exe,它滥用 AppDomainManager 注入去解析同目录的 PatchMyPC-ScriptRunner.exe.config,从而加载 Microsoft.HostIntegration.Connectors.dll。AppDomainManager 注入针对的是 .NET Framework 的应用域初始化过程,效果等同于 DLL 侧加载:让恶意代码跑在合法进程里,降低被发现的概率。
被加载的 DLL 读取同目录的 fabric.config,再据此加载 Resources.resx。后者包含多层编码、压缩或加密的载荷,包括 XAML 文件、.NET 程序集与 JSON 数据:
- XAML-1:XAML-2 的加载器。
- XAML-2:加载两个压缩并 Base64 编码的 XAML-2-1、XAML-2-2,启动第二阶段。
- XAML-2-1:用于绕过 AMSI(反恶意软件扫描接口)。
- XAML-2-2:包含 .NET 1 Loader 模块与 JSON-1 数据。
- JSON-1-c:C2 服务器配置;JSON-1-p:Base64 编码的 .NET 2 Plugin 与用于构造 XAML-3 的加密模板。
- XAML-3:在 dllhost.exe 中运行,解密、解压并加载 .NET 2 Plugin。
最后一步的 .NET 2 Plugin 会读取 C2 配置、从注册表收集系统信息、校验当前宿主进程是否为 dllhost.exe,然后等待 20 至 40 分钟的随机抖动,才向 C2(openaigpt4v[.]com)发出第一个请求。此后进入轮询:收到有效响应就等 5 至 6 分钟再请求,否则休眠 22 至 28 小时,期间每 10 分钟检查一次时间是否到点。
收尾动作很干净:.NET 1 Loader 会删除从 CAB 包释放的恶意文件,同时清掉 CLR 使用日志和 Windows Prefetch 缓存,减少本地痕迹。
影响评估
- 目标特殊:受害主机运行的是仅面向政府机构分发的 Windows 10 定制版本,说明攻击者事前做过环境识别,不是广撒网。
- 疑似供应链入口:卡巴斯基判断可能是攻击者先拿下一个可信第三方供应商,再借其软件分发渠道触达下游。由于压缩包里混用了 Patch My PC 的正版组件,这条路径的可信度较高,但投递方式尚未确认。
- 归因空白:没有归属到任何已知组织,也无法确认是否影响到不止一台主机、是否窃取了敏感数据。
- 检测难点:文件名、路径、进程都合法,能对上的只有资源文件与配置文件的异常组合。
修复建议
- 把
C:\Windows\SoftwareDistribution\Download与Install目录纳入完整性监控:出现非补丁周期写入的 CAB 包,或目录里出现 .exe/.config/.resx 组合,应立即隔离取证。 - 对 AppDomainManager 注入做专项检测:进程创建事件里,.NET 应用的配置文件出现
appDomainManagerAssembly或appDomainManagerType字段,且指向非厂商目录,应按高危处置。 - 封禁
openaigpt4v[.]com的出站访问,并在 DNS 与代理日志中回溯历史解析记录。域名伪装成 AI 服务,很容易被白名单放过。 - 对 dllhost.exe 的异常网络行为加监控:这个进程正常情况下不应该主动外连陌生域名,更不应该按小时级周期轮询。
- 端点管理软件(含 Patch My PC)的分发包应做签名与哈希双校验,并把「组件来自正版、但组合方式不对」作为独立检测规则。