包括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,并破坏应用绑定加密等保护措施。
防御此类攻击需要:
- 监控偏好设置文件的未授权更改
- 验证注册表策略完整性
- 检测异常扩展程序注册
若无此类检测机制,"幽灵扩展程序"将成为企业范围内数据外泄和横向移动的隐蔽持久化途径。
参考来源:
Hackers Can Compromise Chromium Browsers in Windows by Loading Arbitrary Extensions
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)