VoidStealer无需注入或权限提升即可窃取Chrome密钥

admin 2026-03-26 13:37:50 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档介绍恶意软件VoidStealer新变种,该变种利用基于调试器的技术绕过Chrome应用程序绑定加密ABE以窃取密钥。其核心创新在于无需注入代码或提升权限,而是通过将浏览器作为调试对象附加,利用硬件断点在Chrome解密v20_master_key的瞬间从寄存器中提取明文密钥,进而离线解密Cookie和凭据。此方法规避了传统注入或SYSTEM权限操作引发的EDR检测噪声,具有极高隐蔽性。 综合评分: 86 文章分类: 恶意软件,逆向分析,威胁情报,终端安全


cover_image

VoidStealer 无需注入或权限提升即可窃取 Chrome 密钥

原创

网络安全9527 网络安全9527

安全圈的那点事儿

2026年3月23日 19:21 北京

MaaS 信息窃取程序 VoidStealer 的一个新变种已成为第一个在野外发现的恶意软件,它利用基于调试器的绕过 Google Chrome 应用程序绑定加密 (ABE) 的漏洞,使用硬件断点直接从浏览器内存中窃取 Chrome 的 v20_master_key。

与以往的 ABE 绕过方法不同,这种方法既不需要系统级权限提升,也不需要向浏览器进程注入代码,从而大大减少了检测的可能性,同时仍然允许攻击者完全访问受 ABE 保护的 cookie 和凭据。

ABE 将 cookie 等秘密信息以及某些配置中的密码存储为 v20 前缀值,并使用每个应用程序的 AES-GCM 密钥(通常称为 v20_master_key)进行加密,该密钥本身使用 NT AUTHORITY\SYSTEM 下的 CryptProtectData 进行保护,并在 Chrome 调用 IElevator::Decrypt 时通过Google Chrome Elevation Service进行解密。

传统的信息窃取者已经开发出多种绕过方法,包括以 SYSTEM 权限运行并复制服务逻辑,或者注入浏览器以从 Chrome 上下文内部通过 COM 调用 IElevator::DecryptData。然而,这两种方法在 EDR 遥测数据中都会产生相对较大的噪声。

Google于 2024 年 7 月在 Chrome 127 中引入了 ABE,通过将解密与 Chrome 的身份和特权提升服务绑定,使 cookie 和其他秘密窃取尝试更容易被发现。

VoidStealer 遵循这一模式,实现了“经典的”基于 COM 的 IElevator::DecryptData 注入技术作为备选方案。

然而,v2.0 的突出特点是调试器驱动的方法,该方法通过在正常 ABE 解密期间主密钥以明文形式存在的短暂瞬间窃取主密钥,从而绕过了 SYSTEM 和注入要求。

这使得新的绕过方法对那些想要规避以权限提升、进程空心化和远程线程注入浏览器为重点的行为检测的威胁行为者来说尤其具有吸引力。

基于调试器的 v20_master_key

这项新技术几乎直接复制自 Meckazin 的开源 ElevationKatz 项目,其关键在于将 Chrome 或 Edge 浏览器作为调试器进行连接,并利用硬件断点在 Chrome 解密 v20_master_key 以处理 ABE 保护的数据时拦截该密钥。

VoidStealer v2.0 首先使用 SW_HIDE 和 CREATE_SUSPENDED 通过 CreateProcessW 生成一个隐藏的浏览器实例,然后快速恢复它,并通过 DebugActiveProcess 将其附加为调试器,利用浏览器通常在启动期间加载和解密 cookie 的事实。

一旦附加,VoidStealer 会等待 LOAD_DLL_DEBUG_EVENT 通知,识别 chrome.dll 或 msedge.dll,并使用 ReadProcessMemory 扫描模块的 .rdata 部分,以找到 OSCrypt.AppBoundProvider.Decrypt.ResultCode 字符串,该字符串是 Chromium 在 ABE 解密路径中调用 os_crypt::DecryptAppBoundString 之后立即放置的。

然后,它扫描 .text 段,查找 LEA 指令(48 8D 0D …),这些指令的计算位移解析为该字符串,从而产生一个精确的指令地址,当 v20_master_key 以明文形式驻留时,该指令将被执行。

VoidStealer 使用 NtGetNextThread 和 SetThreadContext 在所有现有和新创建的浏览器线程的该地址处配置硬件断点 (DR0/DR7),从而避免了软件断点所需的任何浏览器内存修补。

当浏览器在启动期间遇到此断点时,当前版本的 Chrome 和 Edge 会在 R15(Chrome)或 R14(Edge)中放置指向 v20_master_key 的指针,从而允许 VoidStealer 跟踪寄存器值并使用一对 ReadProcessMemory 调用提取密钥,而无需在受害者进程中使用任何 CryptUnprotectData 或 CryptUnprotectMemory。

一旦获取了 v20_master_key,信息窃取者就可以从浏览器 SQLite 数据库中离线解密任何以 v20 为前缀的受 ABE 保护的 cookie 和凭据,从而有效地使该配置文件的 ABE 保护失效。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全圈的那点事儿 网络安全9527 网络安全9527《VoidStealer 无需注入或权限提升即可窃取 Chrome 密钥》

评论:0   参与:  0