Téměř všichni využíváme služeb internetových obchodů, což znamená, že dříve nebo později riskujeme, že se staneme obětí snifferů JavaScriptu - speciálního kódu, který útočníci implementují na webové stránky, aby odcizili údaje o bankovních kartách, adresy, přihlašovací údaje a hesla uživatelů. .
Čichači již zasáhli téměř 400 000 uživatelů webu a mobilní aplikace British Airways a také návštěvníci britského webu sportovního giganta FILA a amerického distributora letenek Ticketmaster. PayPal, Chase Paymenttech, USAePay, Moneris – tyto a mnohé další platební systémy byly infikovány.
Analytik Threat Intelligence Group-IB Viktor Okorokov hovoří o tom, jak sniffery pronikají do kódu webu a kradou platební informace, a také o tom, na jaké CRM útočí.
„Skrytá hrozba“
Stalo se, že po dlouhou dobu zůstávali snifferové JS mimo dohled antivirových analytiků a banky a platební systémy je nepovažovaly za vážnou hrozbu. A úplně marně. Experti skupiny IB
Pojďme se podrobně věnovat čtyřem rodinám čichačů studovaných během studie.
ReactGet Family
Sniffery z rodiny ReactGet se používají ke krádeži údajů o bankovních kartách na stránkách online nakupování. Sniffer může pracovat s velkým množstvím různých platebních systémů používaných na webu: jedna hodnota parametru odpovídá jednomu platebnímu systému a jednotlivé detekované verze snifferu lze použít ke krádeži přihlašovacích údajů a také ke krádeži údajů o bankovní kartě z platby formy několika platebních systémů najednou, jako je tzv. univerzální sniffer. Bylo zjištěno, že v některých případech útočníci provádějí phishingové útoky na správce internetového obchodu, aby získali přístup k administrativnímu panelu webu.
Kampaň využívající tuto rodinu snifferů začala v květnu 2017; byly napadeny weby provozující CMS a platformy Magento, Bigcommerce a Shopify.
Jak je ReactGet implementován do kódu internetového obchodu
Kromě „klasické“ implementace skriptu přes odkaz používají operátoři rodiny snifferů ReactGet speciální techniku: pomocí JavaScript kódu zkontrolují, zda aktuální adresa, na které se uživatel nachází, splňuje určitá kritéria. Škodlivý kód bude spuštěn pouze v případě, že je podřetězec přítomen v aktuální adrese URL pokladna nebo jednokroková pokladna, jedna stránka/, out/onepag, pokladna/jedna, výběh/jeden. Sniffer kód se tedy spustí přesně v okamžiku, kdy uživatel přejde k platbě za nákupy a zadá platební údaje do formuláře na stránce.
Tento čichač používá nestandardní techniku. Platební a osobní údaje oběti jsou shromažďovány společně a zakódovány pomocí base64a výsledný řetězec se pak použije jako parametr k odeslání požadavku na web útočníků. Nejčastěji cesta k bráně napodobuje například JavaScriptový soubor resp.js, data.js a tak dále, ale používají se také odkazy na soubory obrázků, Gif и JPG. Zvláštností je, že sniffer vytvoří obrazový objekt o rozměrech 1 x 1 pixel a jako parametr použije dříve přijatý odkaz src Snímky. To znamená, že pro uživatele bude takový požadavek v provozu vypadat jako požadavek na obyčejný obrázek. Podobná technika byla použita v rodině ImageID snifferů. Technika použití obrázku 1 x 1 pixel se navíc používá v mnoha legitimních online analytických skriptech, což může také uživatele uvést v omyl.
Analýza verze
Analýza aktivních domén používaných operátory snifferů ReactGet odhalila mnoho různých verzí této rodiny snifferů. Verze se liší přítomností či nepřítomností mlžení a navíc je každý sniffer určen pro konkrétní platební systém, který zpracovává platby bankovními kartami pro internetové obchody. Po třídění podle hodnoty parametru odpovídajícímu číslu verze dostali specialisté Group-IB kompletní seznam dostupných variant snifferů a podle názvů polí formuláře, která každý sniffer hledá v kódu stránky, identifikovali platební systémy. na které je čichač namířen.
Seznam snifferů a jim odpovídajících platebních systémů
Sniffer URL | Platební systém |
---|---|
|
Authorize.Net |
Cardsave | |
|
Authorize.Net |
Authorize.Net | |
|
eWAY Rapid |
Authorize.Net | |
Adyen | |
|
USAePay |
Authorize.Net | |
USAePay | |
|
Authorize.Net |
Moneris | |
USAePay | |
PayPal | |
Sage Pay | |
Verisign | |
PayPal | |
Proužek | |
|
Realex |
PayPal | |
LinkPoint | |
PayPal | |
PayPal | |
DataCash | |
|
PayPal |
|
Authorize.Net |
|
Authorize.Net |
Authorize.Net | |
Authorize.Net | |
|
Verisign |
|
Authorize.Net |
Moneris | |
|
Sage Pay |
|
USAePay |
|
Authorize.Net |
|
Authorize.Net |
|
ANZ eGate |
|
Authorize.Net |
|
Moneris |
|
Sage Pay |
Sage Pay | |
|
Chase Paymentech |
|
Authorize.Net |
|
Adyen |
PsiGate | |
Kybernetický zdroj | |
ANZ eGate | |
Realex | |
|
USAePay |
|
Authorize.Net |
|
Authorize.Net |
|
ANZ eGate |
|
PayPal |
|
PayPal |
Realex | |
|
Sage Pay |
|
PayPal |
|
Verisign |
Authorize.Net | |
|
Verisign |
Authorize.Net | |
|
ANZ eGate |
PayPal | |
Kybernetický zdroj | |
|
Authorize.Net |
|
Sage Pay |
Realex | |
|
Kybernetický zdroj |
PayPal | |
PayPal | |
|
PayPal |
|
Verisign |
|
eWAY Rapid |
|
Sage Pay |
Sage Pay | |
|
Verisign |
Authorize.Net | |
Authorize.Net | |
|
První datová globální brána |
Authorize.Net | |
Authorize.Net | |
Moneris | |
|
Authorize.Net |
|
PayPal |
|
Verisign |
|
USAePay |
USAePay | |
Authorize.Net | |
Verisign | |
PayPal | |
|
Authorize.Net |
Proužek | |
|
Authorize.Net |
eWAY Rapid | |
|
Sage Pay |
Authorize.Net | |
|
Braintree |
|
Braintree |
|
PayPal |
|
Sage Pay |
|
Sage Pay |
|
Authorize.Net |
|
PayPal |
|
Authorize.Net |
Verisign | |
|
PayPal |
|
Authorize.Net |
|
Proužek |
|
Authorize.Net |
eWAY Rapid | |
Sage Pay | |
|
Authorize.Net |
Braintree | |
|
PayPal |
|
Sage Pay |
Sage Pay | |
|
Authorize.Net |
PayPal | |
Authorize.Net | |
|
Verisign |
|
Authorize.Net |
|
Authorize.Net |
|
Authorize.Net |
|
Authorize.Net |
|
Sage Pay |
Sage Pay | |
|
Westpac PayWay |
|
PayFort |
|
PayPal |
|
Authorize.Net |
|
Proužek |
|
První datová globální brána |
|
PsiGate |
Authorize.Net | |
Authorize.Net | |
|
Moneris |
|
Authorize.Net |
Sage Pay | |
|
Verisign |
Moneris | |
PayPal | |
|
LinkPoint |
|
Westpac PayWay |
Authorize.Net | |
|
Moneris |
|
PayPal |
Adyen | |
PayPal | |
Authorize.Net | |
USAePay | |
EBizCharge | |
|
Authorize.Net |
|
Verisign |
Verisign | |
Authorize.Net | |
|
PayPal |
|
Moneris |
Authorize.Net | |
|
PayPal |
PayPal | |
Westpac PayWay | |
Authorize.Net | |
|
Authorize.Net |
Sage Pay | |
|
Verisign |
|
Authorize.Net |
|
PayPal |
|
PayFort |
Kybernetický zdroj | |
PayPal Payflow Pro | |
|
Authorize.Net |
|
Authorize.Net |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
Sage Pay | |
Authorize.Net | |
|
Proužek |
|
Authorize.Net |
Authorize.Net | |
Verisign | |
|
PayPal |
Authorize.Net | |
|
Authorize.Net |
Sage Pay | |
|
Authorize.Net |
|
Authorize.Net |
|
PayPal |
|
Pazourek |
|
PayPal |
Sage Pay | |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
|
Proužek |
|
Tlustá zebra |
Sage Pay | |
|
Authorize.Net |
První datová globální brána | |
|
Authorize.Net |
|
eWAY Rapid |
Adyen | |
|
PayPal |
Obchodní služby QuickBooks | |
Verisign | |
|
Sage Pay |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
Sage Pay | |
|
Authorize.Net |
|
eWAY Rapid |
Authorize.Net | |
|
ANZ eGate |
|
PayPal |
Kybernetický zdroj | |
|
Authorize.Net |
Sage Pay | |
|
Realex |
Kybernetický zdroj | |
|
PayPal |
|
PayPal |
|
PayPal |
|
Verisign |
eWAY Rapid | |
|
Sage Pay |
|
Sage Pay |
|
Verisign |
Authorize.Net | |
|
Authorize.Net |
|
První datová globální brána |
Authorize.Net | |
Authorize.Net | |
|
Moneris |
|
Authorize.Net |
|
PayPal |
Sledovač hesel
Jednou z výhod JavaScriptových snifferů pracujících na klientské straně webu je jejich všestrannost: škodlivý kód vložený na web může ukrást jakýkoli typ dat, ať už jde o platební údaje nebo přihlašovací jméno a heslo k uživatelskému účtu. Specialisté Group-IB objevili vzorek snifferu patřícího do rodiny ReactGet, který byl navržen tak, aby ukradl e-mailové adresy a hesla uživatelů webu.
Průnik s ImageID sniffer
Při analýze jednoho z infikovaných obchodů bylo zjištěno, že jeho stránka byla infikována dvakrát: kromě škodlivého kódu snifferu rodiny ReactGet byl zjištěn kód snifferu rodiny ImageID. Toto překrývání by mohlo být důkazem toho, že operátoři za oběma sniffery používají podobné techniky k vkládání škodlivého kódu.
Univerzální čichač
Analýza jednoho z doménových jmen spojených s infrastrukturou ReactGet sniffer odhalila, že stejný uživatel zaregistroval tři další doménová jména. Tyto tři domény napodobovaly domény skutečných webových stránek a byly dříve používány k hostování snifferů. Při analýze kódu tří legitimních stránek byl zjištěn neznámý sniffer a další analýza ukázala, že se jednalo o vylepšenou verzi snifferu ReactGet. Všechny dříve sledované verze této rodiny snifferů byly zaměřeny na jednotný platební systém, to znamená, že každý platební systém vyžadoval speciální verzi snifferu. V tomto případě však byla objevena univerzální verze snifferu, která je schopna krást informace z formulářů souvisejících s 15 různými platebními systémy a moduly webů elektronického obchodu pro provádění online plateb.
Na začátku práce tedy sniffer hledal základní pole formuláře obsahující osobní údaje oběti: celé jméno, fyzickou adresu, telefonní číslo.
Sniffer poté prohledal přes 15 různých předvoleb odpovídajících různým platebním systémům a online platebním modulům.
Dále byly shromážděny osobní údaje oběti a informace o platbách a odeslány na stránku kontrolovanou útočníkem: v tomto konkrétním případě byly objeveny dvě verze univerzálního snifferu ReactGet umístěné na dvou různých napadených stránkách. Obě verze však odeslaly odcizená data na stejný hacknutý web zoobashop.com.
Analýza prefixů, které sniffer použil k vyhledávání polí obsahujících platební informace oběti, nám umožnila určit, že tento vzorek snifferu byl zaměřen na následující platební systémy:
- Authorize.Net
- Verisign
- První data
- USAePay
- Proužek
- PayPal
- ANZ eGate
- Braintree
- DataCash (MasterCard)
- Platby Realex
- PsiGate
- Platební systémy Heartland
Jaké nástroje se používají ke krádeži platebních údajů?
První nástroj, objevený při analýze infrastruktury útočníků, slouží k oblažení škodlivých skriptů odpovědných za krádeže bankovních karet. Na jednom z útočníkových hostitelů byl objeven bash skript využívající CLI projektu
Druhý objevený nástroj je navržen tak, aby generoval kód zodpovědný za načtení hlavního snifferu. Tento nástroj generuje kód JavaScript, který zkontroluje, zda je uživatel na platební stránce, vyhledáním řetězců v aktuální adrese uživatele pokladna, vozík a tak dále, a pokud je výsledek kladný, pak kód načte hlavní sniffer ze serveru útočníků. Aby se skryla škodlivá aktivita, jsou všechny řádky, včetně testovacích řádků pro určení platební stránky a odkazu na sniffer, zakódovány pomocí base64.
Phishingové útoky
Analýza síťové infrastruktury útočníků odhalila, že zločinecká skupina často využívá phishing k získání přístupu do administrativního panelu cílového internetového obchodu. Útočníci si zaregistrují doménu, která je vizuálně podobná doméně obchodu, a poté na ni nasadí falešný přihlašovací formulář pro administrační panel Magento. Pokud budou úspěšní, útočníci získají přístup do administrativního panelu Magento CMS, který jim dává možnost upravovat komponenty webu a implementovat sniffer pro krádež dat o kreditních kartách.
infrastruktura
Domén | Datum objevení/objevení |
---|---|
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 |
reagovatjsapi.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 |
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-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 |
Rodina G-Analytics
Tato rodina snifferů se používá ke krádežím zákaznických karet z internetových obchodů. Úplně první doménové jméno používané skupinou bylo zaregistrováno v dubnu 2016, což může naznačovat, že skupina zahájila činnost v polovině roku 2016.
V aktuální kampani skupina používá názvy domén, které napodobují skutečné služby, jako je Google Analytics a jQuery, a maskuje aktivitu snifferů pomocí legitimních skriptů a doménových jmen podobných těm legitimním. Stránky provozující Magento CMS byly napadeny.
Jak je G-Analytics implementován do kódu internetového obchodu
Charakteristickým rysem této rodiny je použití různých metod ke krádeži platebních údajů uživatele. Kromě klasického vkládání kódu JavaScript do klientské strany webu zločinecká skupina používala také techniky vkládání kódu na serverovou stranu webu, konkrétně PHP skripty, které zpracovávají data zadaná uživatelem. Tato technika je nebezpečná, protože výzkumníkům třetích stran ztěžuje detekci škodlivého kódu. Specialisté Group-IB objevili verzi snifferu vloženého do kódu PHP webu pomocí domény jako brány dittm.org.
Byla také objevena raná verze snifferu, který používá stejnou doménu ke shromažďování ukradených dat dittm.org, ale tato verze je určena pro instalaci na klientské straně internetového obchodu.
Skupina později změnila taktiku a začala se více soustředit na skrývání škodlivé činnosti a maskování.
Na začátku roku 2017 začala skupina doménu využívat jquery-js.com, maskující se jako CDN pro jQuery: při přechodu na web útočníků je uživatel přesměrován na legitimní web jquery.com.
A v polovině roku 2018 skupina přijala název domény g-analytics.com a začal snifferovy aktivity maskovat jako legitimní službu Google Analytics.
Analýza verze
Během analýzy domén používaných k ukládání sniffer kódu bylo zjištěno, že stránka obsahuje velké množství verzí, které se liší přítomností zmatku a také přítomností nebo nepřítomností nedostupného kódu přidaného do souboru, aby odvrátil pozornost a skrýt škodlivý kód.
Celkem na webu jquery-js.com Bylo identifikováno šest verzí čichačů. Tyto sniffery odesílají odcizená data na adresu umístěnou na stejné webové stránce jako samotný sniffer: 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
Později doména g-analytics.com, který skupina používá při útocích od poloviny roku 2018, slouží jako úložiště pro více snifferů. Celkem bylo objeveno 16 různých verzí snifferu. V tomto případě byla brána pro odesílání odcizených dat maskována jako odkaz na obrázkový formát 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
Monetizace odcizených dat
Zločinecká skupina zpeněžuje odcizená data prodejem karet prostřednictvím speciálně vytvořeného podzemního obchodu, který poskytuje služby kartářům. Analýza domén používaných útočníky nám to umožnila určit google-analytics.cm byla registrována stejným uživatelem jako doména cardz.vc. Doména cardz.vc označuje obchod prodávající kradené bankovní karty Cardsurfs (Flysurfs), který si získal oblibu již v dobách činnosti podzemní obchodní platformy AlphaBay jako obchod prodávající bankovní karty odcizené pomocí snifferu.
Analýza domény analytický.je, který se nachází na stejném serveru jako domény používané sniffery ke shromažďování odcizených dat, objevili specialisté Group-IB soubor obsahující protokoly o krádeži cookies, který, jak se zdá, později vývojář opustil. Jedna z položek v protokolu obsahovala doménu iozoz.com, který byl dříve použit v jednom ze snifferů aktivních v roce 2016. Tuto doménu pravděpodobně dříve používal útočník ke sbírání karet ukradených pomocí snifferu. Tato doména byla zaregistrována na e-mailovou adresu [chráněno e-mailem], který sloužil i k registraci domén cardz.su и cardz.vc, související s mykacím obchodem Cardsurfs.
Na základě získaných údajů lze předpokládat, že rodinu snifferů G-Analytics a podzemní obchod prodávající bankovní karty Cardsurfs spravují stejní lidé a obchod slouží k prodeji bankovních karet odcizených pomocí snifferu.
infrastruktura
Domén | Datum objevení/objevení |
---|---|
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 |
analytický.k | 04.12.2018 |
google-analytics.to | 06.12.2018 |
google-analytics.cm | 28.12.2018 |
analytický.je | 28.12.2018 |
googlec-analytics.cm | 17.01.2019 |
Rodina Illumů
Illum je rodina snifferů používaných k útokům na internetové obchody provozující Magento CMS. Provozovatelé tohoto snifferu využívají kromě zavádění škodlivého kódu i zavedení plnohodnotných falešných platebních formulářů, které odesílají data na brány ovládané útočníky.
Při analýze síťové infrastruktury používané provozovateli tohoto snifferu bylo zaznamenáno velké množství škodlivých skriptů, exploitů, falešných platebních formulářů a také sbírka příkladů se škodlivými sniffery od konkurence. Na základě informací o datech výskytu doménových jmen používaných skupinou lze předpokládat, že kampaň začala na konci roku 2016.
Jak je Illum implementován do kódu internetového obchodu
První objevené verze snifferu byly vloženy přímo do kódu napadeného webu. Ukradená data byla odeslána na cdn.illum[.]pw/records.php, brána byla zakódována pomocí base64.
Později byla objevena zabalená verze snifferu, která používá jinou bránu - records.nstatistics[.]com/records.php.
Podle
Analýza webu útočníků
Specialisté Group-IB objevili a analyzovali webovou stránku, kterou tato zločinecká skupina používá k ukládání nástrojů a shromažďování odcizených informací.
Mezi nástroji nalezenými na serveru útočníků byly skripty a exploity pro eskalaci oprávnění v OS Linux: například Linux Privilege Escalation Check Script vyvinutý Mikem Czumakem, stejně jako exploit pro CVE-2009-1185.
K útoku na internetové obchody útočníci použili přímo dva exploity:
Během analýzy serveru byly také objeveny různé vzorky snifferů a falešných platebních formulářů, které útočníci používali ke shromažďování platebních informací z hacknutých stránek. Jak můžete vidět z níže uvedeného seznamu, některé skripty byly vytvořeny individuálně pro každý hacknutý web, zatímco pro určité CMS a platební brány bylo použito univerzální řešení. Například skripty segapay_standart.js и segapay_onpage.js navrženo pro implementaci na stránkách využívajících platební bránu Sage Pay.
Seznam skriptů pro různé platební brány
Skript | Platební brána |
---|---|
|
//request.payrightnow[.]cf/checkpayment.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/checkpayment.php |
|
//cdn.illum[.]pw/records.php |
|
//request.payrightnow[.]cf/checkpayment.php |
|
//cdn.illum[.]pw/records.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/alldata.php |
//request.payrightnow[.]cf/checkpayment.php | |
|
//request.payrightnow[.]cf/checkpayment.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//cdn.illum[.]pw/records.php |
|
//cdn.illum[.]pw/records.php |
|
//request.payrightnow[.]cf/checkpayment.php |
|
//cdn.illum[.]pw/records.php |
//request.payrightnow[.]cf/checkpayment.php | |
|
//cdn.illum[.]pw/records.php |
//payrightnow[.]cf/?payment= | |
|
//payrightnow[.]cf/?payment= |
|
//paymentnow[.]tk/?payment= |
Hostitel paymentnow[.]tk, používaný jako brána ve scénáři payment_forminsite.js, byl objeven jako PředmětAltName v několika certifikátech souvisejících se službou CloudFlare. Hostitel navíc obsahoval skript evil.js. Soudě podle názvu skriptu by mohl být použit v rámci exploitace CVE-2016-4010, díky kterému je možné vložit škodlivý kód do patičky webu, na kterém běží CMS Magento. Hostitel použil tento skript jako bránu request.requestnet[.]tkpomocí stejného certifikátu jako hostitel paymentnow[.]tk.
Falešné platební formuláře
Na obrázku níže je ukázka formuláře pro zadání údajů o kartě. Tento formulář byl použit k infiltraci internetového obchodu a odcizení údajů o kartě.
Následující obrázek ukazuje příklad falešného platebního formuláře PayPal, který útočníci použili k infiltraci stránek s touto platební metodou.
infrastruktura
Domén | Datum objevení/objevení |
---|---|
cdn.illum.pw | 27/11/2016 |
records.nstatistics.com | 06/09/2018 |
request.payrightnow.cf | 25/05/2018 |
paymentnow.tk | 16/07/2017 |
platba-line.tk | 01/03/2018 |
paymentpal.cf | 04/09/2017 |
requestnet.tk | 28/06/2017 |
Rodina CoffeeMokko
Rodina snifferů CoffeMokko, navržená ke krádeži bankovních karet od uživatelů internetového obchodu, se používá minimálně od května 2017. Provozovateli této rodiny snifferů jsou pravděpodobně zločinecká skupina Group 1, popsaná specialisty RiskIQ v roce 2016. Napadeny byly stránky provozující CMS jako Magento, OpenCart, WordPress, osCommerce a Shopify.
Jak je CoffeMokko implementováno do kódu internetového obchodu
Operátoři této rodiny vytvářejí jedinečné sniffery pro každou infekci: soubor sniffer je umístěn v adresáři src nebo js na serveru útočníků. Začlenění do kódu webu se provádí přes přímý odkaz na sniffer.
Sniffer kód pevně zakóduje názvy polí formuláře, ze kterých je třeba ukrást data. Sniffer také zkontroluje, zda je uživatel na platební stránce, a to kontrolou seznamu klíčových slov s aktuální adresou uživatele.
Některé objevené verze snifferu byly zamlženy a obsahovaly zašifrovaný řetězec, ve kterém bylo uloženo hlavní pole zdrojů: obsahoval názvy polí formulářů pro různé platební systémy a také adresu brány, na kterou mají být ukradená data odeslána.
Ukradené platební údaje byly po cestě odeslány do skriptu na serveru útočníků /savePayment/index.php nebo /tr/index.php. Tento skript se pravděpodobně používá k odesílání dat z brány na hlavní server, který konsoliduje data ze všech snifferů. Pro skrytí přenášených dat jsou všechny platební informace oběti šifrovány pomocí base64a poté dojde k několika záměnám znaků:
- znak "e" je nahrazen ":"
- symbol "w" je nahrazen "+"
- znak "o" je nahrazen "%"
- znak "d" je nahrazen "#"
- znak "a" je nahrazen "-"
- symbol "7" je nahrazen "^"
- znak "h" je nahrazen "_"
- symbol "T" je nahrazen "@"
- znak "0" je nahrazen "/"
- znak "Y" je nahrazen "*"
V důsledku substitucí znaků kódovaných pomocí base64 Data nelze dekódovat bez provedení zpětné konverze.
Takto vypadá fragment kódu sniffer, který nebyl zatemněn:
Analýza infrastruktury
V prvních kampaních si útočníci registrovali názvy domén podobné názvům legitimních internetových obchodů. Jejich doména se může lišit od legitimní jedním symbolem nebo jinou TLD. Registrované domény sloužily k uložení sniffer kódu, odkaz na který byl vložený do kódu obchodu.
Tato skupina také používala názvy domén připomínající oblíbené pluginy jQuery (slickjs[.]org pro weby používající plugin slick.js), platební brány (sagecdn[.]org pro stránky využívající platební systém Sage Pay).
Později skupina začala vytvářet domény, jejichž názvy neměly nic společného s doménou obchodu nebo tématem obchodu.
Každá doména odpovídala webu, na kterém byl adresář vytvořen /js nebo / src. Sniffer skripty byly uloženy v tomto adresáři: jeden sniffer pro každou novou infekci. Sniffer byl vložen do kódu webu prostřednictvím přímého odkazu, ale ve vzácných případech útočníci upravili jeden ze souborů webu a přidali do něj škodlivý kód.
Analýza kódu
První obfuskační algoritmus
V některých objevených vzorcích snifferů této rodiny byl kód zatemněn a obsahoval zašifrovaná data nezbytná k tomu, aby sniffer fungoval: zejména adresa snifferové brány, seznam polí platebního formuláře a v některých případech kód falešného platební formulář. V kódu uvnitř funkce byly prostředky zašifrovány pomocí XOR klíčem, který byl předán jako argument stejné funkci.
Dešifrováním řetězce pomocí příslušného klíče, jedinečného pro každý vzorek, můžete získat řetězec obsahující všechny řetězce z kódu sniffer oddělené oddělovacím znakem.
Druhý obfuskační algoritmus
V pozdějších vzorcích snifferů této rodiny byl použit jiný zatemňovací mechanismus: v tomto případě byla data zašifrována pomocí samonapsaného algoritmu. Řetězec obsahující zašifrovaná data nezbytná pro fungování snifferu byl předán jako argument funkci dešifrování.
Pomocí konzoly prohlížeče můžete dešifrovat zašifrovaná data a získat pole obsahující prostředky snifferu.
Připojení k časným útokům MageCart
Během analýzy jedné z domén, které skupina používala jako bránu pro sběr odcizených dat, bylo zjištěno, že tato doména hostila infrastrukturu pro krádeže kreditních karet, identickou s infrastrukturou používanou skupinou 1, jednou z prvních skupin,
U hostitele rodiny čichačů CoffeMokko byly nalezeny dva soubory:
- mage.js — soubor obsahující kód snifferu skupiny 1 s adresou brány js-cdn.link
- mag.php — PHP skript zodpovědný za shromažďování dat ukradených snifferem
Obsah souboru mage.js
Bylo také zjištěno, že nejstarší domény používané skupinou za rodinou snifferů CoffeMokko byly zaregistrovány 17. května 2017:
- link-js[.]odkaz
- info-js[.]odkaz
- track-js[.]odkaz
- map-js[.]odkaz
- smart-js[.]odkaz
Formát těchto názvů domén odpovídá názvům domén skupiny 1, které byly použity při útocích v roce 2016.
Na základě zjištěných skutečností lze předpokládat, že mezi provozovateli čichačů CoffeMokko a zločineckou skupinou Group 1 existuje spojení. Operátoři CoffeMokko si pravděpodobně mohli půjčit nástroje a software od svých předchůdců ke krádeži karet. Pravděpodobnější však je, že zločineckou skupinou, která stojí za využitím čichačů rodiny CoffeMokko, jsou titíž lidé, kteří provedli útoky skupiny 1. Od zveřejnění první zprávy o činnosti zločinecké skupiny byla všechna jejich doménová jména zablokovány a nástroje byly podrobně prostudovány a popsány. Skupina byla nucena dát si pauzu, vylepšit své vnitřní nástroje a přepsat sniffer kód, aby pokračovala v útocích a zůstala neodhalena.
infrastruktura
Domén | Datum objevení/objevení |
---|---|
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 |
dětské oblečení.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 |
nahradit myremote.org | 04.12.2017 |
all-about-sneakers.org | 05.12.2017 |
mage-checkout.org | 05.12.2017 |
nililotan.org | 07.12.2017 |
lamoodbighat.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 |
otocap.org | 15.01.2018 |
christohperward.org | 27.01.2018 |
coffee.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 |
authorizedecdn.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 |
Zdroj: www.habr.com