需要云计算吗? 即刻开始体验

新型 Magecart 式攻击活动滥用合法网站攻击他人

Roman Lvovsky

寫於

Roman Lvovsky

June 01, 2023

Roman Lvovsky

寫於

Roman Lvovsky

Roman Lvovsky 是一名安全研究员,在客户端威胁、浏览器内部威胁和 JavaScript 攻击媒介方面拥有丰富经验。他是 Akamai 浏览器内保护研究团队的成员,专门研究各种客户端威胁,如 Web 数据窃取和 Magecart 攻击。他拥有扎实的软件工程背景,擅长从事 JavaScript 和 Web 开发工作。

由于在 Web 数据窃取领域中防御者和攻击者之间的较量仍在继续,保持积极主动的应对方式并投资于创新的安全措施至关重要。

编辑和内容补充:Lance Rhodes 和 Emily Lyons

执行摘要

  • Akamai 研究人员发现了一种新型 Magecart 式持续数据窃取活动并对该窃取活动展开分析,该窃取活动旨在从数字商务网站窃取个人身份信息 (PII) 和信用卡信息。

  • 北美、拉丁美洲和欧洲均发现了受害企业,且受害企业的规模各不相同。据估计,一些受害企业每月的访客量高达数十万,这可能会让数万名购物者的 PII 和信用卡信息面临遭窃取、滥用或在暗网出售的风险。

  • 攻击者在此窃取活动中采用了多项规避技术,包括混淆 Base64 以及将攻击伪装得类似于主流第三方服务,如 Google Analytics 或 Google Tag Manager。

  • 值得注意的是,攻击者会“劫持”合法网站来充当临时命令与控制 (C2) 服务器。这些“受害宿主”会在受害企业不知情的情况下充当恶意代码的分发中心,将攻击有效地隐藏在合法域名背后。

  • 此攻击会潜在利用使用 Magento、WooCommerce、WordPress 和 Shopify 构建的网站,这表明可供利用的漏洞和可滥用的数字商务平台越来越多。

  • 这些类型的 Web 数据窃取攻击越来越隐蔽,可能很难检测出来,因此建议安全从业者考虑采用能够对浏览器内活动进行行为和异常检测的 工具和技术

简介

最近几周,一种新型 Magecart 式数据窃取活动 日渐猖獗。这一新型攻击活动的主要显著特征在于,它会利用被入侵的合法网站,隐藏在真实域名背后,轻松对其他目标网站发起攻击。

Magecart 式攻击的主要目的是从数字商务网站的结账页面窃取 PII 和信用卡详细信息。一直以来,此类攻击主要针对的目标是 Magento 数字商务平台;然而,在本次攻击活动和其他类似的活动中,Akamai 研究人员发现其利用了使用 Magento、WooCommerce、WordPress 和 Shopify 构建的网站,这说明攻击者可以利用的漏洞和可滥用的平台越来越多。

通常情况下,利用运行在客户端上的 Web 应用程序防火墙等主流 Web 安全方法无法检测到这些攻击。这可能导致 Magecart 攻击在很长一段时间内不会被发现。

在过去的几周里,我们已经发现了一次主动、持续的攻击活动,该活动利用复杂的基础架构和功能发起 Magecart 式 Web 数据窃取攻击,同时我们发现了许多数字商务网站都是这次攻击活动的受害者。所以,我们有理由认为,还有其他合法网站也在这次影响广泛的攻击活动中遭到恶意利用。

大型、长期的攻击

不出所料,这次攻击活动主要针对商业企业。然而,攻击的规模值得注意。一些受害企业每月的访客量达数十万。这可能会让数万名受害者的信用卡数据和 PII 被窃。

许多受害者在将近一个月的时间里都没注意到自己已遭受攻击,这可能会让损失进一步扩大。此外,Akamai 研究人员发现本次攻击活动已对美国、英国、巴西、西班牙、澳大利亚、爱沙尼亚和秘鲁的企业造成影响。

Web 数据窃取攻击对数字商务企业的危害非常大。PII 和信用卡数据的丢失可能会带来企业声誉受损及其他一些负面影响。许多备受关注的 Magecart 式攻击活动即使不是数年,也有数月都未能检测出来。2022 年遭受 Magecart 式攻击的 9290 个数字商务域名中,截至当年年底,仍有 2468 个受感染域名处于活跃状态,这对商业企业来说是一个巨大威胁。

发起攻击前的入侵活动——设置攻击基础架构

该攻击活动最引人注目的特点之一便是攻击者设置基础架构以进行 Web 数据窃取活动的方式。在攻击活动真正开始之前,攻击者将寻找易受攻击的网站来充当恶意代码的“宿主”,稍后,攻击者会利用这些恶意代码来发起 Web 数据窃取攻击。 

攻击者不会使用自己的 C2 服务器来承载恶意代码,因为可能会被标记为恶意域名,他们会侵入(利用漏洞或任何其他便捷手段)某个易受攻击的合法网站,如中小型零售网站,并将代码隐藏其中。这样,攻击者就为其恶意代码找到了一个正常运行的宿主,并可将恶意代码发送至他们选中的任何受害者。

从本质上讲,这种攻击活动中有两组受害者。

  1. 宿主受害者:这些是指劫持的合法网站,用以承载攻击中所用的恶意代码。然后,攻击者将在攻击过程中利用这些网站发送其代码。由于这些网站通常作为合法企业运营,因此在受害者接触到这些网站时不太可能产生怀疑。然后,这些网站将作为攻击基础架构的一部分,本质上是充当攻击者控制的服务器。其目的是将恶意活动隐藏在信誉良好的域名背后。
  2. Web 数据窃取受害者:这些是指易受攻击的商业网站,也是攻击者发起 Magecart 式 Web 数据窃取攻击的目标。攻击者不会直接将攻击代码注入网站资源,而是将较小的 JavaScript 代码片段用作加载程序,从宿主受害者网站获取完整的攻击代码,从而更有效地隐藏攻击中用到的大部分恶意代码。

尽管目前尚不清楚这些网站是如何被攻破的,但根据最近对之前类似攻击活动进行的研究,我们发现攻击者通常会在目标网站的数字商务平台(如 Magento、WooCommerce、WordPress、Shopify 等)或网站所用的易受攻击的第三方服务中寻找漏洞。 

Akamai 研究人员发现有少数网站成为了宿主受害者。这些网站似乎全都是商业网站。在某些情况下,被利用的宿主网站似乎会遭到二次滥用。首先,如前所述,这些网站被用作恶意代码的宿主。其次,这些网站本身也遭受到 Magecart 式 Web 数据窃取的攻击,用户信息被窃取。这些网站不仅本身受到注入代码的侵害,数据失窃,而且在不知不觉中还充当了将窃取工具恶意活动传播到其他易受攻击网站的工具。 

利用建立起来的声誉和固有的信任

调查期间,我们还发现有些网站可能是攻击者创建的虚假网站。这些网站似乎作为 网络钓鱼网站运营,它们会模拟小型零售商店,并采用与原始合法网站非常相似的域名。

使用合法网站域名的这一做法为攻击者隐藏其恶意活动提供了几个优势。窃取工具隐藏在信誉良好并与各方建立积极联系的域名背后,就像放出了一颗烟幕弹,让识别和应对攻击变得愈加困难。

利用合法网站域名一大优势便是这些域名长期以来建立起的固有信任。安全服务和域名评分系统通常会为拥有良好跟踪记录和合法使用历史记录的域名给予更高的信任级别。因此,在这些域名下从事恶意活动将更有可能避开检测,或者更有可能被自动安全系统视为良性活动。

我们无法披露遭到利用以及用于承载对其他目标网站所发起攻击的那些合法网站的域名,因为此类披露需要企业确认并配合。

大隐隐于市——将恶意代码加载到受害者网站

设置好基础架构后,攻击者便会寻找易受攻击的数字商务平台或第三方服务作为目标,以注入 Web 数据窃取代码。攻击者采用一种狡猾的技术将内联(即嵌入 HTML 中的脚本,而非从外部文件加载的脚本)JavaScript 代码片段注入遭到攻击的网站页面中。此代码片段充当加载程序,从早期设置的宿主网站获取完整的恶意代码。

值得注意的是,所注入代码片段的结构被故意设计成与 Google Tag ManagerFacebook Pixel等主流第三方服务类似。近年来,这一方法在 Web 数据窃取活动中越来越流行,因为该方法有助于恶意代码无缝融入,从而掩盖了其真实意图。

此外,为了混淆承载完整攻击代码的遭利用网站的 URL,窃取工具采用了 Base64 编码(图 1)。这项技术在窃取工具领域备受吹捧,因为它能有效掩盖代码的来源和目的。

恶意 JavaScript 代码片段截图 图 1:模拟 Google Analytics 代码片段并用作攻击加载程序的恶意 JavaScript 代码片段

为此,攻击者采用了三种方法来规避检测。

  1. 混淆攻击中所用的域名

  2. 将加载程序巧妙地伪装成合法第三方脚本或供应商

  3. 通过从其他来源提取大部分代码,减少了需要注入页面的恶意代码数量,大大降低了代码被发现的机率

一旦注入加载程序,那么如果有任何用户试图从 Web 数据窃取受害者网站结账,其个人详细信息和信用卡信息都将被窃取并发送到攻击者的 C2 服务器。

分析代码——经过混淆处理的 Magecart 攻击

调查期间,我们发现了两种不同的窃取工具代码。

最初的代码混淆程度较高,要想破译其流程和逻辑结构,操作起来会更加复杂。攻击者采用混淆处理的手段来干扰调试和研究,故意增加理解攻击确切顺序的难度。

对恶意代码进行混淆处理是各种 Web 数据窃取攻击中广泛采用的一种做法,近年来,此方法在众多攻击活动中越来越流行(图 2)。

对恶意代码进行混淆处理 图 2:恶意代码——第 1 种演变类型

对混淆处理后的代码中嵌入的 Base64 字符串进行解码后,我们发现了一个级联样式表 (CSS) 选择器列表。这些选择器的名称明确表示,窃取工具的目标输入字段负责捕获 PII 和信用卡详细信息。

解码后的代码中出现的这些 CSS 选择器为窃取工具的恶意意图提供了确凿证据。窃取工具专门瞄准用于收集敏感用户数据的输入字段,因而其目标变得十分清晰:出于非法目的拦截并泄露 PII 和信用卡详细信息。它还意味着会进行某种程度的情报收集;为了让这些输入字段中招,攻击者需要为每个受害者“定制”代码(图 3)。

字段名称截图 图 3:窃取工具瞄准的已解码的敏感字段名称

在本次攻击活动中发现的第二种演变的恶意代码的混淆程度较低,更加便于理解和分析。与第一种代码一样,可能会暴露代码意图的字符串采用 Base64 编码,因而我们能够很容易破译其含义(图 4)。

第二种代码的有趣之处在于,代码中存在某些指示符;这些指示符可用作有价值的线索,帮助我们发现与本次攻击活动相关的其他受害者网站和实例。

Magecart 式攻击 图 4:恶意代码——第 2 种演变类型

泄露被盗数据

泄露被盗数据的过程通过一个简单的 HTTP 请求完成,且该请求是通过在窃取工具代码中创建一个 IMG 标签而发出的。然后,被盗数据会作为查询参数附加到请求中,并编码为 Base64 字符串(图 5)。

为了对传输的数据进行混淆处理,窃取工具将其编码为 Base64 字符串。这一编码技术为数据增加了一层伪装,让安全系统和网络监控工具更难发现敏感信息正在外泄。采用 Base64 编码的数据到达攻击者服务器后,很容易就会解码为原始格式,暴露出被盗的 PII 和信用卡详细信息。

每个用户在结账时只会发生一次数据泄露。一旦用户信息被盗,脚本将标记该浏览器,以确保不会第二次窃取信息(目的是减少可疑的网络流量)。这进一步增强了该 Magecart 式攻击的规避能力。

 使用 IMG 标签泄露数据的截图 图 5:利用 IMG 标签泄露数据,该标签使用 Base64 编码的查询参数向窃取工具的 C2 发起 HTTP 请求

安全建议和抵御措施

为植入 Web 数据窃取工具,攻击者需要通过利用漏洞,或通过滥用现有的某个第三方脚本,获取对服务器的初始访问权。为阻止对服务器的此类初始访问,建议安全从业者及时安装最新补丁,同时辅之以 WAF 保护机制。

然而,当前 Web 应用程序环境的复杂性、部署、敏捷性和分布情况,以及攻击者可用于安装 Web 数据窃取工具的各种方法,都需要更加专业的安全解决方案,借助此类解决方案,从业者应该能够查看浏览器内运行的脚本的行为,并抵御客户端攻击。

合适的解决方案必须更加靠近客户实际遭受攻击的位置。该解决方案应该能够成功识别尝试从敏感输入字段读取内容的行为以及数据泄露情况(在测试中,我们采用了 Akamai Page Integrity Manager)。我们建议适当收集这些事件,以快速、有效地抵御攻击。

结论

这次攻击活动提醒我们,Web 数据窃取仍然是一个关键的安全威胁,恶意攻击者不断升级攻击手段,以隐藏攻击活动,增加检测难度。在 PCI DSS v4.0 中列出的新脚本安全要求 也佐证了这一说法,现在,在线处理支付卡交易的任何企业都需要配套检测和响应此类型攻击的机制。 

要想有效打击 Web 数据窃取,主要解决办法在于利用可提供行为和异常检测的工具和技术,如 Akamai Page Integrity Manager。已经证实,传统的静态分析工具不足以对抗 Web 数据窃取,因为此类攻击会不断变换攻击手段,并采用日益复杂的技术来逃避静态分析。

预计未来我们会不时遇到类似的攻击活动,因为这一猫捉老鼠的游戏很可能会持续存在。由于在 Web 数据窃取领域中防御者和攻击者之间的较量仍在继续,保持积极主动的应对方式并投资于创新的安全措施至关重要。通过采用先进检测技术来应对不断变化的攻击媒介,企业可以更好地保护其在线平台,保护用户数据,并维护客户信任。长期的研究与协作,同时时刻保持警惕,这些对于持续打击 Web 数据窃取威胁至关重要。

Akamai Security Intelligence Group 将一如既往地监测此类活动,并向我们的客户和整个社区提供有价值的见解。如需了解更多关于漏洞和其他最新安全研究的实时信息,请关注我们的 公众号

已于 2023 年 6 月 7 日 更新:Akamai 更新了这篇博文,以说明 Magento、WooCommerce、WordPress 和 Shopify 等上述一些平台存在被潜在利用的风险。

IOC

泄露域名:

byvlsa[.]com

chatwareopenalgroup[.]net



Roman Lvovsky

寫於

Roman Lvovsky

June 01, 2023

Roman Lvovsky

寫於

Roman Lvovsky

Roman Lvovsky 是一名安全研究员,在客户端威胁、浏览器内部威胁和 JavaScript 攻击媒介方面拥有丰富经验。他是 Akamai 浏览器内保护研究团队的成员,专门研究各种客户端威胁,如 Web 数据窃取和 Magecart 攻击。他拥有扎实的软件工程背景,擅长从事 JavaScript 和 Web 开发工作。