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)

攻击技术实现条件

三个关键技术前提

  1. 预先计算扩展程序ID:攻击者需要提前计算目标扩展的ID
  2. 生成有效的消息认证码(MAC):需要为扩展条目和developer_mode标志生成有效的MAC
  3. 绕过企业策略控制:需要规避企业环境中的组策略限制

完整性检查机制

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
  • 本地管理员可以删除或修改注册表项
  • 完全移除白名单或黑名单以规避策略执行

攻击影响分析

成功利用此漏洞的攻击者可以:

  1. 部署能够拦截网络流量的恶意扩展
  2. 窃取用户会话cookie和身份验证凭据
  3. 在后台执行服务工作线程
  4. 向目标网页注入内容脚本
  5. 执行任意JavaScript代码
  6. 破坏应用绑定加密等保护措施

概念验证(PoC)工具包特性

  • 基于SMB的远程部署能力
  • 自定义C2服务器通信
  • 在浏览器进程中执行JavaScript
  • 企业范围内数据外泄
  • 横向移动的隐蔽持久化途径

防御建议

检测与防护措施

  1. 文件监控:监控偏好设置文件的未授权更改

    • %AppData%\Google\User Data\Default\Preferences
    • Secure Preferences
  2. 注册表完整性验证:定期检查注册表策略的完整性

    • HKCU\Software\Policies\Google\Chrome
  3. 异常扩展检测:实施异常扩展程序注册检测机制

    • 监控非商店安装的扩展
    • 检查扩展签名验证
  4. 策略执行监控:确保组策略正确应用和执行

企业环境强化建议

  1. 实施最小权限原则,限制本地管理员权限
  2. 定期审计扩展程序清单
  3. 使用应用白名单解决方案
  4. 加强端点检测与响应(EDR)能力
  5. 实施网络分段,限制横向移动

技术总结

此漏洞利用Chromium扩展管理机制的多个弱点:

  • 依赖客户端存储的偏好设置文件
  • 使用可逆向的HMAC实现进行完整性检查
  • 策略实施可被本地权限绕过

无相应检测机制时,"幽灵扩展程序"可成为极难发现的持久化机制,对企业安全构成严重威胁。

参考来源

  • Synacktiv研究:Hackers Can Compromise Chromium Browsers in Windows by Loading Arbitrary Extensions
  • Chromium内核浏览器安全分析

本文档基于公开技术信息编写,仅供安全研究和防御参考。在实际环境中应用任何安全措施前,请进行充分测试和评估。

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\Preferences Secure Preferences 注册表完整性验证 :定期检查注册表策略的完整性 HKCU\Software\Policies\Google\Chrome 异常扩展检测 :实施异常扩展程序注册检测机制 监控非商店安装的扩展 检查扩展签名验证 策略执行监控 :确保组策略正确应用和执行 企业环境强化建议 实施最小权限原则,限制本地管理员权限 定期审计扩展程序清单 使用应用白名单解决方案 加强端点检测与响应(EDR)能力 实施网络分段,限制横向移动 技术总结 此漏洞利用Chromium扩展管理机制的多个弱点: 依赖客户端存储的偏好设置文件 使用可逆向的HMAC实现进行完整性检查 策略实施可被本地权限绕过 无相应检测机制时,"幽灵扩展程序"可成为极难发现的持久化机制,对企业安全构成严重威胁。 参考来源 Synacktiv研究:Hackers Can Compromise Chromium Browsers in Windows by Loading Arbitrary Extensions Chromium内核浏览器安全分析 本文档基于公开技术信息编写,仅供安全研究和防御参考。在实际环境中应用任何安全措施前,请进行充分测试和评估。