McAfee研究人员发现了5个恶意Chrome浏览器扩展,影响超过140万用户。
McAfee研究人员分析浏览器扩展发现了多个恶意Chrome扩展。除了提供扩展功能外,浏览器扩展还可以追踪用户浏览记录。每个访问的网站都会被恶意浏览器扩展创建者发送给其服务器。此外,恶意浏览器扩展还可以修改网站cookie,使得扩展开发者可以接收到支付信息。而浏览器扩展的用户甚至没有意识到恶意扩展的隐私威胁。
McAfee分析发现了5个用户量比较大的恶意Chrome浏览器扩展,影响超过140万用户,分别是:
技术分析
本文对恶意Chrome扩展‘mmnbenehknklpbendgmgngeaignppnbe’进行分析,因为这些扩展的行为是类似的。
Manifest.json
manifest.json 负责将背景页面设置为bg.html。该HTML文件会加载b0.js,该文件负责发送用户访问的URL和注入代码到电商网站。
B0.js
b0.js脚本包含多个功能。其中一个最重要的功能是发送用户访问的URL到服务器和处理响应。
Chrome扩展通过订阅事件作为执行特定活动的触发器。本文分析的扩展订阅来自chrome.tabs.onUpdated的事件,用户在新tab页输入新URL时,chrome.tabs.onUpdated会被触发。
该事件触发后,扩展就会设置一个使用tab url的变量——tab.url。并创建其他多个变量,并发送给d.langhort.com。POST数据格式如下:
random ID是在字符集中选择8个随机字符创建的。代码如下所示:
国家、城市、邮编等都使用ip-api.com收集,代码如下所示:
在接收到URL后,langhort.com会检查是否与网站列表相匹配,如果匹配就响应查询。示例如下:
返回的数据是json格式。响应会使用下面的函数进行检查,根据响应的具体内容来调用其他函数。其中包括passf_url 和 setCookie。
Result[‘c’] – passf_url
如果结果是c,扩展就会查询返回的URL。然后检查响应,如果状态是200或404,就会检查查询响应是否是URL。如果是,就会将URL作为iframe插入到要访问网站。
Result[‘e’] setCookie
如果结果是e,扩展就会将结果作为cookie插入。
行为流
下图是访问BestBuy网站的事件流:
- 用户在访问bestbuy.com时,恶意扩展会将base64编码的URL发布在d.langhort.com/chrome/TrackData/;
- Langhort.com会响应c和URL。C表示扩展就会调用函数passf_url();
- passf_url()会执行对URL的请求;
- 上一步查询的URL会使用301响应重定向到bestbuy.com,响应中包含域扩展所有者关联的Id;
- 扩展会将URL以iframe的形式插入到用户访问的bestbuy.com。
- 然后,攻击者就收到了用户在bestbuy.com的购买信息了。
本文翻译自:https://www.mcafee.com/blogs/other-blogs/mcafee-labs/malicious-cookie-stuffing-chrome-extensions-with-1-4-million-users/