Chrome扩展攻击指南(三):全局视角
2024-11-24 12:36:43 Author: blog.xlab.app(查看原文) 阅读量:11 收藏

对商店的全量扩展进行扫描分析,统计风险和漏洞情况

注意:本文写于2023.5,数据可能和当下不同

用户量

从攻击角度看,用户量大的影响面大,漏洞价值就越高,一共12W+扩展,仅有不到2W个扩展超过1000用户,非常的“二八原则“

基础扫描

什么漏洞可能会常见?什么漏洞是高价值的?

  1. 哪些网页会被注入Content scripts
  2. 哪些网页有externally_connectable权限
  3. 是否有WAR
  4. CSP Bypass
  5. 域权限
  6. 敏感Chrome API权限,如geolocation,cookies,scripting等

Content scripts注入

all_urls注入

all_urls注入意味着所有网页都会注入,能增加攻击目标网站的攻击面

iframe注入

iframe注入意味着可以通过iframe进行攻击,更加隐蔽,不过也会受SameSite cookies的影响

Background

WAR文件

存在WAR文件意味着可探测,同时也能极大增加Background的攻击面

整体上有20%左右存在WAR,随着用户数量增加,存在WAR的扩展占比也在增加,在超过10W用户的扩展中,半数以上存在WAR文件

Externally connectable

externally_connectable允许直接与Background通信,极大增加Background的攻击面

好在这个配置非常少见,但也存在用户量多占比高的趋势

权限申请

权限意味着在Background中能做什么事,同时也决定了在Background中的漏洞价值

all_urls权限

all_urls权限意味着在Background中可以无视同源策略访问任意网站,极大提高在BackgroundCSRF漏洞价值

同样也出现在用户量大的扩展中有更多的扩展申请这个权限

敏感数据API权限

这里将获取网页/历史/书签/cookies等数据,管理/配置等功能都视为可以获取敏感数据,也是Background漏洞的价值来源

CSP Bypass

Manifest中可以自定义CSP

Manifest V2默认的CSP并不禁止eval和inline,基本可以认为可以绕过

而Manifest V3又过于严格,基本无法绕过

csp-evaluator扫描检查,有中危视为可Bypass

在各用户分布下存在CSP Bypass的占比都在70%左右,相比Manifest V2大概占比75%差别不大

CSP Bypass的问题基本可以忽略,等价于V2可绕,V3不可绕

漏洞扫描

粗糙的扫描了用户量top300的扩展,人工审查后挖到大大小小20来个漏洞,有几个UXSS的高危漏洞,但大多数可能只有开关标签页的垃圾漏洞

考虑到自动化扫描会漏报,用户量大的漏洞可能也多,估计有漏洞的扩展大概占比3%左右?

结语

从研究者的角度来说:洞多,好挖,速来!

但从用户来说:安装一个浏览器扩展时,信任的是什么?

一般来说我们运行一个程序时,信任的是背后的厂商/开发者,又或者代码开源不作恶,甚至是靠杀软,但对于浏览器扩展来说,好像什么都没有

在研究过程中也确实发现了一些恶意扩展,包括网上也能看到很多恶意扩展报告,目前还是靠主动向Google举报,但从举报到删除至少有两个月左右的时间差,可以参考披露一个恶意Chrome扩展程序

也发现了一些以及所谓“开源”扩展在商店中“货不对板”的情况,虽然深究后没有发现恶意行为,但心理不适


文章来源: https://blog.xlab.app/p/4db211d3/
如有侵权请联系:admin#unsafe.sh