几个月前,McAfee发布了一篇关于恶意扩展程序的文章,该扩展程序将用户重定向到钓鱼网站并将会员 ID 插入电子商务网站的 cookie。从那时起,研究人员就开始调查了其他几个恶意扩展,总共发现了 5 个扩展,总安装量超过140 万。
这些扩展提供了各种功能,例如使用户能够一起观看 Netflix 节目、网站优惠券并对网站进行截图。后者从另一个名为 GoFullPage 的流行扩展中借用了几个短语。
除了提供预期的功能外,扩展程序还跟踪用户的浏览活动。每个访问的网站都会发送到扩展程序创建者拥有的服务器。他们这样做是为了将代码插入正在访问的电子商务网站。此操作会修改网站上的 cookie,以便扩展开发者收到购买的任何物品的附属付款。
扩展程序的用户不知道此功能以及被访问的每个网站的隐私风险都被发送到扩展程序开发者的服务器。
本节包含恶意 chrome 扩展“mmnbenehknklpbendgmgngeaignppnbe”的技术分析。所有 5 个扩展都执行类似的行为。
Manifest.json
manifest.json 将背景页面设置为 bg.html。这个 HTML 文件加载 b0.js,它负责发送被访问的 URL 并将代码注入电子商务网站。
b0.js脚本包含许多函数。本文将重点介绍负责将访问过的 URL 发送到服务器并处理响应的函数。
Chrome扩展的工作方式是订阅事件,然后将其用作执行特定活动的触发器。扩展分析订阅事件来自chrome.tabs.onUpdated。当用户导航到一个标签内的新URL时,chrome.tabs.onUpdated将触发。
一旦此事件触发,扩展程序将使用 tab.url 变量设置一个名为 curl 的变量和选项卡的 URL。它创建了几个其他变量,然后将这些变量发送到 d.langhort.com。POST 数据格式如下:
随机 ID 是通过在字符集中选择 8 个随机字符来创建的。代码如下所示:
国家、城市和邮编是使用 ip-api.com 收集的。代码如下所示:
收到 URL 后,langhort.com 将检查它是否与拥有附属 ID 的网站列表匹配,如果匹配,它将响应查询。这方面的一个示例如下所示:
返回的数据为 JSON 格式。使用下面的函数检查响应,并将根据响应包含的内容调用更多函数。
其中两个函数详述如下:
如果结果是“c”,例如本文的结果,则扩展程序将查询返回的 URL。然后它将检查响应,如果状态是 200 或 404,它将检查查询是否以 URL 响应。如果是这样,它将从服务器接收到的 URL 作为 iframe 插入到正在访问的网站上。
如果结果是' e ',扩展会将结果插入到cookie中。不过在分析过程中,我们无法找到“e”的响应,但这将使开发者能够将任何 cookie 添加到任何网站,因为扩展具有正确的“cookie”权限。
下图显示了导航到 BestBuy 网站时的分步流程。
1.用户导航到 bestbuy.com,扩展程序将此 URL 以 Base64 格式发布到 d.langhort.com/chrome/TrackData/;
2.Langhort.com 以“c”和 URL 响应。“c”表示扩展将调用函数 passf_url();
3.passf_url() 将对 URL 执行一个请求;
4.步骤 3 中查询的 URL 使用 301 响应重定向到 bestbuy.com,其附属 ID 与扩展所有者相关联;
5.该扩展程序会将 URL 作为 iframe 插入到用户访问的 bestbuy.com 网站中;
6.显示为与扩展所有者关联的附属 ID 设置的 Cookie。他们现在将收到在 bestbuy.com 上进行的任何购买的佣金;
整个过程的视频请点此。
我们在一些扩展中发现了一个有趣的技巧,可以防止在自动分析环境中识别恶意活动。它们包含在执行任何恶意活动之前的时间检查。这是通过检查当前日期是否距离安装时间大于15 天来完成的。
本文强调了安装扩展的风险,即使是那些拥有大量安装基础的扩展,因为它们仍然可能包含恶意代码。
建议你在安装 Chrome 扩展程序时要小心谨慎,并注意他们请求的权限。
在安装扩展程序之前,Chrome 会显示权限。如果扩展程序请求允许它在你访问的每个网站上运行的权限,客户应该采取额外的步骤来验证真实性,例如本文中详述的网站。
参考及来源:https://www.mcafee.com/blogs/other-blogs/mcafee-labs/malicious-cookie-stuffing-chrome-extensions-with-1-4-million-users/