
包括Chrome、Edge和Brave在内的Chromium内核浏览器,通过存储在%AppData%\Google\User Data\Default\Preferences(域加入机器)或Secure Preferences(独立系统)下的JSON偏好设置文件来管理已安装的扩展程序。
Synacktiv研究表明,攻击者通过直接修改这些文件,可以在未经用户同意或Chrome应用商店参与的情况下,使浏览器加载任意扩展程序。
攻击技术实现条件
成功实施攻击需要满足三个技术前提:
- 预先计算扩展程序ID
- 为扩展条目和developer_mode标志生成有效的消息认证码(MACs)
- 绕过企业策略控制
扩展ID是通过SHA-256哈希算法从扩展的公钥或安装路径确定性生成的32位十六进制字符,并映射到自定义字母表(a-p)。
Chromium的完整性检查使用从resources.pak(特别是资源文件146)中提取的静态值作为种子生成的HMAC,对关键JSON密钥进行签名。攻击者逆向此HMAC算法,为extensions.settings.<crx_id>和extensions.developer_mode计算有效MAC,从而实现后门扩展程序的静默注册。

绕过Chrome扩展GPO控制
企业环境通常通过ExtensionInstallAllowlist和ExtensionInstallBlocklist等策略部署组策略对象(GPO)来管理扩展程序白名单或黑名单。Synacktiv提出了三种高级规避方法:
-
公钥复用攻击:攻击者重用企业批准的扩展程序(如Adobe Acrobat Reader for Chrome)的RSA公钥,生成匹配的扩展ID,然后在该ID下注入恶意解压扩展程序,绕过基于哈希的白名单。
-
扩展程序覆盖:当解压扩展程序和商店安装的扩展程序共享相同ID时,Chromium会优先选择解压版本。这种冲突允许攻击者隐蔽地覆盖可信插件。

- 注册表策略篡改:Windows按照LSDOU顺序应用策略。虽然Chrome策略位于HKCU\Software\Policies\Google\Chrome下,但本地管理员可以删除或修改注册表项,完全移除白名单或黑名单以规避策略执行。
攻击影响与防御建议
利用这些技术,威胁行为者可以部署能够拦截网络流量、窃取会话cookie、执行后台服务工作线程以及向目标网页注入内容脚本的扩展程序。Synacktiv的概念验证(PoC)工具包展示了基于SMB的远程部署和自定义C2服务器,可在浏览器进程中执行JavaScript,并破坏应用绑定加密等保护措施。
防御此类攻击需要:
- 监控偏好设置文件的未授权更改
- 验证注册表策略完整性
- 检测异常扩展程序注册
若无此类检测机制,"幽灵扩展程序"将成为企业范围内数据外泄和横向移动的隐蔽持久化途径。
134

被折叠的 条评论
为什么被折叠?



