Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах

Практычна кожны з нас карыстаецца паслугамі анлайн-крам, а значыць, рана ці позна рызыкуе стаць ахвярай JavaScript-сніфераў - спецыяльнага кода, які зламыснікі ўкараняюць на сайт для крадзяжу дадзеных банкаўскіх карт, адрасоў, лагінаў і пароляў карыстальнікаў.

Ад сніфераў ужо пацярпелі амаль 400 000 карыстальнікаў сайта і мабільнага прыкладання авіякампаніі British Airways, а таксама наведвальнікі брытанскага сайта спартыўнага гіганта FILA і амерыканскага дыстрыбутара білетаў Ticketmaster. PayPal, Chase Paymenttech, USAePay, Moneris - гэтыя і многія іншыя плацежныя сістэмы былі заражаныя.

Аналітык Threat Intelligence Group-IB Віктар Акоракаў распавядае пра тое, як сніферы ўкараняюцца ў код сайта і крадуць аплатную інфармацыю, а таксама пра тое, якія CRM яны атакуюць.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах

«Схаваная пагроза»

Так выйшла, што доўгі час JS-сніферы заставаліся па-за полем зроку антывірусных аналітыкаў, а банкі і аплатныя сістэмы не бачылі ў іх сур'ёзнай пагрозы. І зусім дарма. Эксперты Group-IB прааналізавалі 2440 заражаных анлайн-крам, наведвальнікі якіх - сумарна каля 1,5 мільёнаў чалавек у дзень - падвяргаліся рызыцы кампраметацыі. Сярод пацярпелых - не толькі карыстальнікі, але і анлайн-крамы, плацежныя сістэмы і банкі, якія выпусцілі скампраметаваныя карты.

Справаздача Group-IB стаў першым даследаваннем даркнет-рынку сніфераў, іх інфраструктуры і спосабаў манетызацыі, якая прыносіць іх стваральнікам мільёны даляраў. Мы выявілі 38 сямействаў сніфераў, з якіх толькі 12 раней былі вядомыя даследнікам.

Спынімся падрабязна на чатырох сямействах сніфераў, вывучаных падчас даследаванняў.

Сямейства ReactGet

Сніферы сямейства ReactGet ужываюцца для крадзяжу дадзеных банкаўскіх карт на сайтах анлайн-крам. Сніфер можа працаваць з вялікай колькасцю розных аплатных сістэм, якія выкарыстоўваюцца на сайце: адно значэнне параметру адпавядае адной аплатнай сістэме, а асобныя выяўленыя версіі сниффера могуць выкарыстоўвацца для крадзяжу уліковых дадзеных, а таксама для крадзяжу дадзеных банкаўскіх карт з аплатных форм адразу некалькіх аплатных сістэм, як так званы ўніверсальны сниффер. Было ўстаноўлена, што ў некаторых выпадках атакавалыя праводзяць фішынгавыя атакі на адміністратараў анлайн-крам з мэтай атрымання доступу ў адміністрацыйную панэль сайта.

Кампанія з ужываннем гэтага сямейства сніфераў пачалася ў траўні 2017 года, нападу падвергліся сайты пад кіраваннем CMS і платформаў Magento, Bigcommerce, Shopify.

Як ReactGet ўкараняецца ў код анлайн-крамы

Акрамя «класічнага» укаранення скрыпту па спасылцы, аператары сніфераў сямейства ReactGet выкарыстоўваюць адмысловую тэхніку: пры дапамозе JavaScript-кода правяраецца, ці адпавядае бягучы адрас, на якім знаходзіцца карыстач, вызначаным крытэрам. Шкодны код будзе запушчаны толькі ў тым выпадку, калі ў бягучым URL-адрасе прысутнічае падрадок. кантроль або onestepcheckout, onepage/, out/onepag, checkout/one, ckout/one. Такім чынам, код сниффера выканаецца менавіта ў той момант, калі карыстач пяройдзе да аплаты пакупак і ўвядзе аплатную інфармацыю ў форму на сайце.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Гэты сніфер выкарыстоўвае нестандартную тэхніку. Плацежныя і персанальныя дадзеныя ахвяры збіраюцца разам, кадуюцца пры дапамозе base64, а затым атрыманы радок выкарыстоўваецца як параметр для адпраўкі запыту на сайт зламыснікаў. Часцей за ўсё шлях да гейту імітуе JavaScript-файл, напрыклад resp.js, data.js і гэтак далей, але таксама выкарыстоўваюцца спасылкі на файлы малюнкаў, GIF и JPG. Асаблівасць у тым, што сніфер стварае аб'ект малюнка памерам 1 на 1 піксель і выкарыстоўвае атрыманую раней спасылку як параметр SRC выявы. Гэта значыць для карыстальніка такі запыт у трафіку будзе выглядаць як запыт звычайнай карцінкі. Падобная тэхніка была выкарыстана ў сніферах сямейства ImageID. Акрамя таго, тэхніка з выкарыстаннем выявы памерам 1 на 1 піксель ужываецца ў шматлікіх легітымных скрыптах анлайн-аналітыкі, што таксама можа ўвесці карыстача ў памылку.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах

Аналіз версій

Аналіз актыўных даменаў, выкарыстоўваных аператарамі сніфераў ReactGet, дазволіў выявіць шмат розных версій сніфераў гэтага сямейства. Версіі адрозніваюцца наяўнасцю або адсутнасцю абфускацыі, а акрамя таго, кожны сниффер прызначаны для вызначанай аплатнай сістэмы, якая апрацоўвае плацяжы па банкаўскіх картах для анлайн-крам. Перабраўшы значэнне параметру, які адпавядае нумару версіі, спецыялісты Group-IB атрымалі поўны спіс даступных варыяцый сніфераў, а па назвах палёў формаў, якія кожны сніфер шукае ў кодзе старонкі, вызначылі плацежныя сістэмы, на якія накіраваны сніфер.

Спіс сніфераў і адпаведных ім плацежных сістэм

URL сніфера плацежная сістэма
reactjsapi.com/react.js Authorize.Net
ajaxstatic.com/api.js?v=2.1.1 Cardsave
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 eWAY Rapid
ajaxstatic.com/api.js?v=2.1.5 Authorize.Net
ajaxstatic.com/api.js?v=2.1.6 Адыен
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 Манерыс
apitstatus.com/api.js?v=2.1.5 USAePay
apitstatus.com/api.js?v=2.1.6 PayPal
apitstatus.com/api.js?v=2.1.7 SagePay
apitstatus.com/api.js?v=2.1.8 Verisign
apitstatus.com/api.js?v=2.1.9 PayPal
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 PayPal
apitstatus.com/api.js?v=3.0.4 LinkPoint
apitstatus.com/api.js?v=3.0.5 PayPal
apitstatus.com/api.js?v=3.0.7 PayPal
apitstatus.com/api.js?v=3.0.8 DataCash
apitstatus.com/api.js?v=3.0.9 PayPal
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 Verisign
billgetstatus.com/api.js?v=1.6 Authorize.Net
billgetstatus.com/api.js?v=1.7 Манерыс
billgetstatus.com/api.js?v=1.8 SagePay
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 ANZ eGate
cloudodesc.com/gtm.js?v=2.3 Authorize.Net
cloudodesc.com/gtm.js?v=2.4 Манерыс
cloudodesc.com/gtm.js?v=2.6 SagePay
cloudodesc.com/gtm.js?v=2.7 SagePay
cloudodesc.com/gtm.js?v=2.8 Пагоня Paymentech
cloudodesc.com/gtm.js?v=2.9 Authorize.Net
cloudodesc.com/gtm.js?v=2.91 Адыен
cloudodesc.com/gtm.js?v=2.92 PsiGate
cloudodesc.com/gtm.js?v=2.93 Кіберкрыніца
cloudodesc.com/gtm.js?v=2.95 ANZ eGate
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 ANZ eGate
gtmproc.com/gtm.js?v=1.5 PayPal
gtmproc.com/gtm.js?v=1.6 PayPal
gtmproc.com/gtm.js?v=1.7 Realex
livecheckpay.com/api.js?v=2.0 SagePay
livecheckpay.com/api.js?v=2.1 PayPal
livecheckpay.com/api.js?v=2.2 Verisign
livecheckpay.com/api.js?v=2.3 Authorize.Net
livecheckpay.com/api.js?v=2.4 Verisign
livecheckpay.com/react.js Authorize.Net
livegetpay.com/pay.js?v=2.1.2 ANZ eGate
livegetpay.com/pay.js?v=2.1.3 PayPal
livegetpay.com/pay.js?v=2.1.5 Кіберкрыніца
livegetpay.com/pay.js?v=2.1.7 Authorize.Net
livegetpay.com/pay.js?v=2.1.8 SagePay
livegetpay.com/pay.js?v=2.1.9 Realex
livegetpay.com/pay.js?v=2.2.0 Кіберкрыніца
livegetpay.com/pay.js?v=2.2.1 PayPal
livegetpay.com/pay.js?v=2.2.2 PayPal
livegetpay.com/pay.js?v=2.2.3 PayPal
livegetpay.com/pay.js?v=2.2.4 Verisign
livegetpay.com/pay.js?v=2.2.5 eWAY Rapid
livegetpay.com/pay.js?v=2.2.7 SagePay
livegetpay.com/pay.js?v=2.2.8 SagePay
livegetpay.com/pay.js?v=2.2.9 Verisign
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 First Data Global Gateway
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 Манерыс
livegetpay.com/pay.js?v=2.3.6 Authorize.Net
livegetpay.com/pay.js?v=2.3.8 PayPal
livegetpay.com/pay.js?v=2.4.0 Verisign
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 Verisign
mxcounter.com/c.js?v=1.2 PayPal
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 eWAY Rapid
mxcounter.com/c.js?v=1.8 SagePay
mxcounter.com/c.js?v=2.0 Authorize.Net
mxcounter.com/c.js?v=2.1 Брейнтры
mxcounter.com/c.js?v=2.10 Брейнтры
mxcounter.com/c.js?v=2.2 PayPal
mxcounter.com/c.js?v=2.3 SagePay
mxcounter.com/c.js?v=2.31 SagePay
mxcounter.com/c.js?v=2.32 Authorize.Net
mxcounter.com/c.js?v=2.33 PayPal
mxcounter.com/c.js?v=2.34 Authorize.Net
mxcounter.com/c.js?v=2.35 Verisign
mxcounter.com/click.js?v=1.2 PayPal
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 eWAY Rapid
mxcounter.com/click.js?v=1.8 SagePay
mxcounter.com/click.js?v=2.0 Authorize.Net
mxcounter.com/click.js?v=2.1 Брейнтры
mxcounter.com/click.js?v=2.2 PayPal
mxcounter.com/click.js?v=2.3 SagePay
mxcounter.com/click.js?v=2.31 SagePay
mxcounter.com/click.js?v=2.32 Authorize.Net
mxcounter.com/click.js?v=2.33 PayPal
mxcounter.com/click.js?v=2.34 Authorize.Net
mxcounter.com/click.js?v=2.35 Verisign
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 SagePay
newrelicnet.com/api.js?v=4.5 SagePay
newrelicnet.com/api.js?v=4.6 Westpac PayWay
nr-public.com/api.js?v=2.0 PayFort
nr-public.com/api.js?v=2.1 PayPal
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 First Data Global Gateway
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 Манерыс
nr-public.com/api.js?v=2.9 Authorize.Net
nr-public.com/api.js?v=3.1 SagePay
nr-public.com/api.js?v=3.2 Verisign
nr-public.com/api.js?v=3.3 Манерыс
nr-public.com/api.js?v=3.5 PayPal
nr-public.com/api.js?v=3.6 LinkPoint
nr-public.com/api.js?v=3.7 Westpac PayWay
nr-public.com/api.js?v=3.8 Authorize.Net
nr-public.com/api.js?v=4.0 Манерыс
nr-public.com/api.js?v=4.0.2 PayPal
nr-public.com/api.js?v=4.0.3 Адыен
nr-public.com/api.js?v=4.0.4 PayPal
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 EBizCharge
nr-public.com/api.js?v=4.0.8 Authorize.Net
nr-public.com/api.js?v=4.0.9 Verisign
nr-public.com/api.js?v=4.1.2 Verisign
ordercheckpays.com/api.js?v=2.11 Authorize.Net
ordercheckpays.com/api.js?v=2.12 PayPal
ordercheckpays.com/api.js?v=2.13 Манерыс
ordercheckpays.com/api.js?v=2.14 Authorize.Net
ordercheckpays.com/api.js?v=2.15 PayPal
ordercheckpays.com/api.js?v=2.16 PayPal
ordercheckpays.com/api.js?v=2.17 Westpac 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 SagePay
ordercheckpays.com/api.js?v=2.22 Verisign
ordercheckpays.com/api.js?v=2.23 Authorize.Net
ordercheckpays.com/api.js?v=2.24 PayPal
ordercheckpays.com/api.js?v=2.25 PayFort
ordercheckpays.com/api.js?v=2.29 Кіберкрыніца
ordercheckpays.com/api.js?v=2.4 PayPal 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 Verisign
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 SagePay
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 Verisign
ordercheckpays.com/api.js?v=3.9 PayPal
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 SagePay
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 PayPal
reactjsapi.com/api.js?v=4.1.2 Крэмень
reactjsapi.com/api.js?v=4.1.4 PayPal
reactjsapi.com/api.js?v=4.1.5 SagePay
reactjsapi.com/api.js?v=4.1.51 Verisign
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 Fat Zebra
reactjsapi.com/api.js?v=4.2.0 SagePay
reactjsapi.com/api.js?v=4.2.1 Authorize.Net
reactjsapi.com/api.js?v=4.2.2 First Data Global Gateway
reactjsapi.com/api.js?v=4.2.3 Authorize.Net
reactjsapi.com/api.js?v=4.2.4 eWAY Rapid
reactjsapi.com/api.js?v=4.2.5 Адыен
reactjsapi.com/api.js?v=4.2.7 PayPal
reactjsapi.com/api.js?v=4.2.8 Гандлёвыя паслугі QuickBooks
reactjsapi.com/api.js?v=4.2.9 Verisign
reactjsapi.com/api.js?v=4.2.91 SagePay
reactjsapi.com/api.js?v=4.2.92 Verisign
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 SagePay
reactjsapi.com/react.js Authorize.Net
sydneysalonsupplies.com/gtm.js eWAY Rapid
tagsmediaget.com/react.js Authorize.Net
tagstracking.com/tag.js?v=2.1.2 ANZ eGate
tagstracking.com/tag.js?v=2.1.3 PayPal
tagstracking.com/tag.js?v=2.1.5 Кіберкрыніца
tagstracking.com/tag.js?v=2.1.7 Authorize.Net
tagstracking.com/tag.js?v=2.1.8 SagePay
tagstracking.com/tag.js?v=2.1.9 Realex
tagstracking.com/tag.js?v=2.2.0 Кіберкрыніца
tagstracking.com/tag.js?v=2.2.1 PayPal
tagstracking.com/tag.js?v=2.2.2 PayPal
tagstracking.com/tag.js?v=2.2.3 PayPal
tagstracking.com/tag.js?v=2.2.4 Verisign
tagstracking.com/tag.js?v=2.2.5 eWAY Rapid
tagstracking.com/tag.js?v=2.2.7 SagePay
tagstracking.com/tag.js?v=2.2.8 SagePay
tagstracking.com/tag.js?v=2.2.9 Verisign
tagstracking.com/tag.js?v=2.3.0 Authorize.Net
tagstracking.com/tag.js?v=2.3.1 Authorize.Net
tagstracking.com/tag.js?v=2.3.2 First Data Global Gateway
tagstracking.com/tag.js?v=2.3.3 Authorize.Net
tagstracking.com/tag.js?v=2.3.4 Authorize.Net
tagstracking.com/tag.js?v=2.3.5 Манерыс
tagstracking.com/tag.js?v=2.3.6 Authorize.Net
tagstracking.com/tag.js?v=2.3.8 PayPal

Сніфер пароляў

Адным з пераваг JavaScript-сніфераў, якія працуюць на кліенцкім баку сайта, з'яўляецца ўніверсальнасць: укаранёны на сайт шкоднасны код здольны выкрасці дадзеныя любога тыпу, няхай гэта будзе аплатныя дадзеныя ці лагін і пароль ад карыстацкага акаўнта. Спецыялісты Group-IB выявілі ўзор сніфера, які адносіцца да сямейства ReactGet, прызначаны для крадзяжу адрасоў электроннай пошты і пароляў карыстальнікаў сайта.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах

Скрыжаванне са сніферам ImageID

Падчас аналізу адной з заражаных крам было ўстаноўлена, што яго сайт падвергся заражэнню двойчы: акрамя шкоднаснага кода сніфера сямейства ReactGet, быў знойдзены код сніфера сямейства ImageID. Дадзенае скрыжаванне можа быць сведчаннем таго, што аператары, якія стаяць за выкарыстаннем абодвух сніфераў, ужываюць падобныя тэхнікі для ўкаранення шкоднаснага кода.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах

Універсальны сніфер

Падчас аналізу аднаго з даменных імёнаў, якія адносяцца да інфраструктуры сніфераў ReactGet, было ўсталявана, што той жа карыстач зарэгістраваў тры іншых даменных імя. Гэтыя тры дамена імітавалі дамены рэальна існуючых сайтаў і раней выкарыстоўваліся для размяшчэння сніфераў. Пры аналізе кода трох легітымных сайтаў быў выяўлены невядомы сніфер, а далейшы аналіз паказаў, што гэта ўдасканаленая версія сніфера ReactGet. Усе раней адсочаныя версіі сніфераў гэтага сямейства былі нацэлены на нейкую адну аплатную сістэму, гэта значыць для кожнай аплатнай сістэмы патрабавалася спецыяльная версія сніфера. Аднак у дадзеным выпадку была выяўленая ўніверсальная версія сниффера, здольная выкрадаць інфармацыю з формаў, якія адносяцца да 15 розных плацежных сістэм і модуляў ecommerce-сайтаў для правядзення анлайн-плацяжоў.

Такім чынам, у пачатку працы сніфер ажыццяўляў пошук базавых палёў формы, якія змяшчаюць персанальную інфармацыю ахвяры: поўнае імя, фізічны адрас, нумар тэлефона.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Затым сниффер ажыццяўляў пошук больш за па 15 розных прэфіксам, якія адпавядаюць розным аплатным сістэмам і модулям для анлайн-плацяжоў.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Далей персанальныя дадзеныя ахвяры і аплатная інфармацыя збіраліся разам і адпраўляліся на падкантрольны зламысніку сайт: у гэтым пэўным выпадку былі выяўленыя дзве версіі ўніверсальнага сніфера ReactGet, размешчаныя на двух розных узламаных сайтах. Аднак абедзве версіі адпраўлялі выкрадзеныя дадзеныя на адзін і той жа ўзламаны сайт zoobashop.com.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Аналіз прэфіксаў, якія выкарыстоўваліся сніферам для пошуку палёў, якія змяшчаюць плацежную інфармацыю ахвяры, дазволіў вызначыць, што гэты ўзор сніфера быў накіраваны на наступныя плацежныя сістэмы:

  • Authorize.Net
  • Verisign
  • First Data
  • USAePay
  • Паласа
  • PayPal
  • ANZ eGate
  • Брейнтры
  • DataCash (MasterCard)
  • Плацяжы Realex
  • PsiGate
  • Аплатныя сістэмы Heartland

Якія інструменты выкарыстоўваюцца для крадзяжу аплатнай інфармацыі

Першы інструмент, выяўлены ў ходзе аналізу інфраструктуры атакавалых, служыць для абфускацыі шкоднасных скрыптоў, якія адказваюць за крадзеж банкаўскіх карт. На адным з хастоў атакавалых быў знойдзены bash-скрыпт, які выкарыстоўвае CLI праекту. javascript-obfuscator для аўтаматызацыі абфускацыі кода сніфераў.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Другая выяўленая прылада прызначаны для генерацыі кода, які адказвае за падгрузку асноўнага сниффера. Дадзеная прылада генеруе JavaScript-код, які правярае, ці знаходзіцца карыстач на старонцы аплаты, шляхам пошуку ў бягучым адрасе карыстальніка радкоў кантроль, каляска і гэтак далей, і калі вынік дадатны, то код падгружае асноўны сниффер з сервера зламыснікаў. Для ўтойвання шкоднаснай актыўнасці ўсе радкі, уключаючы тэставыя радкі для вызначэння плацежнай старонкі, а таксама спасылку на сніфер, закадаваны пры дапамозе base64.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах

Фішынгавыя атакі

У ходзе аналізу сеткавай інфраструктуры атакавалых было ўстаноўлена, што часта для атрымання доступу ў адміністрацыйную панэль мэтавага анлайн-крамы злачынная група выкарыстоўвае фішынг. Атакуючыя рэгіструюць дамен, візуальна падобны на дамен крамы, а затым разгортваюць на ім падробленую форму ўваходу адміністрацыйнай панэлі Magento. У выпадку поспеху атакавалыя атрымаюць доступ у адміністрацыйную панэль CMS Magento, што дае ім магчымасць рэдагаваць кампаненты сайта і ўкараніць сніфер для крадзяжу дадзеных крэдытных карт.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Інфраструктура

дамен Дата выяўлення/з'яўлення
mediapack.info 04.05.2017
adsgetapi.com 15.06.2017
simcounter.com 14.08.2017
mageanalytics.com 22.12.2017
maxstatics.com 16.01.2018
reactjsapi.com 19.01.2018
mxcounter.com 02.02.2018
apitstatus.com 01.03.2018
orderracker.com 20.04.2018
tagstracking.com 25.06.2018
adsapigate.com 12.07.2018
trust-tracker.com 15.07.2018
fbstatspartner.com 02.10.2018
billgetstatus.com 12.10.2018
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-payments.com 16.11.2018
ordercheckpays.com 19.11.2018
geisseie.com 24.11.2018
gtmproc.com 29.11.2018
livegetpay.com 18.12.2018
sydneysalonsupplies.com 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 года.

У бягучай кампаніі група выкарыстоўвае даменныя імёны, якія імітуюць рэальна існуючыя сэрвісы, такія як Google Analytics і jQuery, маскіруючы актыўнасць сніфераў легітымнымі скрыптамі і падобнымі на легітымныя даменнымі імёнамі. Атацы падвергнуліся сайты, якія працуюць пад кіраваннем CMS Magento.

Як G-Analytics ўкараняецца ў код анлайн-крамы

Адметная асаблівасць гэтага сямейства - выкарыстанне розных спосабаў выкрадання аплатнай інфармацыі карыстальніка. Апроч класічнага ўкаранення JavaScript-кода ў кліенцкую частку сайта, злачынная група таксама ўжывала тэхніку ўкаранення кода ў серверную частку сайта, а менавіта PHP-скрыпты, якія апрацоўваюць уведзеныя карыстачом дадзеныя. Гэтая тэхніка небяспечная тым, што абцяжарвае выяўленне шкоднаснага кода іншымі даследнікамі. Спецыялістамі Group-IB была выяўлена версія сниффера, укаранёнага ў PHP-код сайта, якая выкарыстоўвае ў якасці гейта дамен dittm.org.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Таксама была выяўлена ранняя версія сниффера, які выкарыстоўвае для збору выкрадзеных дадзеных той жа дамен dittm.org, Але гэтая версія прызначана ўжо для ўстаноўкі на кліенцкай баку анлайн-крамы.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Пазней група змяніла сваю тактыку і пачала надаваць больш увагі ўтойванню шкоднаснай актыўнасці і маскіроўцы.

У пачатку 2017 года група стала выкарыстоўваць дамен jquery-js.com, які маскіруецца пад CDN для jQuery: пры пераходзе на сайт зламыснікаў карыстальніка перанакіроўвае на легітымны сайт jquery.com.

А ў сярэдзіне 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

Манетызацыя скрадзеных дадзеных

Злачынная група манетызуе выкрадзеныя дадзеныя, прадаючы карты праз спецыяльна створаную падпольную краму, якая аказвае паслугі кардэрам. Аналіз даменаў, якія выкарыстоўваюцца атакавалымі, дазволіў вызначыць, што google-analytics.cm быў зарэгістраваны тым жа карыстальнікам, што і дамен cardz.vc. Дамен cardz.vc ставіцца да крамы па продажы скрадзеных банкаўскіх карт Cardsurfs (Flysurfs), які здабыў папулярнасць яшчэ ў часы актыўнасці падпольнай гандлёвай пляцоўкі AlphaBay як крама па продажы банкаўскіх карт, выкрадзеных пры дапамозе сніфера.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Аналізуючы дамен analytic.is, размешчаны на тым жа серверы, што і дамены, выкарыстоўваныя снифферами для збору выкрадзеных дадзеных, адмыслоўцы Group-IB выявілі файл, утрымоўвальны логі Cookie-стылера, які, падобна, пазней быў закінуты распрацоўнікам. Адзін з запісаў у логу змяшчаў дамен iozoz.com, які раней быў выкарыстаны ў адным са сніфераў, актыўных у 2016 годзе. Меркавана, гэты дамен раней выкарыстоўваўся зламыснікам для збору скрадзеных пры дапамозе сніфера карт. Гэты дамен быў зарэгістраваны на email-адрас [электронная пошта абаронена], які таксама быў выкарыстаны для рэгістрацыі даменаў cardz.su и cardz.vc, якія адносяцца да кардынгавай крамы Cardsurfs.

Зыходзячы з атрыманых дадзеных, можна зрабіць здагадку, што сямейства сніфераў G-Analytics і падпольная крама па продажы банкаўскіх карт Cardsurfs кіруюцца аднымі і тымі ж людзьмі, а крама выкарыстоўваецца для рэалізацыі банкаўскіх карт, выкрадзеных пры дапамозе сніфера.

Інфраструктура

дамен Дата выяўлення/з'яўлення
iozoz.com 08.04.2016
dittm.org 10.09.2016
jquery-js.com 02.01.2017
g-analytics.com 31.05.2018
google-analytics.is 21.11.2018
analytic.to 04.12.2018
google-analytics.to 06.12.2018
google-analytics.cm 28.12.2018
analytic.is 28.12.2018
googlc-analytics.cm 17.01.2019

Сямейства Illum

Illum - сямейства снифферов, якое ўжываецца для нападаў на анлайн-крамы, якія працуюць пад кіраваннем CMS Magento. Акрамя ўкаранення шкоднаснага кода, аператары гэтага сніфера таксама выкарыстоўваюць укараненне паўнавартасных падробленых формаў аплаты, якія адпраўляюць дадзеныя на падкантрольныя зламыснікам гейты.

Пры аналізе сеткавай інфраструктуры, якую выкарыстоўваюць аператары гэтага сніфера, была адзначана вялікая колькасць шкоднасных скрыптоў, эксплойтаў, падробленых плацежных формаў, а таксама зборнік прыкладаў з шкоднаснымі сніферамі канкурэнтаў. Зыходзячы з інфармацыі аб датах з'яўлення даменных імёнаў, якія выкарыстоўваюцца групай, можна меркаваць, што пачатак кампаніі прыпадае на канец 2016 года.

Як Illum ўкараняецца ў код анлайн-крамы

Першыя выяўленыя версіі сниффера ўкараняліся прама ў код скампраметаванага сайта. Выкрадзеныя дадзеныя адпраўляліся па адрасе cdn.illum[.]pw/records.php, гейт жа быў закадзіраваны пры дапамозе base64.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Пазней была выяўлена спакаваная версія сниффера, якая выкарыстоўвае іншы гейт. records.nstatistics[.]com/records.php.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Згодна з справаздачы Willem de Groot, такі ж хост выкарыстоўваўся ў сніферы, які быў укаранёны на сайт крамы, які належыць нямецкай палітычнай партыі CSU.

Аналіз сайта зламыснікаў

Спецыялісты Group-IB выявілі і прааналізавалі сайт, які выкарыстоўваецца дадзенай злачыннай групай для захоўвання інструментаў і збору скрадзенай інфармацыі.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Сярод прылад, выяўленых на серверы зламыснікаў, былі знойдзеныя скрыпты і эксплойты для падвышэння прывілеяў у АС Linux: да прыкладу, Linux Privilege Escalation Check Script, распрацаваны Майкам Чумаком (Mike Czumak), а таксама эксплойт для CVE-2009-1185.

Непасрэдна для нападаў на анлайн-крамы зламыснікі выкарыстоўвалі два эксплойты: першы здольны ўкараніць шкоднасны код у core_config_data пры дапамозе эксплуатацыі CVE-2016-4010, 2. эксплуатуе ўразлівасць тыпу RCE у убудовах для CMS Magento, дазваляючы выканаць адвольны код на ўразлівым вэб-серверы.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Таксама падчас аналізу сервера былі выяўлены розныя ўзоры сніфераў і фальшывых плацежных формаў, якія выкарыстоўваюцца зламыснікамі для збору плацежнай інфармацыі са ўзламаных сайтаў. Як можна заўважыць са спісу ніжэй, некаторыя скрыпты ствараліся індывідуальна для кожнага ўзламанага сайта, у той час як для пэўных CMS і плацежных шлюзаў выкарыстоўвалася ўніверсальнае рашэнне. Напрыклад, скрыпты. segapay_standart.js и segapay_onpage.js прызначаны для ўкаранення на сайты, якія выкарыстоўваюць плацежны шлюз Sage Pay.

Спіс скрыптоў для розных плацежных шлюзаў

Скрыпт плацежны шлюз
sr.illum[.]pw/mjs_special/visiondirect.co.uk.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/topdierenshop.nl.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/tiendalenovo.es.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/pro-bolt.com.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/plae.co.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/ottolenghi.co.uk.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/oldtimecandy.com.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/mylook.ee.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/luluandsky.com.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/julep.com.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/gymcompany.es.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/grotekadoshop.nl.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/fushi.co.uk.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/fareastflora.com.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/compuindia.com.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs/segapay_standart.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/segapay_onpage.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/replace_standart.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs/all_inputs.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/add_inputs_standart.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/magento/payment_standart.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/magento/payment_redirect.js //payrightnow[.]cf/?payment=
sr.illum[.]pw/magento/payment_redcrypt.js //payrightnow[.]cf/?payment=
sr.illum[.]pw/magento/payment_forminsite.js //paymentnow[.]tk/?payment=

Хост paymentnow[.]tk, Які выкарыстоўваецца як гейт у скрыпце payment_forminsite.js, быў знойдзены як SubjectAltName у некалькіх сертыфікатах, якія адносяцца да сэрвісу CloudFlare. Акрамя гэтага, на хасце размяшчаўся скрыпт evil.js. Мяркуючы па імені скрыпту, ён мог быць скарыстаны ў рамках эксплуатацыі CVE-2016-4010, дзякуючы якой можна ўкараніць шкоднасны код у footer сайта пад кіраваннем CMS Magento. У якасці гейта гэты скрыпт ужыў хост. request.requestnet[.]tk, які выкарыстоўвае той жа сертыфікат, што і хост paymentnow[.]tk.

Падробленыя плацежныя формы

Ніжэй на малюнку паказаны прыклад формы для ўводу даных карты. Гэта форма выкарыстоўвалася для ўкаранення на сайт анлайн-крамы і крадзяжы дадзеных карт.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
На наступным малюнку - прыклад падробленай аплатнай формы PayPal, якую выкарыстоўвалі зламыснікі для ўкаранення на сайты з гэтым метадам аплаты.
Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Інфраструктура

дамен Дата выяўлення/з'яўлення
cdn.illum.pw 27/11/2016
records.nstatistics.com 06/09/2018
request.payrightnow.cf 25/05/2018
paymentnow.tk 16/07/2017
payment-line.tk 01/03/2018
paymentpal.cf 04/09/2017
requestnet.tk 28/06/2017

Сямейства CoffeMokko

Сямейства сніфераў CoffeMokko, прызначаных для крадзяжу банкаўскіх карт карыстальнікаў інтэрнэт-крам, выкарыстоўваецца як мінімум з траўня 2017 года. Як мяркуецца, аператарамі дадзенага сямейства сніфераў з'яўляецца злачынная група Group 1, апісаная спецыялістамі RiskIQ у 2016 годзе. Атакам падвергліся сайты пад кіраваннем такіх CMS, як Magento, OpenCart, WordPress, osCommerce, Shopify.

Як 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 для сайтаў, якія выкарыстоўваюць убудову гладкі.js), плацежных шлюзаў (sagecdn[.]org для сайтаў, якія выкарыстоўваюць плацежную сістэму Sage Pay).

Пазней група пачала ствараць дамены, назоў якіх не мела нічога агульнага ні з даменам крамы, ні з тэматыкай крамы.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Кожнаму дамену адпавядаў сайт, на якім стваралася дырэкторыя /js або /src. У гэтай дырэкторыі захоўваліся скрыпты сніфераў: па адным сніферы на кожнае новае заражэнне. Сніфер укараняўся ў код сайта па прамой спасылцы, але ў рэдкіх выпадках зламыснікі мадыфікавалі адзін з файлаў сайта і дадавалі ў яго шкоднасны код.

Аналіз кода

Першы алгарытм абфускацыі

У некаторых выяўленых узорах сніфераў гэтага сямейства код быў абфусцаваны і ўтрымоўваў зашыфраваныя дадзеныя, неабходныя для працы сніфера: у прыватнасці, адрас гейта сніфера, спіс палёў аплатнай формы, а ў некаторых выпадках - код падробленай формы аплаты. У кодзе ўнутры функцыі рэсурсы былі зашыфраваны пры дапамозе XOR па ключы, які перадаваўся аргументам гэтай жа функцыі.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Расшыфраваўшы радок які адпавядае ключом, унікальным для кожнага ўзору, можна атрымаць радок, утрымоўвальную ўсе радкі з кода сниффера праз знак-падзельнік.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах

Другі алгарытм абфускацыі

У пазнейшых узорах снифферов гэтага сямейства быў скарыстаны іншы механізм абфускацыі: у гэтым выпадку дадзеныя былі зашыфраваныя пры дапамозе самапіснага алгарытму. Радок, якая змяшчае зашыфраваныя дадзеныя, неабходныя для працы сніфера, перадавалася аргументам функцыі расшыфравання.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Пры дапамозе кансолі браўзэра можна расшыфраваць зашыфраваныя дадзеныя і атрымаць масіў, утрымоўвальны рэсурсы сниффера.

Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах

Сувязь з раннімі нападамі MageCart

У ходзе аналізу аднаго з даменаў, якія выкарыстоўваюцца групай у якасці гейта для збору выкрадзеных дадзеных, было ўстаноўлена, што на гэтым дамене разгорнута інфраструктура для крадзяжу крэдытных карт, ідэнтычная той, якая выкарыстоўвалася Group 1 – адной з першых груп, знойдзеных спецыялістамі RiskIQ.

На хасце сямейства сніфераў CoffeMokko былі выяўлены два файлы:

  • mage.js - файл, які змяшчае код сніфера Group 1 з адрасам гейта js-cdn.link
  • mag.php - PHP-скрыпт, які адказвае за збор скрадзеных сниффером дадзеных

Змесціва файла mage.js Чатыры JavaScript-сніфера, якія падцікоўваюць вас у інтэрнэт-крамах
Таксама было ўстаноўлена, што самыя раннія дамены, якія выкарыстоўваюцца групай, якая стаіць за сямействам сніфераў CoffeMokko, былі зарэгістраваны 17 мая 2017 года:

  • link-js[.]link
  • info-js[.]link
  • track-js[.]link
  • map-js[.]link
  • smart-js[.]link

Фармат гэтых даменных імёнаў супадае з даменнымі імёнамі Group 1, якія былі скарыстаны ў нападах 2016 гады.

На аснове выяўленых фактаў можна зрабіць здагадку, што паміж аператарамі сніфераў CoffeMokko і злачыннай групай Group 1 ёсць сувязь. Як мяркуецца, аператары CoffeMokko маглі запазычыць у сваіх папярэднікаў інструменты і праграмнае забеспячэнне для крадзяжу карт. Аднак больш верагодна, што злачынная група, якая стаіць за выкарыстаннем сніфераў сямейства CoffeMokko, - гэта тыя ж людзі, што ажыццяўлялі атакі ў рамках дзейнасці Group 1. Пасля публікацыі першай справаздачы аб дзейнасці злачыннай групы ўсе іх даменныя імёны былі заблакаваныя, а інструменты падрабязна вывучаны і апісаны. Група была змушаная ўзяць перапынак, дапрацаваць свае ўнутраныя прылады і перапісаць код сніфераў для таго, каб працягнуць свае напады і заставацца незаўважанымі.

Інфраструктура

дамен Дата выяўлення/з'яўлення
link-js.link 17.05.2017
info-js.link 17.05.2017
track-js.link 17.05.2017
map-js.link 17.05.2017
smart-js.link 17.05.2017
adorebeauty.org 03.09.2017
security-payment.su 03.09.2017
braincdn.org 04.09.2017
sagecdn.org 04.09.2017
slickjs.org 04.09.2017
oakandfort.org 10.09.2017
citywlnery.org 15.09.2017
dobell.su 04.10.2017
childsplayclothing.org 31.10.2017
jewsondirect.com 05.11.2017
shop-rnib.org 15.11.2017
closetlondon.org 16.11.2017
misshaus.org 28.11.2017
battery-force.org 01.12.2017
kik-vape.org 01.12.2017
greatfurnituretradingco.org 02.12.2017
etradesupply.org 04.12.2017
replacemyremote.org 04.12.2017
all-about-sneakers.org 05.12.2017
mage-checkout.org 05.12.2017
nililotan.org 07.12.2017
lamoodbighats.net 08.12.2017
walletgear.org 10.12.2017
dahlie.org 12.12.2017
davidsfootwear.org 20.12.2017
blackriverimaging.org 23.12.2017
exrpesso.org 02.01.2018
parks.su 09.01.2018
pmtonline.su 12.01.2018
ottocap.org 15.01.2018
christohperward.org 27.01.2018
coffetea.org 31.01.2018
energycoffe.org 31.01.2018
energytea.org 31.01.2018
teacoffe.net 31.01.2018
adaptivecss.org 01.03.2018
coffemokko.com 01.03.2018
londontea.net 01.03.2018
ukcoffe.com 01.03.2018
labbe.biz 20.03.2018
batterynart.com 03.04.2018
btosports.net 09.04.2018
chicksaddlery.net 16.04.2018
paypaypay.org 11.05.2018
ar500arnor.com 26.05.2018
authorizecdn.com 28.05.2018
slickmin.com 28.05.2018
bannerbuzz.info 03.06.2018
kandypens.net 08.06.2018
mylrendyphone.com 15.06.2018
freshchat.info 01.07.2018
3lift.org 02.07.2018
abtasty.net 02.07.2018
mechat.info 02.07.2018
zoplm.com 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

Дадаць каментар