使用Google Analytics的漏洞发起网页攻击
2020-06-28 11:25:49 Author: www.4hou.com(查看原文) 阅读量:315 收藏

通过网络浏览器发起的攻击是最常见的一类攻击,通常针对在线购物者。攻击原理很简单:将恶意代码注入受感染的网站,该网站收集用户输入的数据并将其发送到网络攻击者的后台。如果攻击成功,网络攻击者便可以访问购物者的付款信息。

为了使数据流向第三方资源的可见性降低,欺诈者通常会注册类似于流行网络服务的域名,尤其是Google Analytics(google-anatytics[.]com, google-analytcsapi[.]com, google-analytc[.]com, google-anaiytlcs[.]com, google-analytics[.]top, google-analytics[.]cm, google-analytics[.]to, google-analytics-js[.]com, googlc-analytics[.]com等),但这类攻击也被发现有时使用了真实服务。Google Analytics(Google分析)是Google的一款免费的网站分析服务,自从其诞生以来就广受好评。Google Analytics功能非常强大,只要在网站的页面上加入一段代码,就可以提供丰富详尽的图表式报告。

要使用Google Analytics收集有关访问者的数据,网站所有者必须在其analytics.google.com上的帐户中配置跟踪参数,获取跟踪ID(trackingId,类似于UA-XXXX-Y的字符串),然后将其插入网页以及跟踪代码(特殊的代码段)。多个跟踪代码可以在一个网站上并肩作战,将有关访问者的数据发送到不同的Google Analytics帐户。

最近,我们发现了滥用该服务的几种情况:攻击者向网站注入了恶意代码,这些网站收集用户输入的所有数据,然后通过Analytics发送。结果,攻击者可以访问其Google Analytics帐户中的被盗数据。我们在全球发现了大约二十个受感染的网站。受害者包括在欧洲以及北美和南美销售数字设备、化妆品、食品、零件等的商店。

下面的屏幕截图显示了感染的外观——带有攻击者的跟踪代码和跟踪ID的恶意代码:

1.jpg

攻击者试图使用经典的反调试技术隐藏其恶意活动,屏幕截图2显示了用于检查访问者浏览器中是否启用了开发人员模式的代码。仅当结果为负时,才执行上面的屏幕快照中的代码。

2.jpg

奇怪的是,攻击者给自己留下了一个漏洞,在“调试”模式下监视脚本的选项。如果浏览器的本地存储(localStorage)包含值'debug_mode'=='11',即使打开开发人员工具,该恶意代码也会冒出来,甚至会用笨拙的英语在控制台编写带有错误的注释。在下图中,带有‘debug_mode’检查的一行代码执行了RC4加密算法(用于在发送之前对收集的数据进行加密)。

3.jpg

如果通过了反调试,则脚本将收集网站上任何人输入的所有内容(以及有关输入数据的用户的信息:IP地址,UserAgent,时区)。使用Google Analytics测量协议对收集的数据进行加密和发送,收集和发送过程如屏幕截图4所示。

4.jpg

通过调用“eventAction”字段中的send事件方法来发送被盗数据。

在本文的示例中,函数签名为:

ga('send', 'event', {
  'eventCategory': 'Category',  //Protocol Parameter: ec; Value type: text; Max Lenght: 150 Bytes
  'eventAction': 'Action',    //Protocol Parameter: ea; Value type: text; Max Lenght: 500 Bytes
  'eventLabel': 'Label'     //Protocol Parameter: el; Value type: text; Max Lenght: 500 Bytes
});

这将导致将HTTP请求发送到URL。

https[:]//www.google-analytics.com/collect?&ea=packed_stolen_data&

在上述情况下,恶意代码以“可读”形式插入受感染网站上的脚本中。但是,在其他情况下,注入可能会被混淆。恶意代码也可以从第三方资源下载。下图显示了一个示例混淆选项。在此变体中,将来自firebasestorage.googleapis[.]com的对恶意脚本的调用插入到受感染的网站中。

6.jpg

经过模糊处理后,我们获得了具有相同注释的相似脚本。屏幕截图6中显示了部分代码(使用了不同的跟踪ID)。

7.jpg

Google Analytics的漏洞

Google Analytics是一项非常受欢迎的服务(根据BuiltWith的数据,该服务已用于2900万个网站),并受到用户的盲目信任:管理员将* .google-analytics.com写入Content-Security-Policy标头(用于列出来自以下位置的资源)可以下载的第三方代码,从而允许该服务收集数据。此外,无需从外部来源下载代码即可实施攻击。

缓解措施

对于使用者来说:安装安全软件。

网站管理员:

1.不要从不受信任的来源安装Web应用程序和CMS组件,保持所有软件为最新,关注有关漏洞的新闻,并采取建议的措施对其进行修补。

2.为所有管理帐户创建强密码;

3.将用户权限限制到最低限度,跟踪有权访问服务界面的用户数量;

4.过滤用户输入的数据和查询参数以防止第三方代码注入;

5.对于电子商务网站,建议使用兼容PCI DSS的支付网关。

IOC

firebasestorage.googleapis[.]com/v0/b/bragvintage-f929b.appspot.com/o/*
firebasestorage.googleapis[.]com/v0/b/canature-5fab3.appspot.com/o/*
firebasestorage.googleapis[.]com/v0/b/ericeirasurfskate-559bf.appspot.com/o/*
firebasestorage.googleapis[.]com/v0/b/gluten-8e34e.appspot.com/o/*
firebasestorage.googleapis[.]com/v0/b/laser-43e6f.appspot.com/o/*
firebasestorage.googleapis[.]com/v0/b/movile-720cd.appspot.com/o/*
firebasestorage.googleapis[.]com/v0/b/plumb-99e97.appspot.com/o/*
firebasestorage.googleapis[.]com/v0/b/redfox-64c35.appspot.com/o/*
firebasestorage.googleapis[.]com/v0/b/tictoc-9677e.appspot.com/o/*

本文翻译自:https://securelist.com/web-skimming-with-google-analytics/97414/如若转载,请注明原文地址


文章来源: https://www.4hou.com/posts/wZZX
如有侵权请联系:admin#unsafe.sh