Chromium内核浏览器存严重缺陷,攻击者可通过加载任意扩展程序入侵
字数 1866 2025-10-01 14:05:52
Chromium内核浏览器扩展程序安全漏洞技术分析
概述
Chromium内核浏览器(包括Chrome、Edge、Brave等)存在一个严重安全缺陷,攻击者可通过直接修改浏览器偏好设置文件,在未经用户同意或Chrome应用商店参与的情况下,强制浏览器加载任意扩展程序。
技术背景
扩展管理机制
Chromium浏览器通过以下JSON文件管理已安装的扩展程序:
- 域加入机器:
%AppData%\Google\User Data\Default\Preferences - 独立系统:
Secure Preferences
扩展ID生成机制
扩展ID通过SHA-256哈希算法生成:
- 从扩展的公钥或安装路径生成32位十六进制字符
- 映射到自定义字母表(a-p)
- 具有确定性特征(相同输入始终产生相同ID)
攻击技术实现条件
三个关键技术前提
- 预先计算扩展程序ID:攻击者需要提前计算目标扩展的ID
- 生成有效的消息认证码(MAC):需要为扩展条目和
developer_mode标志生成有效的MAC - 绕过企业策略控制:需要规避企业环境中的组策略限制
完整性检查机制
Chromium使用HMAC算法进行完整性检查:
- 使用从
resources.pak(特别是资源文件146)中提取的静态值作为种子 - 对关键JSON密钥进行签名验证
- 攻击者通过逆向此HMAC算法,为以下关键字段计算有效MAC:
extensions.settings.<crx_id>extensions.developer_mode
绕过Chrome扩展GPO控制的方法
企业环境通常通过组策略对象(GPO)管理扩展程序,使用以下策略:
ExtensionInstallAllowlist(扩展安装白名单)ExtensionInstallBlocklist(扩展安装黑名单)
三种高级规避方法
1. 公钥复用攻击
- 重用企业批准的扩展程序(如Adobe Acrobat Reader for Chrome)的RSA公钥
- 生成匹配的扩展ID
- 在该ID下注入恶意解压扩展程序
- 绕过基于哈希的白名单验证
2. 扩展程序覆盖
- 当解压扩展程序和商店安装的扩展程序共享相同ID时
- Chromium优先选择解压版本
- 攻击者可隐蔽地覆盖可信插件
3. 注册表策略篡改
- Windows按照LSDOU顺序应用策略
- Chrome策略位于:
HKCU\Software\Policies\Google\Chrome - 本地管理员可以删除或修改注册表项
- 完全移除白名单或黑名单以规避策略执行
攻击影响分析
成功利用此漏洞的攻击者可以:
- 部署能够拦截网络流量的恶意扩展
- 窃取用户会话cookie和身份验证凭据
- 在后台执行服务工作线程
- 向目标网页注入内容脚本
- 执行任意JavaScript代码
- 破坏应用绑定加密等保护措施
概念验证(PoC)工具包特性
- 基于SMB的远程部署能力
- 自定义C2服务器通信
- 在浏览器进程中执行JavaScript
- 企业范围内数据外泄
- 横向移动的隐蔽持久化途径
防御建议
检测与防护措施
-
文件监控:监控偏好设置文件的未授权更改
%AppData%\Google\User Data\Default\PreferencesSecure Preferences
-
注册表完整性验证:定期检查注册表策略的完整性
HKCU\Software\Policies\Google\Chrome
-
异常扩展检测:实施异常扩展程序注册检测机制
- 监控非商店安装的扩展
- 检查扩展签名验证
-
策略执行监控:确保组策略正确应用和执行
企业环境强化建议
- 实施最小权限原则,限制本地管理员权限
- 定期审计扩展程序清单
- 使用应用白名单解决方案
- 加强端点检测与响应(EDR)能力
- 实施网络分段,限制横向移动
技术总结
此漏洞利用Chromium扩展管理机制的多个弱点:
- 依赖客户端存储的偏好设置文件
- 使用可逆向的HMAC实现进行完整性检查
- 策略实施可被本地权限绕过
无相应检测机制时,"幽灵扩展程序"可成为极难发现的持久化机制,对企业安全构成严重威胁。
参考来源
- Synacktiv研究:Hackers Can Compromise Chromium Browsers in Windows by Loading Arbitrary Extensions
- Chromium内核浏览器安全分析
本文档基于公开技术信息编写,仅供安全研究和防御参考。在实际环境中应用任何安全措施前,请进行充分测试和评估。