四个 JavaScript 嗅探器在在线商店中等待着您

四个 JavaScript 嗅探器在在线商店中等待着您

几乎我们所有人都使用在线商店的服务,这意味着我们迟早会面临成为 JavaScript 嗅探器受害者的风险 - 攻击者在网站上实施的特殊代码,用于窃取用户的银行卡数据、地址、登录名和密码。

英国航空公司网站和移动应用程序的近 400 万用户以及体育巨头 FILA 英国网站和美国门票分销商 Ticketmaster 的访问者已经受到嗅探器的影响。 PayPal、Chase Paymenttech、USAePay、Moneris - 这些以及许多其他支付系统都受到了感染。

Threat Intelligence Group-IB 分析师 Viktor Okorokov 谈论嗅探器如何渗透网站代码并窃取支付信息,以及他们攻击哪些 CRM。

四个 JavaScript 嗅探器在在线商店中等待着您

“隐藏的威胁”

碰巧的是,很长一段时间以来,JS 嗅探器一直处于反病毒分析师的视线之外,银行和支付系统也没有将它们视为严重威胁。 完全是徒劳的。 IB组专家 分析 2440 家受感染的在线商店面临受到感染的风险,每天约有 1,5 万人次访问这些商店。 受害者不仅包括用户,还包括发行受感染卡的在线商店、支付系统和银行。

报告 Group-IB 成为第一个对嗅探器暗网市场、其基础设施和货币化方法进行研究的机构,为嗅探器的创建者带来了数百万美元的收益。 我们确定了 38 个嗅探器家族,其中研究人员之前只知道其中 12 个家族。

让我们详细讨论一下研究期间研究的四个嗅探器家族。

ReactGet 家族

ReactGet 系列的嗅探器用于窃取在线购物网站上的银行卡数据。 该嗅探器可以与网站上使用的大量不同支付系统配合使用:一个参数值对应于一种支付系统,并且嗅探器的各个检测到的版本可用于窃取凭据,以及从支付中窃取银行卡数据同时使用多种支付系统的形式,例如所谓的通用嗅探器。 研究发现,在某些情况下,攻击者会对在线商店管理员进行网络钓鱼攻击,以获得对该网站管理面板的访问权限。

使用该系列嗅探器的活动于 2017 年 XNUMX 月开始;运行 CMS 和 Magento、Bigcommerce 和 Shopify 平台的网站受到攻击。

ReactGet 如何实现到在线商店的代码中

除了通过链接实现脚本的“经典”之外,ReactGet 系列嗅探器的操作员还使用一种特殊的技术:使用 JavaScript 代码,检查用户所在的当前地址是否满足特定条件。 仅当子字符串存在于当前 URL 中时,恶意代码才会被执行 结帐 или 一步结账, 一页/, 出/onepag, 结账/一, 结账/一。 因此,嗅探器代码将在用户继续支付购买费用并将支付信息输入网站表格时准确执行。

四个 JavaScript 嗅探器在在线商店中等待着您
该嗅探器使用非标准技术。 受害者的付款和个人数据被收集在一起并使用编码 base64,然后将得到的字符串用作参数,向攻击者的网站发送请求。 大多数情况下,门的路径会模仿 JavaScript 文件,例如 响应.js, data.js 等等,但也使用图像文件的链接, 的GIF и JPG格式。 其特点是嗅探器创建一个 1 x 1 像素大小的图像对象,并使用先前接收到的链接作为参数 SRC 图片。 也就是说,对于用户来说,这样的流量请求看起来就像是对普通图片的请求。 ImageID 系列嗅探器中使用了类似的技术。 此外,许多合法的在线分析脚本中都使用了使用 1 x 1 像素图像的技术,这也可能会误导用户。

四个 JavaScript 嗅探器在在线商店中等待着您

版本分析

对 ReactGet 嗅探器操作员使用的活动域的分析揭示了该嗅探器家族的许多不同版本。 版本的不同之处在于是否存在混淆,此外,每个嗅探器都是针对处理在线商店银行卡支付的特定支付系统而设计的。 对与版本号相对应的参数值进行排序后,Group-IB 专家收到了可用嗅探器变体的完整列表,并根据每个嗅探器在页面代码中查找的表单字段的名称,他们识别了支付系统嗅探器的目标。

嗅探器列表及其对应的支付系统

嗅探器网址 支付系统
reactjsapi.com/react.js Authorize.Net
ajaxstatic.com/api.js?v=2.1.1 存卡
ajaxstatic.com/api.js?v=2.1.2 Authorize.Net
ajaxstatic.com/api.js?v=2.1.3 Authorize.Net
ajaxstatic.com/api.js?v=2.1.4 易路快速
ajaxstatic.com/api.js?v=2.1.5 Authorize.Net
ajaxstatic.com/api.js?v=2.1.6 Adyen
ajaxstatic.com/api.js?v=2.1.7 USAePay
ajaxstatic.com/api.js?v=2.1.9 Authorize.Net
apitstatus.com/api.js?v=2.1.1 USAePay
apitstatus.com/api.js?v=2.1.2 Authorize.Net
apitstatus.com/api.js?v=2.1.3 Moneris
apitstatus.com/api.js?v=2.1.5 USAePay
apitstatus.com/api.js?v=2.1.6 贝宝
apitstatus.com/api.js?v=2.1.7 Sage Pay
apitstatus.com/api.js?v=2.1.8 威瑞信
apitstatus.com/api.js?v=2.1.9 贝宝
apitstatus.com/api.js?v=2.3.0 条纹
apitstatus.com/api.js?v=3.0.2 Realex
apitstatus.com/api.js?v=3.0.3 贝宝
apitstatus.com/api.js?v=3.0.4 链接点
apitstatus.com/api.js?v=3.0.5 贝宝
apitstatus.com/api.js?v=3.0.7 贝宝
apitstatus.com/api.js?v=3.0.8 数据现金
apitstatus.com/api.js?v=3.0.9 贝宝
asianfoodgracer.com/footer.js Authorize.Net
billgetstatus.com/api.js?v=1.2 Authorize.Net
billgetstatus.com/api.js?v=1.3 Authorize.Net
billgetstatus.com/api.js?v=1.4 Authorize.Net
billgetstatus.com/api.js?v=1.5 威瑞信
billgetstatus.com/api.js?v=1.6 Authorize.Net
billgetstatus.com/api.js?v=1.7 Moneris
billgetstatus.com/api.js?v=1.8 Sage Pay
billgetstatus.com/api.js?v=2.0 USAePay
billgetstatus.com/react.js Authorize.Net
cloudodesc.com/gtm.js?v=1.2 Authorize.Net
cloudodesc.com/gtm.js?v=1.3 澳新银行电子门
cloudodesc.com/gtm.js?v=2.3 Authorize.Net
cloudodesc.com/gtm.js?v=2.4 Moneris
cloudodesc.com/gtm.js?v=2.6 Sage Pay
cloudodesc.com/gtm.js?v=2.7 Sage Pay
cloudodesc.com/gtm.js?v=2.8 大通帕耶奇
cloudodesc.com/gtm.js?v=2.9 Authorize.Net
cloudodesc.com/gtm.js?v=2.91 Adyen
cloudodesc.com/gtm.js?v=2.92 PsiGate
cloudodesc.com/gtm.js?v=2.93 Cyber​​Source的
cloudodesc.com/gtm.js?v=2.95 澳新银行电子门
cloudodesc.com/gtm.js?v=2.97 Realex
geisseie.com/gs.js USAePay
gtmproc.com/age.js Authorize.Net
gtmproc.com/gtm.js?v=1.2 Authorize.Net
gtmproc.com/gtm.js?v=1.3 澳新银行电子门
gtmproc.com/gtm.js?v=1.5 贝宝
gtmproc.com/gtm.js?v=1.6 贝宝
gtmproc.com/gtm.js?v=1.7 Realex
livecheckpay.com/api.js?v=2.0 Sage Pay
livecheckpay.com/api.js?v=2.1 贝宝
livecheckpay.com/api.js?v=2.2 威瑞信
livecheckpay.com/api.js?v=2.3 Authorize.Net
livecheckpay.com/api.js?v=2.4 威瑞信
livecheckpay.com/react.js Authorize.Net
livegetpay.com/pay.js?v=2.1.2 澳新银行电子门
livegetpay.com/pay.js?v=2.1.3 贝宝
livegetpay.com/pay.js?v=2.1.5 Cyber​​Source的
livegetpay.com/pay.js?v=2.1.7 Authorize.Net
livegetpay.com/pay.js?v=2.1.8 Sage Pay
livegetpay.com/pay.js?v=2.1.9 Realex
livegetpay.com/pay.js?v=2.2.0 Cyber​​Source的
livegetpay.com/pay.js?v=2.2.1 贝宝
livegetpay.com/pay.js?v=2.2.2 贝宝
livegetpay.com/pay.js?v=2.2.3 贝宝
livegetpay.com/pay.js?v=2.2.4 威瑞信
livegetpay.com/pay.js?v=2.2.5 易路快速
livegetpay.com/pay.js?v=2.2.7 Sage Pay
livegetpay.com/pay.js?v=2.2.8 Sage Pay
livegetpay.com/pay.js?v=2.2.9 威瑞信
livegetpay.com/pay.js?v=2.3.0 Authorize.Net
livegetpay.com/pay.js?v=2.3.1 Authorize.Net
livegetpay.com/pay.js?v=2.3.2 第一个数据全球网关
livegetpay.com/pay.js?v=2.3.3 Authorize.Net
livegetpay.com/pay.js?v=2.3.4 Authorize.Net
livegetpay.com/pay.js?v=2.3.5 Moneris
livegetpay.com/pay.js?v=2.3.6 Authorize.Net
livegetpay.com/pay.js?v=2.3.8 贝宝
livegetpay.com/pay.js?v=2.4.0 威瑞信
maxstatics.com/site.js USAePay
mediapack.info/track.js?d=funlove.com USAePay
mediapack.info/track.js?d=qbedding.com Authorize.Net
mediapack.info/track.js?d=vseyewear.com 威瑞信
mxcounter.com/c.js?v=1.2 贝宝
mxcounter.com/c.js?v=1.3 Authorize.Net
mxcounter.com/c.js?v=1.4 条纹
mxcounter.com/c.js?v=1.6 Authorize.Net
mxcounter.com/c.js?v=1.7 易路快速
mxcounter.com/c.js?v=1.8 Sage Pay
mxcounter.com/c.js?v=2.0 Authorize.Net
mxcounter.com/c.js?v=2.1 Braintree
mxcounter.com/c.js?v=2.10 Braintree
mxcounter.com/c.js?v=2.2 贝宝
mxcounter.com/c.js?v=2.3 Sage Pay
mxcounter.com/c.js?v=2.31 Sage Pay
mxcounter.com/c.js?v=2.32 Authorize.Net
mxcounter.com/c.js?v=2.33 贝宝
mxcounter.com/c.js?v=2.34 Authorize.Net
mxcounter.com/c.js?v=2.35 威瑞信
mxcounter.com/click.js?v=1.2 贝宝
mxcounter.com/click.js?v=1.3 Authorize.Net
mxcounter.com/click.js?v=1.4 条纹
mxcounter.com/click.js?v=1.6 Authorize.Net
mxcounter.com/click.js?v=1.7 易路快速
mxcounter.com/click.js?v=1.8 Sage Pay
mxcounter.com/click.js?v=2.0 Authorize.Net
mxcounter.com/click.js?v=2.1 Braintree
mxcounter.com/click.js?v=2.2 贝宝
mxcounter.com/click.js?v=2.3 Sage Pay
mxcounter.com/click.js?v=2.31 Sage Pay
mxcounter.com/click.js?v=2.32 Authorize.Net
mxcounter.com/click.js?v=2.33 贝宝
mxcounter.com/click.js?v=2.34 Authorize.Net
mxcounter.com/click.js?v=2.35 威瑞信
mxcounter.com/cnt.js Authorize.Net
mxcounter.com/j.js Authorize.Net
newrelicnet.com/api.js?v=1.2 Authorize.Net
newrelicnet.com/api.js?v=1.4 Authorize.Net
newrelicnet.com/api.js?v=1.8 Sage Pay
newrelicnet.com/api.js?v=4.5 Sage Pay
newrelicnet.com/api.js?v=4.6 西太平洋银行PayWay
nr-public.com/api.js?v=2.0 支付宝
nr-public.com/api.js?v=2.1 贝宝
nr-public.com/api.js?v=2.2 Authorize.Net
nr-public.com/api.js?v=2.3 条纹
nr-public.com/api.js?v=2.4 第一个数据全球网关
nr-public.com/api.js?v=2.5 PsiGate
nr-public.com/api.js?v=2.6 Authorize.Net
nr-public.com/api.js?v=2.7 Authorize.Net
nr-public.com/api.js?v=2.8 Moneris
nr-public.com/api.js?v=2.9 Authorize.Net
nr-public.com/api.js?v=3.1 Sage Pay
nr-public.com/api.js?v=3.2 威瑞信
nr-public.com/api.js?v=3.3 Moneris
nr-public.com/api.js?v=3.5 贝宝
nr-public.com/api.js?v=3.6 链接点
nr-public.com/api.js?v=3.7 西太平洋银行PayWay
nr-public.com/api.js?v=3.8 Authorize.Net
nr-public.com/api.js?v=4.0 Moneris
nr-public.com/api.js?v=4.0.2 贝宝
nr-public.com/api.js?v=4.0.3 Adyen
nr-public.com/api.js?v=4.0.4 贝宝
nr-public.com/api.js?v=4.0.5 Authorize.Net
nr-public.com/api.js?v=4.0.6 USAePay
nr-public.com/api.js?v=4.0.7 电子商务收费
nr-public.com/api.js?v=4.0.8 Authorize.Net
nr-public.com/api.js?v=4.0.9 威瑞信
nr-public.com/api.js?v=4.1.2 威瑞信
ordercheckpays.com/api.js?v=2.11 Authorize.Net
ordercheckpays.com/api.js?v=2.12 贝宝
ordercheckpays.com/api.js?v=2.13 Moneris
ordercheckpays.com/api.js?v=2.14 Authorize.Net
ordercheckpays.com/api.js?v=2.15 贝宝
ordercheckpays.com/api.js?v=2.16 贝宝
ordercheckpays.com/api.js?v=2.17 西太平洋银行PayWay
ordercheckpays.com/api.js?v=2.18 Authorize.Net
ordercheckpays.com/api.js?v=2.19 Authorize.Net
ordercheckpays.com/api.js?v=2.21 Sage Pay
ordercheckpays.com/api.js?v=2.22 威瑞信
ordercheckpays.com/api.js?v=2.23 Authorize.Net
ordercheckpays.com/api.js?v=2.24 贝宝
ordercheckpays.com/api.js?v=2.25 支付宝
ordercheckpays.com/api.js?v=2.29 Cyber​​Source的
ordercheckpays.com/api.js?v=2.4 贝宝Payflow Pro
ordercheckpays.com/api.js?v=2.7 Authorize.Net
ordercheckpays.com/api.js?v=2.8 Authorize.Net
ordercheckpays.com/api.js?v=2.9 威瑞信
ordercheckpays.com/api.js?v=3.1 Authorize.Net
ordercheckpays.com/api.js?v=3.2 Authorize.Net
ordercheckpays.com/api.js?v=3.3 Sage Pay
ordercheckpays.com/api.js?v=3.4 Authorize.Net
ordercheckpays.com/api.js?v=3.5 条纹
ordercheckpays.com/api.js?v=3.6 Authorize.Net
ordercheckpays.com/api.js?v=3.7 Authorize.Net
ordercheckpays.com/api.js?v=3.8 威瑞信
ordercheckpays.com/api.js?v=3.9 贝宝
ordercheckpays.com/api.js?v=4.0 Authorize.Net
ordercheckpays.com/api.js?v=4.1 Authorize.Net
ordercheckpays.com/api.js?v=4.2 Sage Pay
ordercheckpays.com/api.js?v=4.3 Authorize.Net
reactjsapi.com/api.js?v=0.1.0 Authorize.Net
reactjsapi.com/api.js?v=0.1.1 贝宝
reactjsapi.com/api.js?v=4.1.2 燧石
reactjsapi.com/api.js?v=4.1.4 贝宝
reactjsapi.com/api.js?v=4.1.5 Sage Pay
reactjsapi.com/api.js?v=4.1.51 威瑞信
reactjsapi.com/api.js?v=4.1.6 Authorize.Net
reactjsapi.com/api.js?v=4.1.7 Authorize.Net
reactjsapi.com/api.js?v=4.1.8 条纹
reactjsapi.com/api.js?v=4.1.9 胖斑马
reactjsapi.com/api.js?v=4.2.0 Sage Pay
reactjsapi.com/api.js?v=4.2.1 Authorize.Net
reactjsapi.com/api.js?v=4.2.2 第一个数据全球网关
reactjsapi.com/api.js?v=4.2.3 Authorize.Net
reactjsapi.com/api.js?v=4.2.4 易路快速
reactjsapi.com/api.js?v=4.2.5 Adyen
reactjsapi.com/api.js?v=4.2.7 贝宝
reactjsapi.com/api.js?v=4.2.8 QuickBooks 商家服务
reactjsapi.com/api.js?v=4.2.9 威瑞信
reactjsapi.com/api.js?v=4.2.91 Sage Pay
reactjsapi.com/api.js?v=4.2.92 威瑞信
reactjsapi.com/api.js?v=4.2.94 Authorize.Net
reactjsapi.com/api.js?v=4.3.97 Authorize.Net
reactjsapi.com/api.js?v=4.5 Sage Pay
reactjsapi.com/react.js Authorize.Net
sydneysalonsupplies.com/gtm.js 易路快速
Tagsmediaget.com/react.js Authorize.Net
tagtracking.com/tag.js?v=2.1.2 澳新银行电子门
tagtracking.com/tag.js?v=2.1.3 贝宝
tagtracking.com/tag.js?v=2.1.5 Cyber​​Source的
tagtracking.com/tag.js?v=2.1.7 Authorize.Net
tagtracking.com/tag.js?v=2.1.8 Sage Pay
tagtracking.com/tag.js?v=2.1.9 Realex
tagtracking.com/tag.js?v=2.2.0 Cyber​​Source的
tagtracking.com/tag.js?v=2.2.1 贝宝
tagtracking.com/tag.js?v=2.2.2 贝宝
tagtracking.com/tag.js?v=2.2.3 贝宝
tagtracking.com/tag.js?v=2.2.4 威瑞信
tagtracking.com/tag.js?v=2.2.5 易路快速
tagtracking.com/tag.js?v=2.2.7 Sage Pay
tagtracking.com/tag.js?v=2.2.8 Sage Pay
tagtracking.com/tag.js?v=2.2.9 威瑞信
tagtracking.com/tag.js?v=2.3.0 Authorize.Net
tagtracking.com/tag.js?v=2.3.1 Authorize.Net
tagtracking.com/tag.js?v=2.3.2 第一个数据全球网关
tagtracking.com/tag.js?v=2.3.3 Authorize.Net
tagtracking.com/tag.js?v=2.3.4 Authorize.Net
tagtracking.com/tag.js?v=2.3.5 Moneris
tagtracking.com/tag.js?v=2.3.6 Authorize.Net
tagtracking.com/tag.js?v=2.3.8 贝宝

密码嗅探器

在网站客户端工作的 JavaScript 嗅探器的优点之一是其多功能性:嵌入网站的恶意代码可以窃取任何类型的数据,无论是支付数据还是用户帐户的登录名和密码。 Group-IB 专家发现了属于 ReactGet 系列的嗅探器样本,旨在窃取网站用户的电子邮件地址和密码。

四个 JavaScript 嗅探器在在线商店中等待着您

与 ImageID 嗅探器的交集

在对其中一家受感染商店进行分析时,发现其网站被感染两次:除了ReactGet家族嗅探器的​​恶意代码外,还检测到了ImageID家族嗅探器的​​代码。 这种重叠可能证明两个嗅探器背后的操作者使用类似的技术来注入恶意代码。

四个 JavaScript 嗅探器在在线商店中等待着您

通用嗅探器

对与 ReactGet 嗅探器基础设施关联的域名之一的分析显示,同一用户还注册了其他三个域名。 这三个域模仿了现实生活中网站的域,以前用于托管嗅探器。 在分析三个合法站点的代码时,检测到了一个未知的嗅探器,进一步分析表明它是ReactGet嗅探器的改进版本。 该系列嗅探器之前监控的所有版本均针对单一支付系统,即每个支付系统都需要一个特殊版本的嗅探器。 然而,在这种情况下,发现了一个通用版本的嗅探器,它能够从与 15 种不同的支付系统和电子商务网站模块相关的表单中窃取信息,以进行在线支付。

因此,在工作开始时,嗅探器搜索包含受害者个人信息的基本表单字段:全名、实际地址、电话号码。

四个 JavaScript 嗅探器在在线商店中等待着您
然后,嗅探器搜索了对应于不同支付系统和在线支付模块的超过 15 个不同前缀。

四个 JavaScript 嗅探器在在线商店中等待着您
接下来,受害者的个人数据和支付信息被收集在一起并发送给攻击者控制的网站:在这种特殊情况下,发现了两个版本的通用 ReactGet 嗅探器,分别位于两个不同的被黑网站上。 然而,两个版本都将窃取的数据发送到同一个被黑网站 动物园网.

四个 JavaScript 嗅探器在在线商店中等待着您
通过分析嗅探器用于搜索包含受害者支付信息的字段的前缀,我们可以确定此嗅探器样本针对以下支付系统:

  • Authorize.Net
  • 威瑞信
  • 第一数据
  • USAePay
  • 条纹
  • 贝宝
  • 澳新银行电子门
  • Braintree
  • 数据现金(万事达卡)
  • Realex 支付
  • PsiGate
  • 中心支付系统

使用哪些工具窃取支付信息?

第一个工具是在分析攻击者的基础设施过程中发现的,用于混淆导致银行卡被盗的恶意脚本。 在攻击者的一台主机上发现了使用该项目 CLI 的 bash 脚本 javascript 混淆器 自动混淆嗅探器代码。

四个 JavaScript 嗅探器在在线商店中等待着您
第二个发现的工具旨在生成负责加载主嗅探器的代码。 该工具生成 JavaScript 代码,通过搜索用户当前地址中的字符串来检查用户是否在支付页面上 结帐, 大车 等等,如果结果是肯定的,那么代码就会从攻击者的服务器加载主嗅探器。 为了隐藏恶意活动,所有行(包括用于确定支付页面的测试行以及嗅探器的链接)均使用以下代码进行编码 base64.

四个 JavaScript 嗅探器在在线商店中等待着您

网络钓鱼攻击

对攻击者网络基础设施的分析表明,犯罪团伙经常使用网络钓鱼来访问目标在线商店的管理面板。 攻击者注册一个在视觉上与商店域名相似的域名,然后在其上部署一个伪造的 Magento 管理面板登录表单。 如果成功,攻击者将获得对 Magento CMS 管理面板的访问权限,这使他们有机会编辑网站组件并实施嗅探器来窃取信用卡数据。

四个 JavaScript 嗅探器在在线商店中等待着您
基础设施

域名 发现/出现日期
媒体包信息 04.05.2017
adsgetapi.com 15.06.2017
simcounter.com 14.08.2017
mageanalytics.com 22.12.2017
maxstatics.com 16.01.2018
反应jsapi.com 19.01.2018
MXcounter.com 02.02.2018
apitstatus.com 01.03.2018
orderracker.com 20.04.2018
标签追踪网站 25.06.2018
adsapigate.com 12.07.2018
trust-tracker.com 15.07.2018
fbstatspartner.com 02.10.2018
billgetstatus.com 12.10.2018
www.aldenmlilhouse.com 20.10.2018
balletbeautlful.com 20.10.2018
bargalnjunkie.com 20.10.2018
payselector.com 21.10.2018
Tagsmediaget.com 02.11.2018
hs-付款.com 16.11.2018
ordercheckpays.com 19.11.2018
geisseie.com 24.11.2018
gtmproc.com 29.11.2018
livegetpay.com 18.12.2018
悉尼沙龙用品网 18.12.2018
newrelicnet.com 19.12.2018
NR-public.com 03.01.2019
Cloudodesc.com 04.01.2019
ajaxstatic.com 11.01.2019
livecheckpay.com 21.01.2019
asianfoodgracer.com 25.01.2019

G-Analytics 系列

该嗅探器系列用于从在线商店窃取客户卡。 该组织使用的第一个域名于 2016 年 2016 月注册,这可能表明该组织于 XNUMX 年中期开始活动。

在当前的活动中,该组织使用模仿现实服务的域名,例如 Google Analytics 和 jQuery,用合法脚本和类似于合法域名的域名来掩盖嗅探器的活动。 运行 Magento CMS 的站点受到攻击。

如何将 G-Analytics 实施到在线商店的代码中

该家族的一个显着特征是利用各种手段窃取用户支付信息。 除了向网站客户端注入经典的 JavaScript 代码之外,犯罪团伙还向网站的服务器端使用代码注入技术,即处理用户输入数据的 PHP 脚本。 这种技术很危险,因为它使第三方研究人员很难检测到恶意代码。 Group-IB 专家发现了嵌入在网站 PHP 代码中的嗅探器版本,使用域作为入口 迪特姆网站.

四个 JavaScript 嗅探器在在线商店中等待着您
还发现了嗅探器的早期版本,它使用相同的域来收集被盗数据 迪特姆网站,但此版本适用于安装在在线商店的客户端。

四个 JavaScript 嗅探器在在线商店中等待着您
该组织后来改变了策略,开始更多地关注隐藏恶意活动和伪装。

2017年初,该集团开始使用该域名 jquery-js.com,伪装成 jQuery 的 CDN:当访问攻击者的站点时,用户被重定向到合法站点 jquery 网站.

并于2018年年中,集团采用了域名 g-analytics.com 并开始将嗅探器的活动伪装成合法的 Google Analytics 服务。

四个 JavaScript 嗅探器在在线商店中等待着您
四个 JavaScript 嗅探器在在线商店中等待着您

版本分析

在对用于存储嗅探器代码的域进行分析时,发现该站点包含大量版本,这些版本的不同之处在于是否存在混淆,以及是否存在添加到文件中以分散注意力的无法访问的代码并隐藏恶意代码。

网站总计 jquery-js.com 已识别出六种版本的嗅探器。 这些嗅探器将窃取的数据发送到与嗅探器本身位于同一网站上的地址: hxxps://jquery-js[.]com/latest/jquery.min.js:

  • hxxps://jquery-js[.]com/jquery.min.js
  • hxxps://jquery-js[.]com/jquery.2.2.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.8.3.min.js
  • hxxps://jquery-js[.]com/jquery.1.6.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.4.4.min.js
  • hxxps://jquery-js[.]com/jquery.1.12.4.min.js

后期域名 g-analytics.com自 2018 年中期以来,该组织在攻击中使用它,作为更多嗅探器的存储库。 总共发现了 16 个不同版本的嗅探器。 在这种情况下,发送被盗数据的入口被伪装成图像格式的链接 的GIF: hxxp://g-analytics[.]com/__utm.gif?v=1&_v=j68&a=98811130&t=pageview&_s=1&sd=24-bit&sr=2560×1440&vp=2145×371&je=0&_u=AACAAEAB~&jid=1841704724&gjid=877686936&cid
= 1283183910.1527732071
:

  • hxxps://g-analytics[.]com/libs/1.0.1/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.10/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.11/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.12/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.13/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.14/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.15/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.16/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.3/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.4/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.5/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.6/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.7/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.8/analytics.js
  • hxxps://g-analytics[.]com/libs/1.0.9/analytics.js
  • hxxps://g-analytics[.]com/libs/analytics.js

将被盗数据货币化

犯罪团伙通过专门创建的地下商店出售卡片,为卡片持有者提供服务,从而将窃取的数据货币化。 对攻击者使用的域的分析使我们能够确定 谷歌分析.cm 由与域相同的用户注册 卡兹.vc。 领域 卡兹.vc Cardsurfs(Flysurfs)是指出售被盗银行卡的商店,该商店早在地下交易平台 AlphaBay 活动期间就因出售使用嗅探器盗取的银行卡而广受欢迎。

四个 JavaScript 嗅探器在在线商店中等待着您
分析域 分析性的与嗅探器用来收集被盗数据的域位于同一服务器上,Group-IB 专家发现了一个包含 cookie 窃取程序日志的文件,该文件后来似乎已被开发人员放弃。 日志中的条目之一包含域 iozoz.com,之前曾在 2016 年活跃的嗅探器之一中使用过。 据推测,该域之前被攻击者用来收集使用嗅探器窃取的卡。 该域名已注册到一个电子邮件地址 [电子邮件保护],也用于注册域名 卡兹网 и 卡兹.vc,与梳理商店 Cardsurfs 相关。

根据获得的数据,可以推测G-Analytics家族的嗅探器和销售银行卡的地下商店Cardsurfs由同一个人管理,该商店用于销售利用嗅探器盗取的银行卡。

基础设施

域名 发现/出现日期
iozoz.com 08.04.2016
迪特姆网站 10.09.2016
jquery-js.com 02.01.2017
g-analytics.com 31.05.2018
谷歌分析.is 21.11.2018
解析式 04.12.2018
google-analytics.to 06.12.2018
谷歌分析.cm 28.12.2018
分析性的 28.12.2018
googlc-analytics.cm 17.01.2019

伊鲁姆家族

Illum 是一个嗅探器系列,用于攻击运行 Magento CMS 的在线商店。 除了引入恶意代码之外,该嗅探器的操作员还引入了成熟的虚假支付表单,将数据发送到攻击者控制的大门。

在分析该嗅探器运营商使用的网络基础设施时,发现了大量恶意脚本、漏洞利用、虚假支付表单以及竞争对手的恶意嗅探器示例集合。 根据有关该组织使用的域名出现日期的信息,可以假设该活动于 2016 年底开始。

Illum 如何实现到在线商店的代码中

发现的嗅探器的第一个版本直接嵌入到受感染站点的代码中。 被盗数据已发送至 cdn.illum[.]pw/records.php,门的编码使用 base64.

四个 JavaScript 嗅探器在在线商店中等待着您
后来,发现了嗅探器的封装版本,它使用了不同的门—— 记录.nstatistics[.]com/records.php.

四个 JavaScript 嗅探器在在线商店中等待着您
根据 报告 Willem de Groot,嗅探器中使用了相同的主机,该主机是在 商店网站,隶属于德国政党基社盟。

攻击者网站分析

Group-IB 专家发现并分析了该犯罪集团用来存储工具和收集被盗信息的网站。

四个 JavaScript 嗅探器在在线商店中等待着您
攻击者服务器上发现的工具包括用于在 Linux 操作系统中升级权限的脚本和漏洞:例如,Mike Czumak 开发的 Linux 权限升级检查脚本,以及 CVE-2009-1185 的漏洞。

攻击者使用两个漏洞直接攻击在线商店: 第一 能够将恶意代码注入 核心配置数据 通过利用 CVE-2016-4010, 第二 利用 CMS Magento 插件中的 RCE 漏洞,允许在易受攻击的 Web 服务器上执行任意代码。

四个 JavaScript 嗅探器在在线商店中等待着您
此外,在对服务器的分析过程中,还发现了各种嗅探器和虚假支付表单样本,攻击者利用这些样本从被黑网站收集支付信息。 从下面的列表中您可以看到,一些脚本是为每个被黑网站单独创建的,而通用解决方案则用于某些 CMS 和支付网关。 例如,脚本 segapay_standart.js и segapay_onpage.js 专为在使用 Sage Pay 支付网关的网站上实施而设计。

各种支付网关的脚本列表

脚本 支付网关
伊勒姆先生[.]pw/mjs_special/visiondirect.co.uk.js //request.payrightnow[.]cf/check payment.php
伊勒姆先生[.]pw/mjs_special/topdierenshop.nl.js //request.payrightnow[.]cf/alldata.php
伊勒姆先生[.]pw/mjs_special/tiendalenovo.es.js //request.payrightnow[.]cf/alldata.php
伊勒姆先生[.]pw/mjs_special/pro-bolt.com.js //request.payrightnow[.]cf/alldata.php
伊勒姆先生[.]pw/mjs_special/plae.co.js //request.payrightnow[.]cf/alldata.php
伊勒姆先生[.]pw/mjs_special/ottolenghi.co.uk.js //request.payrightnow[.]cf/alldata.php
伊勒姆先生[.]pw/mjs_special/oldtimecandy.com.js //request.payrightnow[.]cf/check payment.php
伊勒姆先生[.]pw/mjs_special/mylook.ee.js //cdn.illum[.]pw/records.php
伊勒姆先生[.]pw/mjs_special/luluandsky.com.js //request.payrightnow[.]cf/check payment.php
伊勒姆先生[.]pw/mjs_special/julep.com.js //cdn.illum[.]pw/records.php
伊勒姆先生[.]pw/mjs_special/gymcompany.es.js //request.payrightnow[.]cf/alldata.php
伊勒姆先生[.]pw/mjs_special/grotekadoshop.nl.js //request.payrightnow[.]cf/alldata.php
伊勒姆先生[.]pw/mjs_special/fushi.co.uk.js //request.payrightnow[.]cf/check payment.php
伊勒姆先生[.]pw/mjs_special/fareastflora.com.js //request.payrightnow[.]cf/check payment.php
伊勒姆先生[.]pw/mjs_special/compuindia.com.js //request.payrightnow[.]cf/alldata.php
伊勒姆先生[.]pw/mjs/segapay_standart.js //cdn.illum[.]pw/records.php
伊勒姆先生[.]pw/mjs/segapay_onpage.js //cdn.illum[.]pw/records.php
伊勒姆先生[.]pw/mjs/replace_standart.js //request.payrightnow[.]cf/check payment.php
伊勒姆先生[.]pw/mjs/all_inputs.js //cdn.illum[.]pw/records.php
伊勒姆先生[.]pw/mjs/add_inputs_standart.js //request.payrightnow[.]cf/check payment.php
伊勒姆先生[.]pw/magento/ payment_standart.js //cdn.illum[.]pw/records.php
伊勒姆先生[.]pw/magento/ payment_redirect.js //payrightnow[.]cf/? payment=
伊勒姆先生[.]pw/magento/ payment_redcrypt.js //payrightnow[.]cf/? payment=
伊勒姆先生[.]pw/magento/ payment_forminsite.js // paymentnow[.]tk/? payment=

主持人 立即付款[.]tk,用作脚本中的门 payment_forminsite.js,被发现为 主题替代名称 与 CloudFlare 服务相关的多个证书。 此外,主机还包含一个脚本 邪恶.js。 从脚本的名称来看,它可以用作 CVE-2016-4010 漏洞利用的一部分,因此可以将恶意代码注入到运行 CMS Magento 的网站的页脚中。 主机使用此脚本作为门 request.requestnet[.]tk使用与主机相同的证书 立即付款[.]tk.

虚假付款表格

下图显示了用于输入卡数据的表单示例。 该表单用于渗透在线商店并窃取卡数据。

四个 JavaScript 嗅探器在在线商店中等待着您
下图显示了攻击者使用假 PayPal 付款表单渗透使用此付款方式的网站的示例。
四个 JavaScript 嗅探器在在线商店中等待着您
基础设施

域名 发现/出现日期
CDN.illum.pw 27/11/2016
记录.nstatistics.com 06/09/2018
请求.payrightnow.cf 25/05/2018
支付宝 16/07/2017
支付线.tk 01/03/2018
支付宝.cf 04/09/2017
请求网.tk 28/06/2017

咖啡Mokko家族

CoffeMokko 系列嗅探器旨在窃取在线商店用户的银行卡,至少从 2017 年 1 月起就开始使用。 据推测,该嗅探器系列的操作者是 RiskIQ 专家在 2016 年描述的犯罪集团 Group XNUMX。 运行 Magento、OpenCart、WordPress、osCommerce 和 Shopify 等 CMS 的网站受到攻击。

如何将 CoffeMokko 实现到在线商店的代码中

该家族的操作者为每次感染创建独特的嗅探器:嗅探器文件位于目录中 SRC или js 在攻击者的服务器上。 通过直接链接到嗅探器来合并到站点代码中。

四个 JavaScript 嗅探器在在线商店中等待着您
嗅探器代码对需要窃取数据的表单字段的名称进行硬编码。 嗅探器还通过检查关键字列表和用户当前地址来检查用户是否在支付页面上。

四个 JavaScript 嗅探器在在线商店中等待着您
一些发现的嗅探器版本被混淆了,并包含一个加密字符串,其中存储了主要的资源数组:它包含各种支付系统的表单字段的名称,以及被盗数据应发送到的网关地址。

四个 JavaScript 嗅探器在在线商店中等待着您
窃取的支付信息一路发送到攻击者服务器上的脚本 /savePayment/index.php 或 /tr/index.php。 据推测,该脚本用于将数据从网关发送到主服务器,该服务器合并来自所有嗅探器的数据。 为了隐藏传输的数据,受害者的所有支付信息都使用加密 base64,然后发生几个字符替换:

  • “e”字符被替换为“:”
  • “w”符号替换为“+”
  • “o”字符替换为“%”
  • “d”字符替换为“#”
  • 字符“a”被替换为“-”
  • 符号“7”替换为“^”
  • 字符“h”被替换为“_”
  • “T”符号替换为“@”
  • 字符“0”被“/”替换
  • “Y”字符替换为“*”

作为使用编码的字符替换的结果 base64 如果不执行反向转换,则无法对数据进行解码。

这是未经混淆的嗅探器代码片段的样子:

四个 JavaScript 嗅探器在在线商店中等待着您

基础设施分析

在早期的活动中,攻击者注册了与合法在线购物网站类似的域名。 他们的域名可能与合法的符号或另一个顶级域名 (TLD) 有所不同。 注册域名用于存储嗅探器代码,其链接嵌入在存储代码中。

该组织还使用了让人想起流行的 jQuery 插件的域名(slickjs[.]org 对于使用该插件的网站 slick.js)、支付网关(sagecdn[.]org 适用于使用 Sage Pay 支付系统的网站)。

后来,该小组开始创建域名,其名称与商店的域名或商店的主题无关。

四个 JavaScript 嗅探器在在线商店中等待着您
每个域对应于创建目录的站点 /js или /源。 嗅探器脚本存储在此目录中:每个新感染都有一个嗅探器。 嗅探器通过直接链接嵌入到网站代码中,但在极少数情况下,攻击者会修改网站文件之一并向其中添加恶意代码。

代码分析

第一种混淆算法

在该系列嗅探器的一些发现样本中,代码被混淆并包含嗅探器工作所需的加密数据:特别是嗅探器门地址、支付表单字段列表,以及在某些情况下,假冒的代码付款表格。 在函数内的代码中,资源使用加密 XOR 通过作为参数传递给同一函数的键。

四个 JavaScript 嗅探器在在线商店中等待着您
通过使用每个样本唯一的适当密钥解密字符串,您可以获得一个包含嗅探器代码中由分隔符分隔的所有字符串的字符串。

四个 JavaScript 嗅探器在在线商店中等待着您

第二种混淆算法

在该系列嗅探器的后续样本中,使用了不同的混淆机制:在这种情况下,使用自编写的算法对数据进行加密。 包含嗅探器操作所需的加密数据的字符串作为参数传递给解密函数。

四个 JavaScript 嗅探器在在线商店中等待着您
使用浏览器控制台,您可以解密加密数据并获取包含嗅探器资源的数组。

四个 JavaScript 嗅探器在在线商店中等待着您

与早期 MagCart 攻击的联系

在对该组织用作收集被盗数据的网关的一个域进行分析时,发现该域托管着用于信用卡盗窃的基础设施,与第一组(第一批组织之一)使用的基础设施相同, 发现 由 RiskIQ 专家提供。

在 CoffeMokko 系列嗅探器的主机上发现了两个文件:

  • 法师.js — 包含带有门地址的第 1 组嗅探器代码的文件 js-cdn.link
  • mag.php — PHP脚本负责收集嗅探器窃取的数据

mage.js 文件的内容 四个 JavaScript 嗅探器在在线商店中等待着您
还确定了 CoffeMokko 嗅探器家族背后的组织最早使用的域名注册于 17 年 2017 月 XNUMX 日:

  • link-js[.]link
  • info-js[.]链接
  • track-js[.]链接
  • 地图-js[.]链接
  • smart-js[.]链接

这些域名的格式与 1 年攻击中使用的第 2016 组域名相匹配。

根据发现的事实,可以推测 CoffeMokko 嗅探器的操作者与犯罪集团 Group 1 之间存在联系。 据推测,CoffeMokko 运营商可能借用了前任的工具和软件来窃取卡片。 然而,更有可能的是,使用 CoffeMokko 系列嗅探器的犯罪团伙与实施第 1 组攻击的人是同一个人。在发布关于该犯罪团伙活动的第一份报告后,他们的所有域名都被锁定。封锁并对工具进行了详细研究和描述。 该组织被迫休息,改进其内部工具并重写嗅探器代码,以便继续攻击并保持不被发现。

基础设施

域名 发现/出现日期
link-js.link 17.05.2017
信息-js.link 17.05.2017
track-js.link 17.05.2017
地图-js.link 17.05.2017
smart-js.link 17.05.2017
爱丽美网 03.09.2017
安全支付.su 03.09.2017
Braincdn.org 04.09.2017
sagecdn.org 04.09.2017
slickjs.org 04.09.2017
橡树堡网站 10.09.2017
citywlnery.org 15.09.2017
多贝尔网 04.10.2017
儿童游戏服装网 31.10.2017
jewsondirect.com 05.11.2017
商店-rnib.org 15.11.2017
伦敦壁橱网 16.11.2017
米斯豪斯网站 28.11.2017
电池力量.org 01.12.2017
kik-vape.org 01.12.2017
伟大的家具贸易公司 02.12.2017
etradesupply.org 04.12.2017
替换我的远程.org 04.12.2017
all-about-sneakers.org 05.12.2017
mage-checkout.org 05.12.2017
尼利洛坦网 07.12.2017
拉穆德比加特网 08.12.2017
walletgear.org 10.12.2017
达利网 12.12.2017
davidsfootwear.org 20.12.2017
黑河影像网 23.12.2017
exrpesso.org 02.01.2018
公园苏 09.01.2018
普顿在线 12.01.2018
奥托卡普网站 15.01.2018
克里斯托珀沃德网站 27.01.2018
咖啡茶网 31.01.2018
energycoffe.org 31.01.2018
能源茶网 31.01.2018
茶咖啡网 31.01.2018
自适应CSS.org 01.03.2018
咖啡网 01.03.2018
伦敦茶网 01.03.2018
ukcoffe.com 01.03.2018
拉贝网 20.03.2018
电池技术网站 03.04.2018
btosports.net 09.04.2018
Chicksaddlery.net 16.04.2018
paypaypay.org 11.05.2018
ar500arnor.com 26.05.2018
授权cdn.com 28.05.2018
slickmin.com 28.05.2018
横幅巴兹信息 03.06.2018
康提笔网 08.06.2018
mylrendyphone.com 15.06.2018
新鲜聊天信息 01.07.2018
3lift.org 02.07.2018
abtasty.net 02.07.2018
机械信息网 02.07.2018
佐普勒姆网站 02.07.2018
zapaljs.com 02.09.2018
foodandcot.com 15.09.2018
freshdepor.com 15.09.2018
swappastore.com 15.09.2018
verywellfitnesse.com 15.09.2018
elegrina.com 18.11.2018
majsurplus.com 19.11.2018
top5value.com 19.11.2018

来源: habr.com

添加评论