Gotovo svi koristimo usluge internetskih trgovina, što znači da prije ili kasnije riskiramo da postanemo žrtva JavaScript sniffera - posebnog koda koji napadači implementiraju na web stranicu kako bi ukrali podatke o bankovnim karticama, adrese, prijave i lozinke korisnika .
Njuškalima je već pogođeno gotovo 400 korisnika web stranice i mobilne aplikacije British Airwaysa, kao i posjetitelji britanske stranice sportskog diva FILA i američkog distributera karata Ticketmaster. PayPal, Chase Paymenttech, USAePay, Moneris - ovi i mnogi drugi sustavi plaćanja bili su zaraženi.
Analitičar Threat Intelligence Group-IB Viktor Okorokov govori o tome kako se njuškali infiltriraju u kôd web stranice i kradu podatke o plaćanju, kao i koje CRM-ove napadaju.
"Skrivena prijetnja"
Tako se dogodilo da su dugo vremena JS snifferi ostali izvan vidokruga antivirusnih analitičara, a banke i platni sustavi nisu ih vidjeli kao ozbiljnu prijetnju. I potpuno uzalud. Group-IB stručnjaci
Zadržimo se detaljno na četiri obitelji njuškala proučavanih tijekom studije.
ReactGet Family
Njuškali iz obitelji ReactGet koriste se za krađu podataka o bankovnim karticama na stranicama za online kupnju. Njuškalo može raditi s velikim brojem različitih sustava plaćanja koji se koriste na stranici: jedna vrijednost parametra odgovara jednom sustavu plaćanja, a pojedinačne otkrivene verzije sniffera mogu se koristiti za krađu vjerodajnica, kao i za krađu podataka o bankovnim karticama iz plaćanja oblici nekoliko sustava plaćanja odjednom, poput tzv. univerzalnog njuškala. Utvrđeno je da u nekim slučajevima napadači provode phishing napade na administratore internetske trgovine kako bi dobili pristup administrativnoj ploči stranice.
Kampanja koja koristi ovu obitelj njuškala započela je u svibnju 2017.; napadnute su stranice koje pokreću CMS i platforme Magento, Bigcommerce i Shopify.
Kako je ReactGet implementiran u kod online trgovine
Osim “klasične” implementacije skripte putem linka, operateri ReactGet obitelji njuškala koriste posebnu tehniku: pomoću JavaScript koda provjeravaju zadovoljava li trenutna adresa na kojoj se korisnik nalazi određene kriterije. Zlonamjerni kod će se izvršiti samo ako je podniz prisutan u trenutnom URL-u provjera ili naplata u jednom koraku, jedna stranica/, van/onepag, odjava/jedan, ckout/jedan. Dakle, sniffer kod će se izvršiti točno u trenutku kada korisnik nastavi s plaćanjem kupnje i unese podatke o plaćanju u obrazac na web mjestu.
Ovo njuškalo koristi nestandardnu tehniku. Plaćanje žrtve i osobni podaci prikupljaju se zajedno i kodiraju pomoću base64, a zatim se dobiveni niz koristi kao parametar za slanje zahtjeva web stranici napadača. Najčešće, put do vrata oponaša JavaScript datoteku, na primjer odn.js, data.js i tako dalje, ali se također koriste poveznice na slikovne datoteke, GIF и JPG. Posebnost je u tome što njuškalo stvara slikovni objekt dimenzija 1 x 1 piksel i koristi prethodno primljenu vezu kao parametar src Slike. Odnosno, za korisnika će takav zahtjev u prometu izgledati kao zahtjev za običnu sliku. Slična tehnika korištena je u ImageID obitelji njuškala. Dodatno, tehnika korištenja slike 1 x 1 piksel koristi se u mnogim legitimnim online analitičkim skriptama, što također može dovesti korisnika u zabludu.
Analiza verzija
Analiza aktivnih domena koje koriste ReactGet operatori sniffera otkrila je mnoge različite verzije ove obitelji sniffera. Verzije se razlikuju po prisutnosti ili odsutnosti zamagljivanja, a osim toga, svaki je sniffer dizajniran za određeni sustav plaćanja koji obrađuje plaćanja bankovnim karticama za internetske trgovine. Razvrstavši vrijednost parametra koji odgovara broju verzije, stručnjaci Group-IB-a dobili su potpuni popis dostupnih varijacija sniffera, a prema nazivima polja obrasca koje svaki sniffer traži u kodu stranice identificirali su sustave plaćanja na koje je njuškalo usmjereno.
Popis njuškala i njihovih odgovarajućih sustava plaćanja
URL njuškala | Sustav plaćanja |
---|---|
|
Authorize.Net |
Spremi karticu | |
|
Authorize.Net |
Authorize.Net | |
|
eWAY Rapid |
Authorize.Net | |
Adyen | |
|
USAePay |
Authorize.Net | |
USAePay | |
|
Authorize.Net |
Moneris | |
USAePay | |
PayPal | |
Sage Pay | |
Verisign | |
PayPal | |
Pruga | |
|
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 | |
Cyber izvor | |
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 | |
Cyber izvor | |
|
Authorize.Net |
|
Sage Pay |
Realex | |
|
Cyber izvor |
PayPal | |
PayPal | |
|
PayPal |
|
Verisign |
|
eWAY Rapid |
|
Sage Pay |
Sage Pay | |
|
Verisign |
Authorize.Net | |
Authorize.Net | |
|
First Data Global Gateway |
Authorize.Net | |
Authorize.Net | |
Moneris | |
|
Authorize.Net |
|
PayPal |
|
Verisign |
|
USAePay |
USAePay | |
Authorize.Net | |
Verisign | |
PayPal | |
|
Authorize.Net |
Pruga | |
|
Authorize.Net |
eWAY Rapid | |
|
Sage Pay |
Authorize.Net | |
|
Braintree |
|
Braintree |
|
PayPal |
|
Sage Pay |
|
Sage Pay |
|
Authorize.Net |
|
PayPal |
|
Authorize.Net |
Verisign | |
|
PayPal |
|
Authorize.Net |
|
Pruga |
|
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 |
|
Pruga |
|
First Data Global Gateway |
|
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 |
Cyber izvor | |
PayPal Payflow Pro | |
|
Authorize.Net |
|
Authorize.Net |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
Sage Pay | |
Authorize.Net | |
|
Pruga |
|
Authorize.Net |
Authorize.Net | |
Verisign | |
|
PayPal |
Authorize.Net | |
|
Authorize.Net |
Sage Pay | |
|
Authorize.Net |
|
Authorize.Net |
|
PayPal |
|
Kremen |
|
PayPal |
Sage Pay | |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
|
Pruga |
|
Debela zebra |
Sage Pay | |
|
Authorize.Net |
First Data Global Gateway | |
|
Authorize.Net |
|
eWAY Rapid |
Adyen | |
|
PayPal |
Trgovinske usluge QuickBooks | |
Verisign | |
|
Sage Pay |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
Sage Pay | |
|
Authorize.Net |
|
eWAY Rapid |
Authorize.Net | |
|
ANZ eGate |
|
PayPal |
Cyber izvor | |
|
Authorize.Net |
Sage Pay | |
|
Realex |
Cyber izvor | |
|
PayPal |
|
PayPal |
|
PayPal |
|
Verisign |
eWAY Rapid | |
|
Sage Pay |
|
Sage Pay |
|
Verisign |
Authorize.Net | |
|
Authorize.Net |
|
First Data Global Gateway |
Authorize.Net | |
Authorize.Net | |
|
Moneris |
|
Authorize.Net |
|
PayPal |
Njuškalo zaporke
Jedna od prednosti JavaScript sniffera koji rade na klijentskoj strani web stranice je njihova svestranost: zlonamjerni kod ugrađen na web stranicu može ukrasti bilo koju vrstu podataka, bilo da se radi o podacima o plaćanju ili prijavi i lozinci korisničkog računa. Stručnjaci Group-IB otkrili su uzorak njuškala iz obitelji ReactGet, dizajniranog za krađu adresa e-pošte i lozinki korisnika web mjesta.
Raskrižje s ImageID snifferom
Tijekom analize jedne od zaraženih trgovina otkriveno je da je njezino mjesto zaraženo dva puta: osim zlonamjernog koda sniffera obitelji ReactGet, detektiran je i kod sniffera obitelji ImageID. Ovo preklapanje moglo bi biti dokaz da operateri koji stoje iza oba njuškala koriste slične tehnike za ubacivanje zlonamjernog koda.
Univerzalno njuškalo
Analiza jednog od naziva domena povezanih s infrastrukturom sniffera ReactGet otkrila je da je isti korisnik registrirao još tri naziva domena. Ove tri domene oponašale su domene stvarnih web stranica i prethodno su se koristile za hostiranje njuškala. Prilikom analize koda triju legitimnih stranica detektiran je nepoznati sniffer, a daljnja analiza je pokazala da se radi o poboljšanoj verziji ReactGet sniffera. Sve do sada praćene verzije ove obitelji sniffera bile su usmjerene na jedan sustav plaćanja, odnosno svaki je sustav plaćanja zahtijevao posebnu verziju sniffera. Međutim, u ovom slučaju otkrivena je univerzalna verzija njuškala koja je sposobna ukrasti podatke iz obrazaca koji se odnose na 15 različitih sustava plaćanja i modula e-commerce stranica za online plaćanje.
Dakle, na početku rada, njuškalo je tražilo osnovna polja obrasca koja sadrže osobne podatke žrtve: puno ime, fizičku adresu, broj telefona.
Njuškalo je zatim pretražilo više od 15 različitih prefiksa koji odgovaraju različitim sustavima plaćanja i modulima plaćanja na mreži.
Zatim su žrtvini osobni podaci i informacije o plaćanju zajedno prikupljeni i poslani na stranicu koju kontrolira napadač: u ovom konkretnom slučaju otkrivene su dvije verzije univerzalnog ReactGet sniffera, smještene na dvije različite hakirane stranice. Međutim, obje su verzije slale ukradene podatke na istu hakiranu stranicu zoobashop.com.
Analiza prefiksa koje je njuškalo koristilo za traženje polja koja sadrže podatke o plaćanju žrtve omogućila nam je da utvrdimo da je ovaj uzorak njuškala bio usmjeren na sljedeće sustave plaćanja:
- Authorize.Net
- Verisign
- Prvi podaci
- USAePay
- Pruga
- PayPal
- ANZ eGate
- Braintree
- DataCash (MasterCard)
- Realex plaćanja
- PsiGate
- Heartland sustavi plaćanja
Koji se alati koriste za krađu podataka o plaćanju?
Prvi alat, otkriven tijekom analize infrastrukture napadača, koristi se za maskiranje zlonamjernih skripti odgovornih za krađu bankovnih kartica. Bash skripta koja koristi CLI projekta otkrivena je na jednom od napadačevih hostova
Drugi otkriveni alat dizajniran je za generiranje koda odgovornog za učitavanje glavnog njuškala. Ovaj alat generira JavaScript kod koji provjerava je li korisnik na stranici za plaćanje pretražujući nizove na korisnikovoj trenutnoj adresi provjera, kolica i tako dalje, a ako je rezultat pozitivan, tada kod učitava glavni sniffer s poslužitelja napadača. Kako bi se sakrila zlonamjerna aktivnost, sve linije, uključujući probne linije za određivanje stranice za plaćanje, kao i poveznica na njuškalo, kodirane su pomoću base64.
Phishing napadi
Analizom mrežne infrastrukture napadača utvrđeno je da kriminalna skupina često koristi phishing kako bi došla do administrativne ploče ciljne internetske trgovine. Napadači registriraju domenu koja je vizualno slična domeni trgovine, a zatim na nju postavljaju lažni obrazac za prijavu na Magento administrativni panel. Ako uspiju, napadači će dobiti pristup administrativnoj ploči Magento CMS-a, što im daje mogućnost uređivanja komponenti web stranice i implementacije njuškala za krađu podataka kreditnih kartica.
Infrastruktura
Naziv domene | Datum otkrića/pojavljivanja |
---|---|
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 |
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 |
Obitelj G-Analytics
Ova obitelj njuškala koristi se za krađu korisničkih kartica iz internetskih trgovina. Prvo ime domene koje je koristila grupa registrirano je u travnju 2016. godine, što može značiti da je grupa započela s radom sredinom 2016. godine.
U trenutnoj kampanji grupa koristi nazive domena koji oponašaju usluge iz stvarnog života, kao što su Google Analytics i jQuery, prikrivajući aktivnost njuškala legitimnim skriptama i imenima domena sličnim legitimnim. Napadnute su stranice koje pokreću Magento CMS.
Kako se G-Analytics implementira u kod online trgovine
Posebnost ove obitelji je korištenje različitih metoda za krađu podataka o plaćanju korisnika. Osim klasičnog ubacivanja JavaScript koda u klijentsku stranu stranice, kriminalna skupina koristila je i tehnike ubacivanja koda u serversku stranu stranice, odnosno PHP skripte koje obrađuju podatke koje unese korisnik. Ova tehnika je opasna jer istraživačima trećih strana otežava otkrivanje zlonamjernog koda. Stručnjaci Group-IB-a otkrili su verziju sniffera ugrađenog u PHP kod stranice, koristeći domenu kao vrata dittm.org.
Također je otkrivena rana verzija sniffera koja koristi istu domenu za prikupljanje ukradenih podataka dittm.org, ali ova je verzija namijenjena za instalaciju na strani klijenta online trgovine.
Grupa je kasnije promijenila svoju taktiku i počela se više fokusirati na skrivanje zlonamjernih aktivnosti i kamuflažu.
Početkom 2017. grupa je počela koristiti domenu jquery-js.com, maskiran kao CDN za jQuery: kada ode na stranicu napadača, korisnik se preusmjerava na legitimnu stranicu jquery.com.
A sredinom 2018. grupa je usvojila naziv domene g-analytics.com i počeo maskirati aktivnosti njuškala kao legitimnu uslugu Google Analytics.
Analiza verzija
Tijekom analize domena koje se koriste za pohranjivanje sniffer koda, otkriveno je da stranica sadrži veliki broj verzija koje se razlikuju po prisutnosti zamagljivanja, kao i po prisutnosti ili odsutnosti nedostupnog koda dodanog datoteci kako bi se odvratila pozornost i sakriti zlonamjerni kod.
Ukupno na web mjestu jquery-js.com Identificirano je šest verzija njuškala. Ovi njuškali šalju ukradene podatke na adresu koja se nalazi na istoj web stranici kao i njuškalo: 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
Kasnije domena g-analytics.com, koju grupa koristi u napadima od sredine 2018., služi kao spremište za više njuškala. Ukupno je otkriveno 16 različitih verzija njuškala. U ovom slučaju, vrata za slanje ukradenih podataka bila su prerušena u poveznicu na format slike 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
Monetizacija ukradenih podataka
Zločinačka skupina monetizira ukradene podatke prodajom kartica putem posebno stvorene podzemne trgovine koja pruža usluge kartičarima. Analiza domena koje su koristili napadači omogućila nam je to utvrditi google-analytics.cm registrirao je isti korisnik kao i domenu cardz.vc. Domena cardz.vc odnosi se na trgovinu za prodaju ukradenih bankovnih kartica Cardsurfs (Flysurfs), koja je stekla popularnost još u danima djelovanja podzemne trgovačke platforme AlphaBay kao trgovina za prodaju bankovnih kartica ukradenih pomoću sniffera.
Analizirajući domenu analitički.jest, koji se nalazi na istom poslužitelju kao i domene koje koriste njuškali za prikupljanje ukradenih podataka, stručnjaci Group-IB-a otkrili su datoteku koja je sadržavala zapisnike kradljivaca kolačića, za koju se čini da je programer kasnije napustio. Jedan od unosa u dnevniku sadržavao je domenu iozoz.com, koji je prethodno korišten u jednom od njuškala aktivnih 2016. godine. Pretpostavlja se da je ovu domenu ranije koristio napadač za prikupljanje kartica ukradenih pomoću njuškala. Ova je domena registrirana na adresu e-pošte [e-pošta zaštićena], koja je također služila za registraciju domena cardz.su и cardz.vc, vezano uz carding trgovinu Cardsurfs.
Na temelju dobivenih podataka može se pretpostaviti da G-Analytics obitelji sniffera i podzemnom trgovinom bankovnih kartica Cardsurfs upravljaju isti ljudi, a trgovina se koristi za prodaju bankovnih kartica ukradenih pomoću sniffera.
Infrastruktura
Naziv domene | Datum otkrića/pojavljivanja |
---|---|
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 |
analitički.to | 04.12.2018 |
google-analytics.to | 06.12.2018 |
google-analytics.cm | 28.12.2018 |
analitički.jest | 28.12.2018 |
googlc-analytics.cm | 17.01.2019 |
Obitelj Illum
Illum je obitelj njuškala koja se koristi za napad na internetske trgovine koje pokreću Magento CMS. Osim uvođenja zlonamjernog koda, operateri ovog njuškala također koriste uvođenje potpunih lažnih obrazaca za plaćanje koji šalju podatke na vrata koja kontroliraju napadači.
Prilikom analize mrežne infrastrukture koju koriste operateri ovog sniffera, uočen je velik broj zlonamjernih skripti, exploita, lažnih obrazaca za plaćanje, kao i zbirka primjera s zlonamjernim snifferima od konkurencije. Na temelju informacija o datumima pojavljivanja naziva domena koje grupa koristi, može se pretpostaviti da je kampanja započela krajem 2016. godine.
Kako se Illum implementira u kod online trgovine
Prve otkrivene verzije njuškala bile su ugrađene izravno u kod kompromitirane stranice. Ukradeni podaci poslani su na cdn.illum[.]pw/records.php, vrata su kodirana pomoću base64.
Kasnije je otkrivena pakirana verzija njuškala koja koristi drugačija vrata - records.nstatistics[.]com/records.php.
Prema
Analiza web stranice napadača
Specijalisti Group-IB-a otkrili su i analizirali web stranicu koju ova kriminalna skupina koristi za pohranu alata i prikupljanje ukradenih podataka.
Među alatima pronađenim na poslužitelju napadača bile su skripte i exploit za povećanje privilegija u Linux OS-u: na primjer, Linux Privilege Escalation Check Script koji je razvio Mike Czumak, kao i exploit za CVE-2009-1185.
Napadači su koristili dva exploita za izravni napad na online trgovine:
Također, tijekom analize servera otkriveni su različiti uzorci sniffera i lažnih obrazaca za plaćanje koje napadači koriste za prikupljanje podataka o plaćanju s hakiranih stranica. Kao što možete vidjeti na donjem popisu, neke skripte su izrađene pojedinačno za svaku hakiranu stranicu, dok je univerzalno rješenje korišteno za određene CMS i pristupnike plaćanja. Na primjer, skripte segapay_standart.js и segapay_onpage.js dizajniran za implementaciju na stranicama koje koriste pristupnik za plaćanje Sage Pay.
Popis skripti za različite pristupnike plaćanja
Skripta | Pristupnik plaćanja |
---|---|
|
//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= |
domaćin plaćanje sada[.]tk, koji se koristi kao vrata u scenariju site_forminsite.js, otkriven je kao predmetAltName u nekoliko certifikata vezanih uz uslugu CloudFlare. Osim toga, host je sadržavao skriptu zlo.js. Sudeći prema nazivu skripte, mogla bi se koristiti u sklopu eksploatacije CVE-2016-4010, zahvaljujući kojoj je moguće ubaciti maliciozni kod u podnožje stranice koja pokreće CMS Magento. Domaćin je koristio ovu skriptu kao vrata zahtjev.requestnet[.]tkkoristeći isti certifikat kao host plaćanje sada[.]tk.
Lažni obrasci za plaćanje
Na slici ispod prikazan je primjer obrasca za unos podataka kartice. Ovaj obrazac korišten je za infiltraciju u internetsku trgovinu i krađu podataka o kartici.
Sljedeća slika prikazuje primjer lažnog PayPal obrasca za plaćanje koji su napadači koristili za infiltraciju na stranice s ovom metodom plaćanja.
Infrastruktura
Naziv domene | Datum otkrića/pojavljivanja |
---|---|
cdn.illum.pw | 27/11/2016 |
records.nstatistics.com | 06/09/2018 |
request.payrightnow.cf | 25/05/2018 |
plaćanje sada.tk | 16/07/2017 |
pay-line.tk | 01/03/2018 |
paypal.cf | 04/09/2017 |
requestnet.tk | 28/06/2017 |
Obitelj CoffeeMokko
Obitelj njuškala CoffeMokko, dizajnirana za krađu bankovnih kartica korisnika online trgovine, u upotrebi je najmanje od svibnja 2017. godine. Pretpostavlja se da su operateri ove obitelji njuškala kriminalna skupina Grupa 1, koju su opisali stručnjaci RiskIQ-a 2016. godine. Stranice koje pokreću CMS kao što su Magento, OpenCart, WordPress, osCommerce i Shopify bile su napadnute.
Kako se CoffeMokko implementira u kod online trgovine
Operatori ove obitelji stvaraju jedinstvene sniffere za svaku infekciju: datoteka sniffera nalazi se u direktoriju src ili js na poslužitelju napadača. Uključivanje u kod stranice provodi se putem izravne veze na sniffer.
Kod sniffera tvrdi kod imena polja obrasca iz kojih se podaci trebaju ukrasti. Njuškalo također provjerava je li korisnik na stranici za plaćanje provjerom popisa ključnih riječi s trenutnom adresom korisnika.
Neke otkrivene verzije njuškala bile su zamagljene i sadržavale su šifrirani niz u kojem je bio pohranjen glavni niz resursa: sadržavao je nazive polja obrazaca za različite sustave plaćanja, kao i adresu ulaza na koju bi se trebali poslati ukradeni podaci.
Ukradeni podaci o plaćanju usput su poslani skripti na poslužitelju napadača /savePayment/index.php ili /tr/index.php. Pretpostavlja se da se ova skripta koristi za slanje podataka s vrata na glavni poslužitelj, koji objedinjuje podatke svih njuškala. Kako bi se sakrili preneseni podaci, svi podaci o plaćanju žrtve šifrirani su korištenjem base64, a zatim dolazi do nekoliko zamjena znakova:
- znak "e" zamjenjuje se sa ":"
- simbol "w" zamjenjuje se sa "+"
- znak "o" zamjenjuje se sa "%"
- znak "d" zamjenjuje se sa "#"
- znak "a" zamjenjuje se sa "-"
- simbol "7" zamjenjuje se sa "^"
- znak "h" zamjenjuje se sa "_"
- simbol "T" zamjenjuje se sa "@"
- znak "0" zamjenjuje se sa "/"
- znak "Y" zamjenjuje se sa "*"
Kao rezultat zamjene znakova kodiranih pomoću base64 Podaci se ne mogu dekodirati bez izvođenja obrnute konverzije.
Ovako izgleda fragment sniffer koda koji nije maskiran:
Analiza infrastrukture
U ranim kampanjama napadači su registrirali nazive domena slične onima na legitimnim web-lokacijama za online kupnju. Njihova domena se od legitimne može razlikovati po jednom simbolu ili drugom TLD-u. Registrirane domene korištene su za pohranjivanje sniffer koda, poveznica na koju je bila ugrađena u kod trgovine.
Ova je grupa također koristila imena domena koja podsjećaju na popularne jQuery dodatke (slickjs[.]org za stranice koje koriste dodatak gladak.js), pristupnici plaćanja (sagecdn[.]org za stranice koje koriste sustav plaćanja Sage Pay).
Kasnije je grupa počela stvarati domene čija imena nisu imala nikakve veze s domenom trgovine ili temom trgovine.
Svaka domena odgovarala je stranici na kojoj je kreiran imenik /js ili /src. Skripte za njuškanje pohranjene su u ovom direktoriju: jedno njuškanje za svaku novu infekciju. Njuškalo je bilo ugrađeno u kôd web stranice putem izravne veze, ali u rijetkim slučajevima napadači su modificirali jednu od datoteka web stranice i dodali joj zlonamjerni kod.
Analiza koda
Prvi algoritam maskiranja
U nekim otkrivenim uzorcima sniffera iz ove obitelji kod je bio zamagljen i sadržavao je šifrirane podatke potrebne za rad sniffera: posebno adresu sniffer gatea, popis polja obrasca za plaćanje, au nekim slučajevima i šifru lažnog obrazac za plaćanje. U kodu unutar funkcije resursi su šifrirani pomoću XOR ključem koji je proslijeđen kao argument istoj funkciji.
Dekriptiranjem niza s odgovarajućim ključem, jedinstvenim za svaki uzorak, možete dobiti niz koji sadrži sve nizove iz koda sniffera odvojene znakom za razdvajanje.
Drugi algoritam maskiranja
U kasnijim uzorcima sniffera iz ove obitelji korišten je drugačiji mehanizam zamagljivanja: u ovom slučaju podaci su šifrirani pomoću algoritma koji su sami napisali. Niz koji sadrži šifrirane podatke potrebne za rad njuškala proslijeđen je kao argument funkciji dešifriranja.
Pomoću konzole preglednika možete dešifrirati šifrirane podatke i dobiti niz koji sadrži resurse sniffera.
Veza s ranim MageCart napadima
Tijekom analize jedne od domena koju je grupa koristila kao gateway za prikupljanje ukradenih podataka, otkriveno je da se na ovoj domeni nalazi infrastruktura za krađu kreditnih kartica, identična onoj koju je koristila Grupa 1, jedna od prvih grupa,
Dvije datoteke pronađene su na hostu obitelji njuškala CoffeMokko:
- mage.js — datoteka koja sadrži sniffer kod grupe 1 s adresom vrata js-cdn.link
- mag.php — PHP skripta odgovorna za prikupljanje podataka koje je ukrao njuškalo
Sadržaj datoteke mage.js
Također je utvrđeno da su najranije domene koje je koristila grupa koja stoji iza obitelji njuškala CoffeMokko registrirane 17. svibnja 2017.:
- veza-js[.]veza
- info-js[.]link
- track-js[.]veza
- map-js[.]veza
- smart-js[.]veza
Format ovih naziva domena odgovara nazivima domena Grupe 1 koji su korišteni u napadima 2016.
Na temelju otkrivenih činjenica može se pretpostaviti da postoji povezanost između operatera CoffeMokko njuškala i kriminalne skupine Grupa 1. Pretpostavlja se da su operateri CoffeMokko mogli posuditi alate i softver od svojih prethodnika za krađu kartica. Međutim, vjerojatnije je da su kriminalna skupina koja stoji iza korištenja obitelji njuškala CoffeMokko isti ljudi koji su izvršili napade Grupe 1. Nakon objave prvog izvješća o aktivnostima kriminalne skupine, sva imena njihovih domena su blokiran, a alati su detaljno proučeni i opisani. Grupa je bila prisiljena uzeti stanku, poboljšati svoje interne alate i prepisati kod za sniffer kako bi nastavila s napadima i ostala neotkrivena.
Infrastruktura
Naziv domene | Datum otkrića/pojavljivanja |
---|---|
veza-js.veza | 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 |
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 |
replacemyremote.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 |
parkovi.su | 09.01.2018 |
pmtonline.su | 12.01.2018 |
otocap.org | 15.01.2018 |
christohperward.org | 27.01.2018 |
kava.org | 31.01.2018 |
energycoffe.org | 31.01.2018 |
energetski čaj.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 |
baterijart.com | 03.04.2018 |
btosports.net | 09.04.2018 |
piletina.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 |
Izvor: www.habr.com