一种新的掠夺器使用WebSockets和一张伪造的信用卡表格

2020-11-12 03:48:49

本周发现了一种新的掠夺者攻击,目标是使用不同框架构建的各种在线电子商务网站。在撰写这篇博文时,攻击仍然很活跃,正在渗漏数据。

攻击者正在利用不断扩大的浏览器内攻击面和不断发展的网页浏览技术。这种攻击实现了许多复杂的功能,这在掠夺者攻击中是不常见的。

网店越来越多地将支付流程外包给第三方供应商,这意味着它们不会在店内处理信用卡数据。为了克服这一缺陷,攻击者创建了一张假信用卡表格,并将其插入到应用程序的结账页面中。渗出本身是由WebSockets完成的,它为攻击者提供了一条更安静的渗出路径。

[!]。以下信息是公开的,因此正在传播。*通过提供这种新攻击方法的高级细节,Akamai鼓励网站所有者和安全团队了解问题特征,并就如何击败这种特定攻击提供了见解。

掠夺器将加载器作为内联脚本注入页面源代码。一旦执行,就会从Skimmer的命令和控制程序(C2)服务器请求恶意的JavaScript文件,地址是:HTTPS[:]//TAG-MANAGER[.]com/gtag/script2。

加载外部脚本时,掠夺器会在浏览器的LocalStorage中存储其生成的会话ID和客户端IP地址。这些参数将作为稍后会话中数据外泄的一部分发送。

掠取器将会话ID和用户IP保存在浏览器本地存储中。

当然,掠夺器的实际恶意行为发生在应用程序敏感页面中,例如结账、登录或新帐户注册页面。掠夺器检查页面URL,以确定它是否在敏感页面上运行。

一旦加载到敏感页面中,掠夺器就会启动与其C2服务器的WebSocket连接。

之后,Skimmer在页面中的所有输入、表单和按钮元素上注册新的事件侦听器。一旦触发,掠夺器就会映射输入字段值,并使用其打开的到C2服务器的WebSocket连接来提取它们。

攻击者实施了一些复杂的机制,这在网络掠夺器中是不常见的,这里将其称为攻击洞察力。

使用WebSockets进行数据外泄。与其他掠夺者攻击不同的是,这种掠夺者主要使用XHR请求或HTML标签来窃取数据,而这种掠夺者则通过WebSockets来窃取用户的敏感信息。一旦Skimmer被加载到目标页面中,它就会初始化与其C2服务器的WebSocket通信,并通过间隔发送ping套接字使其保持打开状态。掠夺器跟踪目标页面中的敏感输入字段,并为其内容中发生的每一次更改发送它们的值。WebSockets的使用为攻击者提供了更好的隐藏机制,因为发送的请求将更加静默。此外,许多CSP策略并不限制WebSockets的使用。

伪造的信用卡表格。一些目标商店并不自己处理支付过程,而是使用第三方提供商来处理支付过程。在这种情况下,一旦用户填写完他的个人信息,他就会被重定向到第三方供应商,以便提供信用卡信息并完成交易。撇油器将无法将其自身注入第三方供应商以获取最终用户信用卡信息。在本例中,撇卡器在页面重定向到第三方供应商之前在页面中创建一个假信用卡表单。该表单甚至验证用户输入和信用卡信息,并向用户显示相关的错误消息。一旦用户点击了假的支付按钮,掠夺器就会显示一条消息,提示支付无法处理,并让用户继续进行真实的应用程序流程。

总而言之,掠夺者的规避和模糊尝试代表了这类恶意软件菌株的复杂程度和进化程度,我们认为这种升级在敌手中是一种日益增长的趋势,这些对手总是愿意推进他们的战术,以尽可能多地从他们的行动中获益,并在发现之前尽可能长时间地保持这种状态。

Akamai几乎每周都会看到新的、经过微妙修改的Web应用客户端攻击,比如这个例子。考虑到浏览器内攻击的模糊性和供应链来源,传统的依赖CSP的方法会漏掉大部分此类攻击。

我们的安全产品组合接受并投资于将名为Page Integrity Manager的Web浏览保护产品推向市场,该产品专注于脚本执行行为,对运行时环境具有前所未有的可见性。它收集有关网页中运行的不同脚本、它们执行的每个操作以及它们与页面中其他脚本的关系的信息。将这些数据与我们的多层检测方法相结合--利用启发式方法、风险评分、人工智能和其他因素--使Page Integrity Manager能够检测不同类型的客户端攻击,重点关注数据外泄和网络浏览攻击。

已针对Page Integrity Manager测试了使用WebSockets和伪造信用卡页面的这一特定攻击;该攻击立即被识别出来,并提供了故障排除的详细信息,以便有效地进行缓解。

要了解有关Akamai Page Integrity Manager的更多信息并获得免费脚本风险评估报告,请访问www.akamai.com/pim。