几乎我们所有人都使用在线商店的服务,这意味着我们迟早会面临成为 JavaScript 嗅探器受害者的风险 - 攻击者在网站上实施的特殊代码,用于窃取用户的银行卡数据、地址、登录名和密码。
英国航空公司网站和移动应用程序的近 400 万用户以及体育巨头 FILA 英国网站和美国门票分销商 Ticketmaster 的访问者已经受到嗅探器的影响。 PayPal、Chase Paymenttech、USAePay、Moneris - 这些以及许多其他支付系统都受到了感染。
Threat Intelligence Group-IB 分析师 Viktor Okorokov 谈论嗅探器如何渗透网站代码并窃取支付信息,以及他们攻击哪些 CRM。
“隐藏的威胁”
碰巧的是,很长一段时间以来,JS 嗅探器一直处于反病毒分析师的视线之外,银行和支付系统也没有将它们视为严重威胁。 完全是徒劳的。 IB组专家
让我们详细讨论一下研究期间研究的四个嗅探器家族。
ReactGet 家族
ReactGet 系列的嗅探器用于窃取在线购物网站上的银行卡数据。 该嗅探器可以与网站上使用的大量不同支付系统配合使用:一个参数值对应于一种支付系统,并且嗅探器的各个检测到的版本可用于窃取凭据,以及从支付中窃取银行卡数据同时使用多种支付系统的形式,例如所谓的通用嗅探器。 研究发现,在某些情况下,攻击者会对在线商店管理员进行网络钓鱼攻击,以获得对该网站管理面板的访问权限。
使用该系列嗅探器的活动于 2017 年 XNUMX 月开始;运行 CMS 和 Magento、Bigcommerce 和 Shopify 平台的网站受到攻击。
ReactGet 如何实现到在线商店的代码中
除了通过链接实现脚本的“经典”之外,ReactGet 系列嗅探器的操作员还使用一种特殊的技术:使用 JavaScript 代码,检查用户所在的当前地址是否满足特定条件。 仅当子字符串存在于当前 URL 中时,恶意代码才会被执行 结帐 или 一步结账, 一页/, 出/onepag, 结账/一, 结账/一。 因此,嗅探器代码将在用户继续支付购买费用并将支付信息输入网站表格时准确执行。
该嗅探器使用非标准技术。 受害者的付款和个人数据被收集在一起并使用编码 base64,然后将得到的字符串用作参数,向攻击者的网站发送请求。 大多数情况下,门的路径会模仿 JavaScript 文件,例如 响应.js, data.js 等等,但也使用图像文件的链接, 的GIF и JPG格式。 其特点是嗅探器创建一个 1 x 1 像素大小的图像对象,并使用先前接收到的链接作为参数 SRC 图片。 也就是说,对于用户来说,这样的流量请求看起来就像是对普通图片的请求。 ImageID 系列嗅探器中使用了类似的技术。 此外,许多合法的在线分析脚本中都使用了使用 1 x 1 像素图像的技术,这也可能会误导用户。
版本分析
对 ReactGet 嗅探器操作员使用的活动域的分析揭示了该嗅探器家族的许多不同版本。 版本的不同之处在于是否存在混淆,此外,每个嗅探器都是针对处理在线商店银行卡支付的特定支付系统而设计的。 对与版本号相对应的参数值进行排序后,Group-IB 专家收到了可用嗅探器变体的完整列表,并根据每个嗅探器在页面代码中查找的表单字段的名称,他们识别了支付系统嗅探器的目标。
嗅探器列表及其对应的支付系统
嗅探器网址 | 支付系统 |
---|---|
|
Authorize.Net |
存卡 | |
|
Authorize.Net |
Authorize.Net | |
|
易路快速 |
Authorize.Net | |
Adyen | |
|
USAePay |
Authorize.Net | |
USAePay | |
|
Authorize.Net |
Moneris | |
USAePay | |
贝宝 | |
Sage Pay | |
威瑞信 | |
贝宝 | |
条纹 | |
|
Realex |
贝宝 | |
链接点 | |
贝宝 | |
贝宝 | |
数据现金 | |
|
贝宝 |
|
Authorize.Net |
|
Authorize.Net |
Authorize.Net | |
Authorize.Net | |
|
威瑞信 |
|
Authorize.Net |
Moneris | |
|
Sage Pay |
|
USAePay |
|
Authorize.Net |
|
Authorize.Net |
|
澳新银行电子门 |
|
Authorize.Net |
|
Moneris |
|
Sage Pay |
Sage Pay | |
|
大通帕耶奇 |
|
Authorize.Net |
|
Adyen |
PsiGate | |
CyberSource的 | |
澳新银行电子门 | |
Realex | |
|
USAePay |
|
Authorize.Net |
|
Authorize.Net |
|
澳新银行电子门 |
|
贝宝 |
|
贝宝 |
Realex | |
|
Sage Pay |
|
贝宝 |
|
威瑞信 |
Authorize.Net | |
|
威瑞信 |
Authorize.Net | |
|
澳新银行电子门 |
贝宝 | |
CyberSource的 | |
|
Authorize.Net |
|
Sage Pay |
Realex | |
|
CyberSource的 |
贝宝 | |
贝宝 | |
|
贝宝 |
|
威瑞信 |
|
易路快速 |
|
Sage Pay |
Sage Pay | |
|
威瑞信 |
Authorize.Net | |
Authorize.Net | |
|
第一个数据全球网关 |
Authorize.Net | |
Authorize.Net | |
Moneris | |
|
Authorize.Net |
|
贝宝 |
|
威瑞信 |
|
USAePay |
USAePay | |
Authorize.Net | |
威瑞信 | |
贝宝 | |
|
Authorize.Net |
条纹 | |
|
Authorize.Net |
易路快速 | |
|
Sage Pay |
Authorize.Net | |
|
Braintree |
|
Braintree |
|
贝宝 |
|
Sage Pay |
|
Sage Pay |
|
Authorize.Net |
|
贝宝 |
|
Authorize.Net |
威瑞信 | |
|
贝宝 |
|
Authorize.Net |
|
条纹 |
|
Authorize.Net |
易路快速 | |
Sage Pay | |
|
Authorize.Net |
Braintree | |
|
贝宝 |
|
Sage Pay |
Sage Pay | |
|
Authorize.Net |
贝宝 | |
Authorize.Net | |
|
威瑞信 |
|
Authorize.Net |
|
Authorize.Net |
|
Authorize.Net |
|
Authorize.Net |
|
Sage Pay |
Sage Pay | |
|
西太平洋银行PayWay |
|
支付宝 |
|
贝宝 |
|
Authorize.Net |
|
条纹 |
|
第一个数据全球网关 |
|
PsiGate |
Authorize.Net | |
Authorize.Net | |
|
Moneris |
|
Authorize.Net |
Sage Pay | |
|
威瑞信 |
Moneris | |
贝宝 | |
|
链接点 |
|
西太平洋银行PayWay |
Authorize.Net | |
|
Moneris |
|
贝宝 |
Adyen | |
贝宝 | |
Authorize.Net | |
USAePay | |
电子商务收费 | |
|
Authorize.Net |
|
威瑞信 |
威瑞信 | |
Authorize.Net | |
|
贝宝 |
|
Moneris |
Authorize.Net | |
|
贝宝 |
贝宝 | |
西太平洋银行PayWay | |
Authorize.Net | |
|
Authorize.Net |
Sage Pay | |
|
威瑞信 |
|
Authorize.Net |
|
贝宝 |
|
支付宝 |
CyberSource的 | |
贝宝Payflow Pro | |
|
Authorize.Net |
|
Authorize.Net |
威瑞信 | |
|
Authorize.Net |
|
Authorize.Net |
Sage Pay | |
Authorize.Net | |
|
条纹 |
|
Authorize.Net |
Authorize.Net | |
威瑞信 | |
|
贝宝 |
Authorize.Net | |
|
Authorize.Net |
Sage Pay | |
|
Authorize.Net |
|
Authorize.Net |
|
贝宝 |
|
燧石 |
|
贝宝 |
Sage Pay | |
威瑞信 | |
|
Authorize.Net |
|
Authorize.Net |
|
条纹 |
|
胖斑马 |
Sage Pay | |
|
Authorize.Net |
第一个数据全球网关 | |
|
Authorize.Net |
|
易路快速 |
Adyen | |
|
贝宝 |
QuickBooks 商家服务 | |
威瑞信 | |
|
Sage Pay |
威瑞信 | |
|
Authorize.Net |
|
Authorize.Net |
Sage Pay | |
|
Authorize.Net |
|
易路快速 |
Authorize.Net | |
|
澳新银行电子门 |
|
贝宝 |
CyberSource的 | |
|
Authorize.Net |
Sage Pay | |
|
Realex |
CyberSource的 | |
|
贝宝 |
|
贝宝 |
|
贝宝 |
|
威瑞信 |
易路快速 | |
|
Sage Pay |
|
Sage Pay |
|
威瑞信 |
Authorize.Net | |
|
Authorize.Net |
|
第一个数据全球网关 |
Authorize.Net | |
Authorize.Net | |
|
Moneris |
|
Authorize.Net |
|
贝宝 |
密码嗅探器
在网站客户端工作的 JavaScript 嗅探器的优点之一是其多功能性:嵌入网站的恶意代码可以窃取任何类型的数据,无论是支付数据还是用户帐户的登录名和密码。 Group-IB 专家发现了属于 ReactGet 系列的嗅探器样本,旨在窃取网站用户的电子邮件地址和密码。
与 ImageID 嗅探器的交集
在对其中一家受感染商店进行分析时,发现其网站被感染两次:除了ReactGet家族嗅探器的恶意代码外,还检测到了ImageID家族嗅探器的代码。 这种重叠可能证明两个嗅探器背后的操作者使用类似的技术来注入恶意代码。
通用嗅探器
对与 ReactGet 嗅探器基础设施关联的域名之一的分析显示,同一用户还注册了其他三个域名。 这三个域模仿了现实生活中网站的域,以前用于托管嗅探器。 在分析三个合法站点的代码时,检测到了一个未知的嗅探器,进一步分析表明它是ReactGet嗅探器的改进版本。 该系列嗅探器之前监控的所有版本均针对单一支付系统,即每个支付系统都需要一个特殊版本的嗅探器。 然而,在这种情况下,发现了一个通用版本的嗅探器,它能够从与 15 种不同的支付系统和电子商务网站模块相关的表单中窃取信息,以进行在线支付。
因此,在工作开始时,嗅探器搜索包含受害者个人信息的基本表单字段:全名、实际地址、电话号码。
然后,嗅探器搜索了对应于不同支付系统和在线支付模块的超过 15 个不同前缀。
接下来,受害者的个人数据和支付信息被收集在一起并发送给攻击者控制的网站:在这种特殊情况下,发现了两个版本的通用 ReactGet 嗅探器,分别位于两个不同的被黑网站上。 然而,两个版本都将窃取的数据发送到同一个被黑网站 动物园网.
通过分析嗅探器用于搜索包含受害者支付信息的字段的前缀,我们可以确定此嗅探器样本针对以下支付系统:
- Authorize.Net
- 威瑞信
- 第一数据
- USAePay
- 条纹
- 贝宝
- 澳新银行电子门
- Braintree
- 数据现金(万事达卡)
- Realex 支付
- PsiGate
- 中心支付系统
使用哪些工具窃取支付信息?
第一个工具是在分析攻击者的基础设施过程中发现的,用于混淆导致银行卡被盗的恶意脚本。 在攻击者的一台主机上发现了使用该项目 CLI 的 bash 脚本
第二个发现的工具旨在生成负责加载主嗅探器的代码。 该工具生成 JavaScript 代码,通过搜索用户当前地址中的字符串来检查用户是否在支付页面上 结帐, 大车 等等,如果结果是肯定的,那么代码就会从攻击者的服务器加载主嗅探器。 为了隐藏恶意活动,所有行(包括用于确定支付页面的测试行以及嗅探器的链接)均使用以下代码进行编码 base64.
网络钓鱼攻击
对攻击者网络基础设施的分析表明,犯罪团伙经常使用网络钓鱼来访问目标在线商店的管理面板。 攻击者注册一个在视觉上与商店域名相似的域名,然后在其上部署一个伪造的 Magento 管理面板登录表单。 如果成功,攻击者将获得对 Magento CMS 管理面板的访问权限,这使他们有机会编辑网站组件并实施嗅探器来窃取信用卡数据。
基础设施
域名 | 发现/出现日期 |
---|---|
媒体包信息 | 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 代码中的嗅探器版本,使用域作为入口 迪特姆网站.
还发现了嗅探器的早期版本,它使用相同的域来收集被盗数据 迪特姆网站,但此版本适用于安装在在线商店的客户端。
该组织后来改变了策略,开始更多地关注隐藏恶意活动和伪装。
2017年初,该集团开始使用该域名 jquery-js.com,伪装成 jQuery 的 CDN:当访问攻击者的站点时,用户被重定向到合法站点 jquery 网站.
并于2018年年中,集团采用了域名 g-analytics.com 并开始将嗅探器的活动伪装成合法的 Google Analytics 服务。
版本分析
在对用于存储嗅探器代码的域进行分析时,发现该站点包含大量版本,这些版本的不同之处在于是否存在混淆,以及是否存在添加到文件中以分散注意力的无法访问的代码并隐藏恶意代码。
网站总计 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 活动期间就因出售使用嗅探器盗取的银行卡而广受欢迎。
分析域 分析性的与嗅探器用来收集被盗数据的域位于同一服务器上,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.
后来,发现了嗅探器的封装版本,它使用了不同的门—— 记录.nstatistics[.]com/records.php.
根据
攻击者网站分析
Group-IB 专家发现并分析了该犯罪集团用来存储工具和收集被盗信息的网站。
攻击者服务器上发现的工具包括用于在 Linux 操作系统中升级权限的脚本和漏洞:例如,Mike Czumak 开发的 Linux 权限升级检查脚本,以及 CVE-2009-1185 的漏洞。
攻击者使用两个漏洞直接攻击在线商店:
此外,在对服务器的分析过程中,还发现了各种嗅探器和虚假支付表单样本,攻击者利用这些样本从被黑网站收集支付信息。 从下面的列表中您可以看到,一些脚本是为每个被黑网站单独创建的,而通用解决方案则用于某些 CMS 和支付网关。 例如,脚本 segapay_standart.js и segapay_onpage.js 专为在使用 Sage Pay 支付网关的网站上实施而设计。
各种支付网关的脚本列表
脚本 | 支付网关 |
---|---|
|
//request.payrightnow[.]cf/check payment.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/check payment.php |
|
//cdn.illum[.]pw/records.php |
|
//request.payrightnow[.]cf/check payment.php |
|
//cdn.illum[.]pw/records.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/alldata.php |
//request.payrightnow[.]cf/check payment.php | |
|
//request.payrightnow[.]cf/check payment.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//cdn.illum[.]pw/records.php |
|
//cdn.illum[.]pw/records.php |
|
//request.payrightnow[.]cf/check payment.php |
|
//cdn.illum[.]pw/records.php |
//request.payrightnow[.]cf/check payment.php | |
|
//cdn.illum[.]pw/records.php |
//payrightnow[.]cf/? payment= | |
|
//payrightnow[.]cf/? payment= |
|
// paymentnow[.]tk/? payment= |
主持人 立即付款[.]tk,用作脚本中的门 payment_forminsite.js,被发现为 主题替代名称 与 CloudFlare 服务相关的多个证书。 此外,主机还包含一个脚本 邪恶.js。 从脚本的名称来看,它可以用作 CVE-2016-4010 漏洞利用的一部分,因此可以将恶意代码注入到运行 CMS Magento 的网站的页脚中。 主机使用此脚本作为门 request.requestnet[.]tk使用与主机相同的证书 立即付款[.]tk.
虚假付款表格
下图显示了用于输入卡数据的表单示例。 该表单用于渗透在线商店并窃取卡数据。
下图显示了攻击者使用假 PayPal 付款表单渗透使用此付款方式的网站的示例。
基础设施
域名 | 发现/出现日期 |
---|---|
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 在攻击者的服务器上。 通过直接链接到嗅探器来合并到站点代码中。
嗅探器代码对需要窃取数据的表单字段的名称进行硬编码。 嗅探器还通过检查关键字列表和用户当前地址来检查用户是否在支付页面上。
一些发现的嗅探器版本被混淆了,并包含一个加密字符串,其中存储了主要的资源数组:它包含各种支付系统的表单字段的名称,以及被盗数据应发送到的网关地址。
窃取的支付信息一路发送到攻击者服务器上的脚本 /savePayment/index.php 或 /tr/index.php。 据推测,该脚本用于将数据从网关发送到主服务器,该服务器合并来自所有嗅探器的数据。 为了隐藏传输的数据,受害者的所有支付信息都使用加密 base64,然后发生几个字符替换:
- “e”字符被替换为“:”
- “w”符号替换为“+”
- “o”字符替换为“%”
- “d”字符替换为“#”
- 字符“a”被替换为“-”
- 符号“7”替换为“^”
- 字符“h”被替换为“_”
- “T”符号替换为“@”
- 字符“0”被“/”替换
- “Y”字符替换为“*”
作为使用编码的字符替换的结果 base64 如果不执行反向转换,则无法对数据进行解码。
这是未经混淆的嗅探器代码片段的样子:
基础设施分析
在早期的活动中,攻击者注册了与合法在线购物网站类似的域名。 他们的域名可能与合法的符号或另一个顶级域名 (TLD) 有所不同。 注册域名用于存储嗅探器代码,其链接嵌入在存储代码中。
该组织还使用了让人想起流行的 jQuery 插件的域名(slickjs[.]org 对于使用该插件的网站 slick.js)、支付网关(sagecdn[.]org 适用于使用 Sage Pay 支付系统的网站)。
后来,该小组开始创建域名,其名称与商店的域名或商店的主题无关。
每个域对应于创建目录的站点 /js или /源。 嗅探器脚本存储在此目录中:每个新感染都有一个嗅探器。 嗅探器通过直接链接嵌入到网站代码中,但在极少数情况下,攻击者会修改网站文件之一并向其中添加恶意代码。
代码分析
第一种混淆算法
在该系列嗅探器的一些发现样本中,代码被混淆并包含嗅探器工作所需的加密数据:特别是嗅探器门地址、支付表单字段列表,以及在某些情况下,假冒的代码付款表格。 在函数内的代码中,资源使用加密 XOR 通过作为参数传递给同一函数的键。
通过使用每个样本唯一的适当密钥解密字符串,您可以获得一个包含嗅探器代码中由分隔符分隔的所有字符串的字符串。
第二种混淆算法
在该系列嗅探器的后续样本中,使用了不同的混淆机制:在这种情况下,使用自编写的算法对数据进行加密。 包含嗅探器操作所需的加密数据的字符串作为参数传递给解密函数。
使用浏览器控制台,您可以解密加密数据并获取包含嗅探器资源的数组。
与早期 MagCart 攻击的联系
在对该组织用作收集被盗数据的网关的一个域进行分析时,发现该域托管着用于信用卡盗窃的基础设施,与第一组(第一批组织之一)使用的基础设施相同,
在 CoffeMokko 系列嗅探器的主机上发现了两个文件:
- 法师.js — 包含带有门地址的第 1 组嗅探器代码的文件 js-cdn.link
- mag.php — PHP脚本负责收集嗅探器窃取的数据
mage.js 文件的内容
还确定了 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