DNSMon是一个全网DNS异常发现分析系统。基于我们可以看到的中国地区 10%+ 的DNS流量,加上我们多年积累的其他多维度安全数据以及安全分析能力,我们可以在一个独特的视角来实时监测 全网 每天 正在发生 的事情,我们可以 “看见” 正在发生的威胁。


摘要

我们的DNSMon发现了一个异常域名 magento-analytics[.]com,通过持续的跟踪,以及和WEB数据的关联,发现该域名通过渗透侵入在线购物网站,植入自己的JS脚本,实时判定用户信用卡的输入情况,将信用卡的 所有人/卡号/过期时间/CVV 信息回传,实现对信用卡数据的窃取,进而可以盗刷。

如果有国内用户使用信用卡在国外购物网站支付,建议用户一定要谨慎,尽量选择安全做的好的大网站。国外不支持国内的密码支付体系,只要上述信息泄漏,就存在被盗刷风险。

缘起

早在2018年10月初,我们发现域名 magento-analytics[.]com 有了异常波动。在其时,友商VT上有零星的几家报malware/maicious,但是没有具体恶意细节,我们也没有看到任何样本行为,所以没法进一步验证。同时由于其绝对访问量不是很大,我们暂时将其纳入跟踪流程,对其进行持续跟踪。

WechatIMG101

持续跟踪的过程中,该域名表现一直不温不火,没有出现业务上持续的剧烈变化,不过我们分析流程最近自动捕获的一个异常特征将其纳入我们的分析视野:这是个注册在“巴拿马”的域名,但在最近几月内,该域名映射的IP,从“美国-亚利桑那” 到了 “俄罗斯-莫斯科”,再到了 “中国-香港”。

1556182793291

互联网业务做大了,全球提供服务可以理解,但是一个小访问量的域名,大范围的切换服务地址,也不是多IP共用,这非常有问题。小孩子也不能胡闹,我们得查清楚“熊孩子”到底在干嘛。

分析

首先验证是不是小网站,不过该域名默认页面没有提供服务,可疑程度+1。基于我们从去年10月开始对其跟踪,所以我们有能力在我们各维度的数据流中挂锚点,将与其有关的数据都聚合在一起分析,我们很容易的可以发现该域名下URL的活跃情况。

FirstSeen       LastSeen        URL
20190417        20190418        magento-analytics.com:80/5c330014a67ac.js
20190403        20190410        magento-analytics.com:80/5c6d6f33c5d6a.js
20190320        20190401        magento-analytics.com:80/5c68b7ba3ea38.js
20190315        20190315        magento-analytics.com:80/5c8ba95b0a705.js
20190305        20190305        magento-analytics.com:80/5c13086d94587.js
20190304        20190308        magento-analytics.com:80/5c3a398f10058.js
20190228        20190228        magento-analytics.com:80/5c56e1cf41cc2.js
20190222        20190326        magento-analytics.com:80/5c56e1cf41cc2.js
20190203        20190406        magento-analytics.com:80/5c330014a67ac.js
20190120        20190415        magento-analytics.com:80/gate.php
20190120        20190322        magento-analytics.com:80/5c0ff4bd5d9a5.js
20190117        20190212        magento-analytics.com:80/5c0ef8d315d78.js
20190115        20190129        magento-analytics.com:80/5c0d35f517604.js
20190110        20190314        magento-analytics.com:80/5c24b628da151.js
20190108        20190203        magento-analytics.com:80/5c0ffacc0e2e7.js
20181228        20190204        magento-analytics.com:80/5c0d3ac73f0d2.js
20181227        20190113        magento-analytics.com:80/emersonstreetclothing.js
20181227        20190111        magento-analytics.com:80/5c2227461b957.js
20181224        20190418        magento-analytics.com:80/powermusic.js
20181224        20190417        magento-analytics.com:80/5c116a3629062.js
20181224        20190326        magento-analytics.com:80/pizzaholic.js
20181224        20190105        magento-analytics.com:80/5c0d25c0abdf7.js
20181224        20181224        magento-analytics.com:443/pizzaholic.js
20181223        20181223        magento-analytics.com:443/5c0d2b47a8815.js
20181221        20181221        magento-analytics.com:443/5c0d245a4ecc3.js
20181220        20181224        magento-analytics.com:80/5c117b7b019cb.js
20181219        20181219        magento-analytics.com:443/5c0c3c82b2465.js
20181216        20181222        magento-analytics.com:443/5c1437736ba2b.js
20181215        20181221        magento-analytics.com:443/5c0c3e8455ebc.js
20181215        20181215        magento-analytics.com:443/5c0d3318981bd.js
20181214        20181224        magento-analytics.com:443/5c0d35f517604.js
20181214        20181214        magento-analytics.com:443/5c0ffacc0e2e7.js
20181214        20181214        magento-analytics.com:443/5c0d4b0b33f36.js
20181213        20181228        magento-analytics.com:443/5c0d1ae802dc7.js
20181211        20181224        magento-analytics.com:443/5c0c4602161ec.js
20181210        20181228        magento-analytics.com:443/5c0d25c0abdf7.js
20181210        20181210        magento-analytics.com:443/monsieurplus.js
20181209        20181227        magento-analytics.com:443/powermusic.js
20181209        20181212        magento-analytics.com:443/5c0c712d2510b.js

可以看到,该域名从12月初开始,承载了一众的JS脚本,大部分构成都非常相似。随便下载一个来看看。

js-1

JS很简单,也没有混淆。只要加载该JS,就会设定一个定时器,每隔500ms调用一下TrySend函数。TrySend函数中,会尝试获取 Number/Holder/Date/CVV 等数据项,等数据收集全,最终会调用SendData将数据上报到 [hxxps://magento-analytics.com/gate.php]。

看到 Number/Holder/Date,还没太大感觉;再看到CVV,一切就比较明白了,这是个搜集信用卡信息的接口。接着看其他的JS,不管是13字节长的类似hash的JS,还是powermusic.js/monsieurplus.js 等基于被挂链网站域名而特殊命名的JS,基本都是一样的功能。

问题来了,一个自己没有业务的域名,为什么会将信用卡信息提交给自己呢?这个域名从哪获取信用卡信息,提交的是谁的信用卡信息呢?

验证

还是基于我们持续跟踪的数据,我们可以随便找一个加载了该JS的“可疑的受害者 www.kings2.com” 来验证一下。我们在该网站注册用户后,任意选择一个商品,选择结账,走到“Payment Information”提交信用卡信息,等到CVV数据一输入,不出所料的,我们的信用卡信息被上传了。

victim

关于magento-analytics

互联网上的信用卡信息窃取,国外有不少案例[1],其中不乏针对Magento的攻击。(Magento是一家知名的电商CMS软件厂商,于2018年被Adobe收购,网站Alexa排名top1w)。

我们发现受magento-analytics[.]com影响的网站,都是电商购物网站,笼统看其出售的商品类型,包含但不限于高档箱包、山地车、婴儿用品、酒、电子产品等;同时这些网站具有相似的HTML文档结构、指向Magento的变量名、插件,这些说明它们可能是使用了Magento CMS的下游购物网站。

magento-analytics[.]com和magento[.]com在域名上具有高度的相似性,根据两者whois和ip的历史信息,我们可以判定magento-analytics[.]com并非Magento官方的基础设施,而是攻击者用来混淆视听的恶意域名。

对比两者近期的whois历史记录可以看出:magento[.]com的信息公开透明并及时更新,Adobe收购Magento一事也可以从中看出;而magento-analytics[.]com则启用了whois隐私保护,这是攻击者的惯用伎俩,也和Magento风格迥异。

magento[.]com
createddate                 2010-02-08 19:47:21 
updateddate                 2018-11-27 18:34:21 
expiresdate                 2020-02-08 19:47:21 
registrant_email            dns-admin@adobe.com 
registrant_name             Domain Administrator
registrant_organization     Adobe Inc.  
------------------------------------------------
createddate                 2010-02-08 00:00:00 
updateddate                 2018-01-07 10:19:03 
expiresdate                 2019-02-08 19:47:21 
registrant_organization     X.commerce, Inc.

magento-analytics[.]com
createddate                 2018-05-12 06:46:51 
updateddate                 2018-05-12 06:46:52 
expiresdate                 2019-05-12 06:46:51 
registrant_email            67b2df6fbf0a4c38b7c26c1d729a997b.protect@whoisguard.com     
registrant_name             WhoisGuard Protected        
registrant_organization     WhoisGuard, Inc.

而Magento也从未在dns层面和magento-analytics[.]com有过相近。

dns_compare

根据受害网站被挂黑链的位置、部分受害网站出现重复黑链等现象,我们推测攻击者可能利用了Magento的相关漏洞对受害网站进行攻击并植入恶意代码。

image

影响范围

该恶意域名偷信用卡的行为已经持续了5个月之久,我们在大网范围内看到一共有105个网站加载了该JS,当前 Alexa Top 100万[2]网站中,被渗透的网站有如下6个:

imitsosa[.]com
alkoholeswiata[.]com
spieltraum-shop[.]de
ilybean[.]com
mtbsale[.]com
ucc-bd[.]com

考虑到我们的视野是有限的,全网范围内会存在更多被magento-analytics[.]com利用的网站。
建议使用Magento CMS的电商网站通过订阅官方的安全告警、及时打官方补丁[3]等方式加固自身的网站安全。

当前我们的DNSMon系统已经将该域名拦截,以降低国内用户数据泄漏的风险。需要反思的是,该恶意域名偷信用卡数据偷了5个月了,尽管有其他安全厂家可能比我们更早的发现或确认了这个恶意域名,可该域名至今没有被大范围封堵。

IOCs

magento-analytics[.]com
AS      | IP               | AS Name
55933   | 93.187.129.249   | CLOUDIE-AS-AP Cloudie Limited, HK

受影响网站

adirectholdings[.]com
adm[.]sieger-trophaen[.]de
adventureequipment[.]com[.]au
alkoholeswiata[.]com
alphathermalsystems[.]com
ameta-anson[.]com
ametagroup[.]com
ametawest[.]com
appliancespareparts[.]com[.]au
armenianbread[.]com
autosportcompany[.]nl
bagboycompany[.]com
boardbookalbum[.]biz
boardbookalbum[.]com
boardbookalbum[.]net
boardbookalbums[.]biz
boardbookalbums[.]net
burmabibas[.]com
businesstravellerbags[.]com
clotures-electriques[.]fr
cltradingfl[.]com
colorsecretspro[.]com
connfab[.]com
cupidonlingerie[.]fr
devantsporttowels[.]com
diamondbladedealer[.]com
digital-2000[.]com
emersonstreetclothing[.]com
equalli[.]com
equalli[.]co[.]uk
equalli[.]de
eu[.]twoajewelry[.]com
eyeongate[.]net
fitnessmusic[.]com
fluttereyewear[.]com
freemypaws[.]info
gabelshop[.]ch
gosuworld[.]com
hotelcathedrale[.]be
huntsmanproducts[.]com[.]au
iconicpineapple[.]com
ilybean[.]com
imitsosa[.]com
jasonandpartners[.]com[.]au
jekoshop[.]com
jekoshop[.]de
junglefeveramerica[.]com
kermanigbakery[.]com
kermanigfoods[.]com
kings2[.]com
koalabi[.]com
lamajune[.]com
li375-244[.]members[.]linode[.]com
libertyboutique[.]com[.]au
lighteningcornhole[.]com
lighting-direct[.]com[.]au
lightingwill[.]com
liquorishonline[.]com
lojacristinacairo[.]com[.]br
magformers[.]com
maxqsupport[.]com
mdcpublishers[.]com
meizitangireland[.]com
mockberg[.]com
monsieurplus[.]com
mont[.]com[.]au
mtbsale[.]com
noirnyc[.]com
nyassabathandbody[.]com
pgmetalshop[.]com
pinkorchard[.]com
pizzaholic[.]net
powermusic[.]com
prestigeandfancy[.]com
prestigebag[.]com
prestigefancy[.]com
prestigepakinc[.]com
prettysalonusa[.]com
promusica[.]ie
qspproducts[.]com
qspproducts[.]nl
qspracewear[.]nl
rightwayhp[.]com
safarijewelry[.]com
schogini[.]biz
shopatsimba[.]com
spalventilator[.]nl
spieltraum-shop[.]de
storageshedsoutlet[.]com
stylishfashionusa[.]com
suitpack[.]co[.]uk
svpmobilesystems[.]com
task-tools[.]com
tiroler-kraeuterhof[.]at
tiroler-kraeuterhof[.]com
tiroler-kraeuterhof-naturkosmetik[.]com
ucc-bd[.]com
ussi-md[.]com
utvcover[.]com
vezabands[.]com
vitibox[.]co[.]uk
waltertool[.]info
waltertool[.]org
waltertools[.]com
workoutmusic[.]com

  1. hxxps://cdn.riskiq.com/wp-content/uploads/2018/11/RiskIQ-Flashpoint-Inside-MageCart-Report.pdf ↩︎

  2. Alexa数据变动频繁,具体排名可能不准 ↩︎

  3. hxxps://magento[.]com/security ↩︎