Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse

Beveik kiekvienas iš mūsų naudojasi internetinių parduotuvių paslaugomis, o tai reiškia, kad anksčiau ar vėliau rizikuojame tapti „JavaScript“ šnipinėjimo auka – specialaus kodo, kurį užpuolikai įveda į svetainę, norėdami pavogti banko kortelių duomenis, adresus, vartotojo vardus ir slaptažodžius. .

Beveik 400 000 „British Airways“ svetainės ir mobiliosios programėlės vartotojų, taip pat Didžiosios Britanijos sporto milžinės FILA svetainės ir JAV bilietų platintojo „Ticketmaster“ lankytojai jau nukentėjo nuo uostelių. PayPal, Chase Paymenttech, USAePay, Moneris – šios ir daugelis kitų mokėjimo sistemų buvo užkrėstos.

Threat Intelligence Group-IB analitikas Viktoras Okorokovas pasakoja apie tai, kaip uostytojai įsiskverbia į svetainės kodą ir pavagia mokėjimo informaciją, taip pat apie tai, kokius CRM jie atakuoja.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse

"Paslėpta grėsmė"

Taip jau susiklostė, kad JS-sniffers ilgą laiką liko nuo antivirusinių analitikų akiračio, o bankai ir mokėjimo sistemos jų nematė kaip rimtos grėsmės. Ir visiškai veltui. IB grupės ekspertai analizuojama 2440 užkrėstų internetinių parduotuvių, kurių lankytojams – iš viso apie 1,5 mln. žmonių per dieną – iškilo pavojus susikompromituoti. Tarp aukų – ne tik vartotojai, bet ir internetinės parduotuvės, mokėjimo sistemos bei bankai, išdavę pažeistas korteles.

Ataskaita „Group-IB“ tapo pirmuoju „darknet“ snifferių rinkos, jų infrastruktūros ir pinigų gavimo būdų tyrimu, atnešusiu jų kūrėjams milijonus dolerių. Mes nustatėme 38 uostytojų šeimas, iš kurių tik 12 anksčiau buvo žinomos tyrėjams.

Išsamiai apsistokime ties keturiomis uostytojų šeimomis, tirtomis tyrimo metu.

„ReactGet“ šeima

„ReactGet“ šeimos snifferiai naudojami banko kortelių duomenims pavogti internetinėse prekybos svetainėse. Sniffer gali dirbti su daugybe skirtingų svetainėje naudojamų mokėjimo sistemų: viena parametro reikšmė atitinka vieną mokėjimo sistemą, o atskiros aptiktos uostiklio versijos gali būti naudojamos kredencialams pavogti, taip pat banko kortelių duomenims iš kelių mokėjimo sistemų mokėjimo formos vienu metu, pavyzdžiui, vadinamasis universalus snifferis. Nustatyta, kad kai kuriais atvejais užpuolikai vykdo sukčiavimo atakas prieš internetinių parduotuvių administratorius, siekdami gauti prieigą prie svetainės administracinio skydelio.

Kampanija naudojant šią uostytojų šeimą prasidėjo 2017 m. gegužės mėn. Buvo užpultos svetainės, kuriose veikia TVS ir platformos Magento, Bigcommerce, Shopify.

Kaip ReactGet įterpiamas į internetinės parduotuvės kodą

Be „klasikinio“ scenarijaus įvedimo nuoroda, „ReactGet“ šeimos sniffer operatoriai naudoja specialią techniką: naudodami „JavaScript“ kodą patikrina, ar dabartinis adresas, kuriame yra vartotojas, atitinka tam tikrus kriterijus. Kenkėjiškas kodas veiks tik tuo atveju, jei dabartiniame URL yra poeilutė išsiregistravimo laikas arba patikrinimas vienu žingsniu, vienas puslapis/, out/onepag, kasa/vienas, ckout/one. Taigi, šnipinėjimo kodas bus vykdomas tiksliai tuo metu, kai vartotojas mokės už pirkinius ir įveda mokėjimo informaciją į svetainės formą.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Šis uostiklis naudoja nestandartinę techniką. Mokėjimas ir nukentėjusiojo asmens duomenys renkami kartu, užkoduojami naudojant base64, o gauta eilutė naudojama kaip parametras siunčiant užklausą į kenkėjišką svetainę. Dažniausiai kelias į vartus imituoja, pavyzdžiui, JavaScript failą resp.js, duomenys.js ir pan., tačiau taip pat naudojamos nuorodos į vaizdo failus, Pagal GIF и JPG. Ypatumas yra tas, kad uostytojas sukuria vaizdo objektą, kurio dydis yra 1 x 1 pikselis, ir kaip parametrą naudoja anksčiau gautą nuorodą. src Vaizdai. Tai yra, vartotojui tokia užklausa sraute atrodys kaip įprastos nuotraukos užklausa. Panaši technika buvo naudojama „ImageID“ uostytojų šeimoje. Be to, 1x1 pikselio vaizdo technika naudojama daugelyje teisėtų internetinių analizės scenarijų, kurie taip pat gali suklaidinti vartotoją.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse

Versijos analizė

„ReactGet“ uostymo operatorių naudojamų aktyvių domenų analizė atskleidė daugybę skirtingų šios snifferių šeimos versijų. Versijos skiriasi tuo, ar yra ar nėra užtemimo, be to, kiekvienas snifferis yra skirtas konkrečiai mokėjimo sistemai, kuri apdoroja mokėjimus banko kortelėmis internetinėse parduotuvėse. Surūšiavę parametro reikšmę, atitinkančią versijos numerį, Grupės IB specialistai gavo visą galimų uostymo variantų sąrašą ir pagal formų laukų pavadinimus, kurių kiekvienas uostytojas ieško puslapio kode, nustatė mokėjimo sistemas. kad uostytojas taikosi.

Sniferių ir juos atitinkančių mokėjimo sistemų sąrašas

Sniffer URL Mokėjimo sistema
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 Adyenas
ajaxstatic.com/api.js?v=2.1.7 USAePay
ajaxstatic.com/api.js?v=2.1.9 Authorize.Net
apitstatus.com/api.js?v=2.1.1 USAePay
apitstatus.com/api.js?v=2.1.2 Authorize.Net
apitstatus.com/api.js?v=2.1.3 Moneris
apitstatus.com/api.js?v=2.1.5 USAePay
apitstatus.com/api.js?v=2.1.6 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 Juostelių
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 Moneris
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 Moneris
cloudodesc.com/gtm.js?v=2.6 SagePay
cloudodesc.com/gtm.js?v=2.7 SagePay
cloudodesc.com/gtm.js?v=2.8 Chase Paymenttech
cloudodesc.com/gtm.js?v=2.9 Authorize.Net
cloudodesc.com/gtm.js?v=2.91 Adyenas
cloudodesc.com/gtm.js?v=2.92 PsiGate
cloudodesc.com/gtm.js?v=2.93 Kibernetinis šaltinis
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 Kibernetinis šaltinis
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 Kibernetinis šaltinis
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 Pirmieji pasauliniai duomenų vartai
livegetpay.com/pay.js?v=2.3.3 Authorize.Net
livegetpay.com/pay.js?v=2.3.4 Authorize.Net
livegetpay.com/pay.js?v=2.3.5 Moneris
livegetpay.com/pay.js?v=2.3.6 Authorize.Net
livegetpay.com/pay.js?v=2.3.8 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 Juostelių
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 Braintree
mxcounter.com/c.js?v=2.10 Braintree
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 Juostelių
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 Braintree
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 užmokestis
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 Juostelių
nr-public.com/api.js?v=2.4 Pirmieji pasauliniai duomenų vartai
nr-public.com/api.js?v=2.5 PsiGate
nr-public.com/api.js?v=2.6 Authorize.Net
nr-public.com/api.js?v=2.7 Authorize.Net
nr-public.com/api.js?v=2.8 Moneris
nr-public.com/api.js?v=2.9 Authorize.Net
nr-public.com/api.js?v=3.1 SagePay
nr-public.com/api.js?v=3.2 "Verisign
nr-public.com/api.js?v=3.3 Moneris
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 Moneris
nr-public.com/api.js?v=4.0.2 PayPal
nr-public.com/api.js?v=4.0.3 Adyenas
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 Moneris
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 užmokestis
ordercheckpays.com/api.js?v=2.29 Kibernetinis šaltinis
ordercheckpays.com/api.js?v=2.4 PayPal PayflowPro
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 Juostelių
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 Titnagas
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 Juostelių
reactjsapi.com/api.js?v=4.1.9 Riebus zebras
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 Pirmieji pasauliniai duomenų vartai
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 Adyenas
reactjsapi.com/api.js?v=4.2.7 PayPal
reactjsapi.com/api.js?v=4.2.8 „QuickBooks“ prekybininkų paslaugos
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 Kibernetinis šaltinis
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 Kibernetinis šaltinis
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 Pirmieji pasauliniai duomenų vartai
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 Moneris
tagstracking.com/tag.js?v=2.3.6 Authorize.Net
tagstracking.com/tag.js?v=2.3.8 PayPal

Slaptažodžio uostytojas

Vienas iš „JavaScript“ snifferių, veikiančių svetainės kliento pusėje, privalumų yra jos universalumas: svetainėje įterptas kenkėjiškas kodas gali pavogti bet kokio tipo duomenis, nesvarbu, ar tai būtų mokėjimo informacija, ar prisijungimo vardas ir slaptažodis iš vartotojo paskyros. Grupės IB specialistai aptiko „ReactGet“ šeimai priklausančio šnipinėjimo pavyzdį, skirtą pavogti svetainės vartotojų el. pašto adresus ir slaptažodžius.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse

Sankryža su ImageID sniffer

Atliekant vienos iš užkrėstų parduotuvių analizę, buvo nustatyta, kad jos svetainė buvo užkrėsta du kartus: be kenkėjiško „ReactGet“ šeimos snifferio kodo, rastas ir „ImageID“ šeimos snifferio kodas. Šis sutapimas gali būti įrodymas, kad operatoriai, dirbantys už abiejų uostytojų, naudoja panašius metodus, kad suleistų kenkėjišką kodą.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse

Universalus uostiklis

Analizuojant vieną iš domenų vardų, susijusių su ReactGet sniffer infrastruktūra, buvo nustatyta, kad tas pats vartotojas užregistravo dar tris domenų vardus. Šie trys domenai imitavo realių svetainių domenus ir anksčiau buvo naudojami uostytojų prieglobai. Analizuojant trijų teisėtų svetainių kodą, buvo rastas nežinomas snifferis, o tolesnė analizė parodė, kad tai yra patobulinta ReactGet sniffer versija. Visos anksčiau sektos šios snifferių šeimos versijos buvo skirtos vienai mokėjimo sistemai, tai yra, kiekvienai mokėjimo sistemai reikėjo specialios snifferio versijos. Tačiau šiuo atveju buvo aptikta universali sniffer versija, galinti pavogti informaciją iš formų, susijusių su 15 skirtingų mokėjimo sistemų ir elektroninės prekybos svetainių moduliais, skirtais mokėjimams internetu.

Taigi darbo pradžioje uostytojas ieškojo pagrindinių formos laukelių, kuriuose yra aukos asmeninė informacija: vardas, pavardė, fizinis adresas, telefono numeris.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Tada uostytojas ieškojo daugiau nei 15 skirtingų prefiksų, atitinkančių skirtingas mokėjimo sistemas ir internetinių mokėjimų modulius.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Tada aukos asmens duomenys ir mokėjimo informacija buvo surinkti kartu ir išsiųsti į užpuoliko valdomą svetainę: šiuo konkrečiu atveju dviejose skirtingose ​​nulaužtose svetainėse buvo rastos dvi universalaus „ReactGet“ sniffer versijos. Tačiau abi versijos išsiuntė pavogtus duomenis į tą pačią svetainę, į kurią buvo įsilaužta. zoobashop.com.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Išanalizavus priešdėlių, kuriuos naudojo uostytojas, kad surastų laukelius, kuriuose yra aukos mokėjimo informacija, nustatyta, kad šis uostytojas buvo skirtas šioms mokėjimo sistemoms:

  • Authorize.Net
  • "Verisign
  • "First Data"
  • USAePay
  • Juostelių
  • PayPal
  • ANZ eGate
  • Braintree
  • Data Cash (MasterCard)
  • Realex mokėjimai
  • PsiGate
  • Heartland mokėjimo sistemos

Kokie įrankiai naudojami norint pavogti mokėjimo informaciją

Pirmasis įrankis, aptiktas analizuojant užpuolikų infrastruktūrą, yra skirtas užmaskuoti kenkėjiškus scenarijus, atsakingus už banko kortelių vagystes. Viename iš užpuolikų prieglobos buvo rastas „bash“ scenarijus, naudojant projekto CLI. javascript-obfuscator automatizuoti uostymo kodo užmaskavimą.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Antrasis atrastas įrankis skirtas generuoti kodą, atsakingą už pagrindinio sniferio įkėlimą. Šis įrankis generuoja JavaScript kodą, kuris patikrina, ar vartotojas yra atsiskaitymo puslapyje, ieškodamas eilučių dabartiniame vartotojo adresu išsiregistravimo laikas, į krepšelį ir t.t., o jei rezultatas teigiamas, tai kodas įkelia pagrindinį snifferį iš įsibrovėlio serverio. Norint paslėpti kenkėjišką veiklą, visos eilutės, įskaitant bandomąsias eilutes, skirtas mokėjimo puslapiui nustatyti, taip pat nuoroda į snifferį, yra užkoduotos naudojant base64.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse

Sukčiavimo atakos

Analizuojant užpuolikų tinklo infrastruktūrą, buvo nustatyta, kad nusikalstama grupuotė dažnai naudoja sukčiavimą, kad gautų prieigą prie tikslinės internetinės parduotuvės administracinio skydelio. Užpuolikai užregistruoja domeną, kuris atrodo kaip parduotuvės domenas, ir tada jame įdiegia netikrą Magento administratoriaus prisijungimo formą. Jei pasiseks, užpuolikai gaus prieigą prie Magento CMS administratoriaus skydelio, kuris suteikia jiems galimybę redaguoti svetainės komponentus ir įdiegti snifferį, kad pavogtų kredito kortelės duomenis.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Infrastruktūra

Домен Atradimo / pasirodymo data
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
tagtracking.com 25.06.2018
adsapigate.com 12.07.2018
trusttracker.com 15.07.2018
fbstatspartner.com 02.10.2018
billgetstatus.com 12.10.2018
www.aldenmlilhouse.com 20.10.2018
baletbeautlful.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 šeima

Ši uostytojų šeima naudojama klientų kortelėms iš internetinių parduotuvių pavogti. Pats pirmasis grupės naudojamas domeno vardas buvo užregistruotas 2016 metų balandį, o tai gali rodyti grupės veiklos pradžią 2016 metų viduryje.

Dabartinėje kampanijoje grupė naudoja domenų pavadinimus, kurie imituoja realaus gyvenimo paslaugas, pvz., „Google Analytics“ ir „jQuery“, užmaskuodami uostymo veiklą teisėtais scenarijais ir teisėtai atrodančiais domenų pavadinimais. Buvo užpultos svetainės, kuriose veikia CMS Magento.

Kaip G-Analytics įdiegtas internetinės parduotuvės kode

Išskirtinis šios šeimos bruožas yra įvairių būdų, kaip pavogti vartotojo mokėjimo informaciją, naudojimas. Be klasikinio JavaScript įvedimo į svetainės kliento pusę, nusikalstama grupė taip pat naudojo kodo įvedimo į svetainės serverio pusę techniką, ty PHP scenarijus, kurie apdoroja vartotojo įvestį. Ši technika pavojinga tuo, kad trečiųjų šalių tyrėjams sunku aptikti kenkėjišką kodą. Grupės IB specialistai aptiko snifferio versiją, įterptą į svetainės PHP kodą, naudodami domeną kaip vartus. dittm.org.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Taip pat buvo aptikta ankstyva uostiklio versija, kuri naudoja tą patį domeną pavogtiems duomenims rinkti. dittm.org, tačiau ši versija jau skirta diegti internetinės parduotuvės kliento pusėje.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Vėliau grupuotė pakeitė taktiką ir pradėjo daugiau dėmesio skirti piktavališkos veiklos slėpimui bei maskavimuisi.

2017 m. pradžioje grupė pradėjo naudoti domeną jquery-js.commaskuojamas kaip CDN, skirtas jQuery: nukreipia vartotoją į teisėtą svetainę, kai jis patenka į kenkėjišką svetainę jquery.com.

2018 m. viduryje grupė priėmė domeno pavadinimą g-analytics.com ir ėmė maskuoti uostytojo veiklą kaip teisėtą Google Analytics paslaugą.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse

Versijos analizė

Analizuojant domenus, naudojamus saugoti šnipinėjimo kodą, buvo nustatyta, kad svetainėje yra daug versijų, kurios skiriasi tuo, kad yra užtemdymas, taip pat ar yra nepasiekiamas kodas, įtrauktas į failą, siekiant atitraukti dėmesį. ir paslėpti kenkėjišką kodą.

Iš viso svetainėje jquery-js.com buvo nustatytos šešios uostytojų versijos. Šie uostytojai siunčia pavogtus duomenis adresu, esančiu toje pačioje svetainėje kaip ir pats uostytojas: 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

Vėliau domenas g-analytics.com2018 m. vidurio grupė naudojo atakose ir yra daugiau uostytojų saugykla. Iš viso buvo aptikta 16 skirtingų uostiklio versijų. Šiuo atveju pavogtų duomenų siuntimo vartai buvo užmaskuoti kaip nuoroda į tokio formato vaizdą Pagal 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

Pajamų gavimas iš pavogtų duomenų

Nusikalstama grupuotė iš pavogtų duomenų užsidirba pinigų, parduodama korteles per specialiai sukurtą požeminę parduotuvę, kuri teikia paslaugas karšiams. Tą nustatyti leido atlikti užpuolikų naudojamų domenų analizė google-analytics.cm buvo užregistruotas to paties naudotojo kaip ir domeną cardz.vc. Domenas cardz.vc nurodo Cardsurfs (Flysurfs), vogtomis banko kortelėmis prekiaujančią parduotuvę, kuri išpopuliarėjo AlphaBay požeminėje prekyvietėje kaip parduotuvė, prekiaujanti banko kortelėmis, pavogtomis naudojant uostiklį.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Domeno analizė analitinis.is, esančiame tame pačiame serveryje, kaip ir domenai, kuriuos uostytojai naudoja vogtiems duomenims rinkti, Group-IB specialistai rado failą, kuriame buvo Cookie stealer žurnalai, kurių, panašu, vėliau kūrėjas atsisakė. Viename iš žurnalo įrašų buvo domenas iozoz.com, kuris anksčiau buvo naudojamas viename iš uostytojų, veikiančių 2016 m. Tikėtina, kad šį domeną užpuolikas anksčiau naudojo, kad surinktų korteles, pavogtas naudojant uostiklį. Šis domenas buvo užregistruotas el. pašto adresu [apsaugotas el. paštu], kuris taip pat buvo naudojamas domenams registruoti cardz.su и cardz.vcsusijusi su Cardsurfs karšimo parduotuve.

Remiantis gautais duomenimis, galima daryti prielaidą, kad „G-Analytics“ sniferių šeimai ir pogrindinei „Cardsurfs“ banko kortelių parduotuvei vadovauja tie patys asmenys, o parduotuvėje parduodamos naudojant sniferį pavogtos banko kortelės.

Infrastruktūra

Домен Atradimo / pasirodymo data
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
analitinis.to 04.12.2018
google-analytics.to 06.12.2018
google-analytics.cm 28.12.2018
analitinis.is 28.12.2018
googlelc-analytics.cm 17.01.2019

Illumų šeima

Illum yra uostytojų šeima, naudojama atakuoti internetines parduotuves, kuriose veikia Magento CMS. Be kenkėjiško kodo įvedimo, šio snifferio operatoriai taip pat naudoja pilnavertes netikras mokėjimo formas, kurios siunčia duomenis į užpuolikų valdomus vartus.

Analizuojant tinklo infrastruktūrą, kurią naudoja šio snifferio operatoriai, buvo pastebėta daug kenkėjiškų scenarijų, išnaudojimų, suklastotų mokėjimo formų, taip pat pavyzdžių su kenkėjiškais snifferiais konkurentais. Remiantis informacija apie grupės naudojamų domenų vardų atsiradimo datas, galima daryti prielaidą, kad akcijos pradžia patenka į 2016 metų pabaigą.

Kaip Illum įdiegtas internetinės parduotuvės kode

Pirmosios aptiktos snifferio versijos buvo įterptos tiesiai į pažeistos svetainės kodą. Pavogti duomenys buvo išsiųsti cdn.illum[.]pw/records.php, vartai buvo užkoduoti naudojant base64.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Vėliau, naudojant kitus vartus, buvo rasta supakuota uostiklio versija - records.nstatistics[.]com/records.php.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Pagal ataskaita Willemas de Grootas, tas pats šeimininkas buvo naudojamas uostyklėje, kuri buvo įdiegta parduotuvės svetainė, priklausantis Vokietijos politinei partijai CSU.

Atakos svetainės analizė

Grupės IB specialistai aptiko ir išanalizavo svetainę, kurią ši nusikalstama grupė naudojo įrankiams saugoti ir vogtai informacijai rinkti.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Tarp užpuoliko serveryje rastų įrankių buvo rasti scenarijai ir išnaudojimai, skirti privilegijų eskalavimui Linux OS: pavyzdžiui, Linux Privilege Escalation Check Script, kurį sukūrė Mike'as Czumak, taip pat CVE-2009-1185 išnaudojimas.

Užpuolikai, norėdami atakuoti internetines parduotuves, panaudojo du išnaudojimus: первый galintis įterpti kenkėjišką kodą core_config_data naudojant CVE-2016-4010, antra išnaudoja Magento CMS įskiepių RCE pažeidžiamumą, leidžiantį pažeidžiamame žiniatinklio serveryje vykdyti savavališką kodą.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Taip pat, atliekant serverio analizę, buvo rasta įvairių uostytojų ir netikrų mokėjimo formų pavyzdžių, kuriuos užpuolikai naudojo rinkdami mokėjimo informaciją iš įsilaužtų svetainių. Kaip matote iš toliau pateikto sąrašo, kai kurie scenarijai buvo sukurti atskirai kiekvienai svetainei, į kurią buvo įsilaužta, o universalus sprendimas buvo naudojamas tam tikriems TVS ir mokėjimo šliuzams. Pavyzdžiui, scenarijai segapay_standard.js и segapay_onpage.js sukurtas įterpti į svetaines, kuriose naudojamas „Sage Pay“ mokėjimo šliuzas.

Įvairių mokėjimo šliuzų scenarijų sąrašas

Scenarijus Mokėjimo vartai
sr.illum[.]pw/mjs_special/visiondirect.co.uk.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/topdirenshop.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_standard.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_standard.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=

Šeimininkas mokėjimas dabar[.]tk, naudojamas kaip vartai scenarijuje payment_forminsite.js, buvo atrastas kaip SubjectAltName keliuose su „CloudFlare“ paslauga susijusiuose sertifikatuose. Be to, scenarijus buvo pagrindiniame kompiuteryje blogis.js. Sprendžiant iš scenarijaus pavadinimo, jis galėjo būti naudojamas kaip CVE-2016-4010 išnaudojimo dalis, kurios dėka galima įterpti kenkėjišką kodą į svetainės, kurioje veikia Magento TVS, poraštę. Šis scenarijus naudojo šeimininką kaip vartus request.requestnet[.]tk, naudojant tą patį sertifikatą kaip ir priegloba mokėjimas dabar[.]tk.

Suklastotos mokėjimo formos

Žemiau esančiame paveikslėlyje parodytas kortelės duomenų įvedimo formos pavyzdys. Ši forma buvo naudojama norint įsiskverbti į internetinės parduotuvės svetainę ir pavogti kortelių duomenis.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Toliau pateiktame paveikslėlyje pateiktas netikros „PayPal“ mokėjimo formos, kurią užpuolikai naudojo norėdami įsiskverbti į svetaines naudodami šį mokėjimo metodą, pavyzdys.
Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Infrastruktūra

Домен Atradimo / pasirodymo data
cdn.illum.pw 27/11/2016
records.nstatistics.com 06/09/2018
request.payrightnow.cf 25/05/2018
mokėjimas dabar.tk 16/07/2017
mokėjimo linija.tk 01/03/2018
paypal.cf 04/09/2017
requestnet.tk 28/06/2017

CoffeeMokko šeima

„CoffeMokko“ uostelių šeima, skirta pavogti internetinių parduotuvių vartotojų banko korteles, buvo naudojama mažiausiai nuo 2017 m. gegužės mėn. Spėjama, kad 1 metais RiskIQ ekspertų aprašyta 2016 grupės nusikalstama grupuotė yra šios uostytojų šeimos operatorius. Buvo užpultos svetainės, kuriose veikia tokios TVS kaip Magento, OpenCart, WordPress, osCommerce, Shopify.

Kaip CoffeMokko įterpiamas į internetinės parduotuvės kodą

Šios šeimos operatoriai kiekvienai infekcijai sukuria unikalius uostiklius: sniffer failas yra kataloge src arba js užpuoliko serveryje. Diegimas į svetainės kodą atliekamas naudojant tiesioginę nuorodą į uostytoją.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Sniffer kodas griežtai koduoja formos laukų, iš kurių norite pavogti duomenis, pavadinimus. Sniffer taip pat patikrina, ar vartotojas yra atsiskaitymo puslapyje, patikrindamas raktinių žodžių sąrašą pagal dabartinį vartotojo adresą.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Kai kurios aptiktos uostyklės versijos buvo užtemdytos ir joje buvo užšifruota eilutė, kurioje buvo saugomas pagrindinis išteklių masyvas: joje buvo įvairių mokėjimo sistemų formų laukų pavadinimai, taip pat vartų, į kuriuos turi būti siunčiami pavogti duomenys, adresas.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Pavogta mokėjimo informacija buvo išsiųsta į scenarijų, esantį užpuoliko serveryje. /savePayment/index.php arba /tr/index.php. Tikėtina, kad šis scenarijus naudojamas duomenims iš vartų siųsti į pagrindinį serverį, kuris sujungia visų uostytojų duomenis. Norint paslėpti perduodamus duomenis, visa nukentėjusiojo mokėjimo informacija yra užkoduota naudojant base64, tada įvyksta keli simbolių keitimai:

  • simbolis "e" pakeičiamas ":"
  • simbolis "w" pakeičiamas "+"
  • simbolis "o" pakeičiamas "%"
  • simbolis "d" pakeičiamas "#"
  • simbolis "a" pakeičiamas "-"
  • simbolis "7" pakeičiamas "^"
  • simbolis "h" pakeičiamas "_"
  • simbolis "T" pakeičiamas "@"
  • simbolis "0" pakeičiamas "/"
  • simbolis "Y" pakeičiamas "*"

Dėl simbolių pakeitimų, užkoduotų su base64 duomenų negalima iššifruoti be atvirkštinės transformacijos.

Štai kaip atrodo neužtemdytas uostymo kodo fragmentas:

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse

Infrastruktūros analizė

Ankstyvosiose kampanijose užpuolikai registravo domenų vardus, panašius į teisėtų internetinių apsipirkimo svetainių domenus. Jų domenas gali skirtis nuo teisėto vienu simboliu ar kitu ALD. Sniffer kodui saugoti buvo naudojami registruoti domenai, kurių nuoroda buvo įdėta parduotuvės kode.

Ši grupė taip pat naudojo domenų pavadinimus, primenančius populiarius jQuery įskiepius (slickjs[.]org svetainėms, kuriose naudojamas papildinys slick.js), mokėjimo šliuzai (sagecdn[.]org svetainėms, kuriose naudojama „Sage Pay“ mokėjimo sistema).

Vėliau grupė pradėjo kurti domenus, kurių pavadinimas neturėjo nieko bendra nei su parduotuvės domenu, nei su parduotuvės tema.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Kiekvienas domenas atitiko svetainę, kurioje buvo sukurtas katalogas /js arba / src. Šiame kataloge buvo saugomi uostymo scenarijai: po vieną uostymą kiekvienai naujai infekcijai. Sniferis buvo įvestas į svetainės kodą per tiesioginę nuorodą, tačiau retais atvejais užpuolikai pakeisdavo vieną iš svetainės failų ir pridėdavo prie jo kenksmingo kodo.

Kodo analizė

Pirmasis užmaskavimo algoritmas

Kai kuriuose šios šeimos šnipinėjimo pavyzdžiuose kodas buvo užmaskuotas ir jame buvo užšifruoti duomenys, būtini, kad uostytojas veiktų: visų pirma uostytojo vartų adresas, mokėjimo formos laukų sąrašas ir kai kuriais atvejais netikras mokėjimo formos kodas. Funkcijos viduje esančiame kode ištekliai buvo užšifruoti XOR raktu, kuris buvo perduotas kaip argumentas tai pačiai funkcijai.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Iššifravę eilutę atitinkamu raktu, unikaliu kiekvienam pavyzdžiui, galite gauti eilutę, kurioje yra visos sniffer kodo eilutės, atskirtos skiriamuoju simboliu.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse

Antrasis užmaskavimo algoritmas

Vėlesniuose šios uostytojų šeimos pavyzdžiuose buvo naudojamas kitoks užmaskavimo mechanizmas: šiuo atveju duomenys buvo šifruojami naudojant pačių parašytą algoritmą. Eilutė, kurioje yra šifruotų duomenų, reikalingų, kad snifferis veiktų, buvo perduota kaip argumentas iššifravimo funkcijai.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Naudodami naršyklės konsolę galite iššifruoti užšifruotus duomenis ir gauti masyvą, kuriame yra šnipinėjimo ištekliai.

Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse

Nuoroda į ankstyvąsias MageCart atakas

Išanalizavus vieną iš domenų, kuriuos grupė naudojo kaip vartus pavogtiems duomenims rinkti, buvo nustatyta, kad šiame domene buvo įdiegta kredito kortelių vagystės infrastruktūra, identiška tai, kurią naudoja 1 grupė, viena pirmųjų grupių, atrado RiskIQ specialistai.

CoffeMokko uostytojų šeimos šeimininke buvo rasti du failai:

  • mage.js — failas, kuriame yra 1 grupės šnipinėjimo kodas su vartų adresu js-cdn.link
  • mag.php - PHP scenarijus, atsakingas už uostytojo pavogtų duomenų rinkimą

Mage.js failo turinys Keturi „JavaScript“ uostikliai, kurie laukia jūsų internetinėse parduotuvėse
Taip pat nustatyta, kad anksčiausi CoffeMokko sniffer šeimos grupės naudojami domenai buvo užregistruoti 17 m. gegužės 2017 d.:

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

Šių domenų vardų formatas yra toks pat kaip 1 grupės domenų vardų, kurie buvo naudojami 2016 m. atakose.

Remiantis išaiškintais faktais, galima daryti prielaidą, kad tarp CoffeMokko uostymo operatorių ir 1-osios nusikalstamos grupuotės yra ryšys. Manoma, kad „CoffeMokko“ operatoriai galėjo pasiskolinti įrankius ir programinę įrangą, kad pavogtų korteles iš savo pirmtakų. Tačiau labiau tikėtina, kad CoffeMokko šeimyninius uostiklius panaudojusi nusikalstama grupuotė yra tie patys asmenys, kurie išpuolius įvykdė vykdydami 1 grupės veiklą. Paskelbus pirmąjį pranešimą apie nusikalstamos grupuotės veiklą, visi domenų vardai buvo užblokuoti, o įrankiai buvo išsamiai išnagrinėti ir aprašyti. Grupė buvo priversta padaryti pertrauką, sureguliuoti vidinius įrankius ir perrašyti uostymo kodą, kad galėtų tęsti atakas ir likti nepastebėta.

Infrastruktūra

Домен Atradimo / pasirodymo data
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
saugumas-mokėjimas.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
childrensplayclothing.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
changemyremote.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.com 12.01.2018
otocap.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
verywellfitness.com 15.09.2018
elegrina.com 18.11.2018
Majsurplus.com 19.11.2018
top5value.com 19.11.2018

Šaltinis: www.habr.com

Добавить комментарий