Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama

Gotovo svatko od nas koristi usluge online trgovina, što znači da prije ili kasnije riskiramo da postanemo žrtve JavaScript sniffera — posebnog koda koji zlonamjernici ugrađuju na web stranicu za krađu podataka o bankovnim karticama, adresama, korisničkim imenima i lozinkama.

Gotovo 400.000 korisnika web stranice i mobilne aplikacije kompanije British Airways već je pretrpjelo štetu od sniffera, kao i posjetitelji britanske web stranice sportskog giganta FILA i američkog distributera karata Ticketmaster. PayPal, Chase Paymenttech, USAePay, Moneris — ove i mnoge druge platne sustave su zarazili.

Analitičar Threat Intelligence Group-IB Viktor Okorokov objašnjava kako se snifferi integriraju u kod stranice i kradu platne informacije, kao i koje CRM-ove napadaju.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama

„Skrivena prijetnja“

Dugo su vremena JS snifferi ostali izvan fokusiranja analitičara antivirusnog softvera, a banke i platni sustavi nisu ih smatrali ozbiljnom prijetnjom. I to potpuno bez razloga. Stručnjaci Group-IB analizirali 2440 zaraženih online trgovina, čiji posjetitelji — ukupno oko 1,5 milijuna ljudi dnevno — bili su izloženi riziku od kompromitacije. Među žrtvama su ne samo korisnici, već i online trgovine, platni sustavi i banke koje su izdale kompromitirane kartice.

Izvještaj Group-IB je provedeno prvo istraživanje darknet tržišta sniffera, njihove infrastrukture i načina monetizacije, koja donosi milijune dolara njihovim tvorcima. Identificirali smo 38 obitelji sniffera, od kojih je samo 12 prethodno bilo poznato istraživačima.

Detaljno ćemo se osvrnuti na četiri obitelji sniffera koje su proučavane tijekom istraživanja.

Obitelj ReactGet

Snimci obitelji ReactGet koriste se za krađu podataka bankovnih kartica na web stranicama online trgovina. Snimak može raditi s velikim brojem različitih platnih sustava koji se koriste na stranici: jedna vrijednost parametra odgovara jednom platnom sustavu, a posebne otkrivene verzije snimka mogu se koristiti za krađu pristupnih podataka, kao i za krađu podataka bankovnih kartica iz obrazaca za plaćanje odjednom za nekoliko platnih sustava, takozvani univerzalni snimak. Utvrđeno je da u nekim slučajevima napadači provode phishing napade na administratore online trgovina s ciljem dobivanja pristupa administrativnoj ploči stranice.

Kampanja s primjenom ovog obiteljskog snimka započela je u svibnju 2017. godine, a napadnute su web stranice u vlasništvu CMS i platformi Magento, Bigcommerce, Shopify.

Kako se ReactGet integrira u kod online trgovine

Osim 'klasične' integracije skripte putem linka, operatori snimaca obitelji ReactGet koriste posebnu tehniku: pomoću JavaScript koda provjeravaju odgovara li trenutna adresa na kojoj se korisnik nalazi određenim kriterijima. Zloćudni kod će se pokrenuti samo ako se u trenutnoj URL adresi nalazi podizraz checkout ili onestepcheckout, onepage/, out/onepag, checkout/one, ckout/one. Tako se kod snimka izvršava upravo u trenutku kada korisnik pređe na plaćanje i unese informacije o plaćanju u obrazac na stranici.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Ovaj snimak koristi nestandardnu tehniku. Plaćeni i osobni podaci žrtve skupljaju se zajedno, kodiraju pomoću base64, a zatim se dobiveni niz koristi kao parametar za slanje zahtjeva na stranicu zlonamjernika. Najčešće put do vrata oponaša JavaScript datoteku, na primjer resp.js, data.js i tako dalje, ali se također koriste linkovi na datoteke slika, GIF i JPG. Osobitost je da snimak stvara objekt slike veličine 1 na 1 piksel i koristi prethodno dobiveni link kao parametar. src slike. To jest za korisnike takav zahtjev u prometu će se prikazati kao zahtjev za običnom slikom. Slična tehnika korištena je u snifferima obitelji ImageID. Osim toga, tehnika korištenja slike veličine 1 na 1 piksel koristi se u mnogim legitimnim skriptama online analitike, što također može zavarati korisnika.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama

Analiza verzija

Analiza aktivnih domena koje koriste operatori sniffera ReactGet omogućila je otkrivanje mnogih različitih verzija sniffera ove obitelji. Verzije se razlikuju po prisutnosti ili odsutnosti obfuskacije, a osim toga, svaki sniffer je namijenjen određenom platnom sustavu koji obrađuje plaćanja kreditnim karticama za online trgovine. Istraživanjem vrijednosti parametra koji odgovara broju verzije, stručnjaci Group-IB dobili su potpuni popis dostupnih varijacija sniffera, a prema nazivima polja obrazaca koje svaki sniffer traži u kodu stranice, odredili su platne sustave na koje je sniffer usmjeren.

Popis sniffera i odgovarajućih im platnih sustava

URL snifferaPlatni sustav
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.4eWAY Rapid
ajaxstatic.com/api.js?v=2.1.5 Authorize.Net
ajaxstatic.com/api.js?v=2.1.6 Adyen
ajaxstatic.com/api.js?v=2.1.7USAePay
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.3Moneris
apitstatus.com/api.js?v=2.1.5 USAePay
apitstatus.com/api.js?v=2.1.6PayPal
apitstatus.com/api.js?v=2.1.7Sage Pay
apitstatus.com/api.js?v=2.1.8Verisign
apitstatus.com/api.js?v=2.1.9PayPal
apitstatus.com/api.js?v=2.3.0Stripe
apitstatus.com/api.js?v=3.0.2Realex
apitstatus.com/api.js?v=3.0.3PayPal
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.8DataCash
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.3Authorize.Net
billgetstatus.com/api.js?v=1.4 Authorize.Net
billgetstatus.com/api.js?v=1.5Verisign
billgetstatus.com/api.js?v=1.6 Authorize.Net
billgetstatus.com/api.js?v=1.7 Moneris
billgetstatus.com/api.js?v=1.8 Sage Pay
billgetstatus.com/api.js?v=2.0 USAePay
billgetstatus.com/react.jsAuthorize.Net
cloudodesc.com/gtm.js?v=1.2 Authorize.Net
cloudodesc.com/gtm.js?v=1.3ANZ eGate
cloudodesc.com/gtm.js?v=2.3Authorize.Net
cloudodesc.com/gtm.js?v=2.4 Moneris
cloudodesc.com/gtm.js?v=2.6 Sage Pay
cloudodesc.com/gtm.js?v=2.7 Sage Pay
cloudodesc.com/gtm.js?v=2.8 Chase Paymentech
cloudodesc.com/gtm.js?v=2.9Authorize.Net
cloudodesc.com/gtm.js?v=2.91 Adyen
cloudodesc.com/gtm.js?v=2.92 PsiGate
cloudodesc.com/gtm.js?v=2.93CyberSource
cloudodesc.com/gtm.js?v=2.95 ANZ eGate
cloudodesc.com/gtm.js?v=2.97Realex
geisseie.com/gs.js USAePay
gtmproc.com/age.jsAuthorize.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.5PayPal
gtmproc.com/gtm.js?v=1.6 PayPal
gtmproc.com/gtm.js?v=1.7 Realex
livecheckpay.com/api.js?v=2.0 Sage Pay
livecheckpay.com/api.js?v=2.1 PayPal
livecheckpay.com/api.js?v=2.2 Verisign
livecheckpay.com/api.js?v=2.3Authorize.Net
livecheckpay.com/api.js?v=2.4Verisign
livecheckpay.com/react.jsAuthorize.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.5CyberSource
livegetpay.com/pay.js?v=2.1.7 Authorize.Net
livegetpay.com/pay.js?v=2.1.8 Sage Pay
livegetpay.com/pay.js?v=2.1.9 Realex
livegetpay.com/pay.js?v=2.2.0 CyberSource
livegetpay.com/pay.js?v=2.2.1PayPal
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 Sage Pay
livegetpay.com/pay.js?v=2.2.8 Sage Pay
livegetpay.com/pay.js?v=2.2.9Verisign
livegetpay.com/pay.js?v=2.3.0 Authorize.Net
livegetpay.com/pay.js?v=2.3.1Authorize.Net
livegetpay.com/pay.js?v=2.3.2First Data Global Gateway
livegetpay.com/pay.js?v=2.3.3 Authorize.Net
livegetpay.com/pay.js?v=2.3.4Authorize.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.0Verisign
maxstatics.com/site.js USAePay
mediapack.info/track.js?d=funlove.com USAePay
mediapack.info/track.js?d=qbedding.comAuthorize.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 Stripe
mxcounter.com/c.js?v=1.6 Authorize.Net
mxcounter.com/c.js?v=1.7eWAY Rapid
mxcounter.com/c.js?v=1.8 Sage Pay
mxcounter.com/c.js?v=2.0 Authorize.Net
mxcounter.com/c.js?v=2.1Braintree
mxcounter.com/c.js?v=2.10 Braintree
mxcounter.com/c.js?v=2.2 PayPal
mxcounter.com/c.js?v=2.3 Sage Pay
mxcounter.com/c.js?v=2.31 Sage Pay
mxcounter.com/c.js?v=2.32 Authorize.Net
mxcounter.com/c.js?v=2.33PayPal
mxcounter.com/c.js?v=2.34Authorize.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 Stripe
mxcounter.com/click.js?v=1.6 Authorize.Net
mxcounter.com/click.js?v=1.7 eWAY Rapid
mxcounter.com/click.js?v=1.8Sage Pay
mxcounter.com/click.js?v=2.0Authorize.Net
mxcounter.com/click.js?v=2.1 Braintree
mxcounter.com/click.js?v=2.2PayPal
mxcounter.com/click.js?v=2.3 Sage Pay
mxcounter.com/click.js?v=2.31Sage Pay
mxcounter.com/click.js?v=2.32Authorize.Net
mxcounter.com/click.js?v=2.33PayPal
mxcounter.com/click.js?v=2.34 Authorize.Net
mxcounter.com/click.js?v=2.35 Verisign
mxcounter.com/cnt.jsAuthorize.Net
mxcounter.com/j.jsAuthorize.Net
newrelicnet.com/api.js?v=1.2Authorize.Net
newrelicnet.com/api.js?v=1.4 Authorize.Net
newrelicnet.com/api.js?v=1.8 Sage Pay
newrelicnet.com/api.js?v=4.5 Sage Pay
newrelicnet.com/api.js?v=4.6 Westpac PayWay
nr-public.com/api.js?v=2.0PayFort
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.3Stripe
nr-public.com/api.js?v=2.4First Data Global Gateway
nr-public.com/api.js?v=2.5 PsiGate
nr-public.com/api.js?v=2.6 Authorize.Net
nr-public.com/api.js?v=2.7Authorize.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 Sage Pay
nr-public.com/api.js?v=3.2 Verisign
nr-public.com/api.js?v=3.3Moneris
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.7Westpac PayWay
nr-public.com/api.js?v=3.8 Authorize.Net
nr-public.com/api.js?v=4.0Moneris
nr-public.com/api.js?v=4.0.2 PayPal
nr-public.com/api.js?v=4.0.3 Adyen
nr-public.com/api.js?v=4.0.4PayPal
nr-public.com/api.js?v=4.0.5Authorize.Net
nr-public.com/api.js?v=4.0.6USAePay
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.11Authorize.Net
ordercheckpays.com/api.js?v=2.12 PayPal
ordercheckpays.com/api.js?v=2.13Moneris
ordercheckpays.com/api.js?v=2.14Authorize.Net
ordercheckpays.com/api.js?v=2.15PayPal
ordercheckpays.com/api.js?v=2.16PayPal
ordercheckpays.com/api.js?v=2.17Westpac 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 Sage Pay
ordercheckpays.com/api.js?v=2.22 Verisign
ordercheckpays.com/api.js?v=2.23Authorize.Net
ordercheckpays.com/api.js?v=2.24 PayPal
ordercheckpays.com/api.js?v=2.25 PayFort
ordercheckpays.com/api.js?v=2.29 CyberSource
ordercheckpays.com/api.js?v=2.4 PayPal Payflow Pro
ordercheckpays.com/api.js?v=2.7Authorize.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.3Sage Pay
ordercheckpays.com/api.js?v=3.4 Authorize.Net
ordercheckpays.com/api.js?v=3.5Stripe
ordercheckpays.com/api.js?v=3.6Authorize.Net
ordercheckpays.com/api.js?v=3.7 Authorize.Net
ordercheckpays.com/api.js?v=3.8 Verisign
ordercheckpays.com/api.js?v=3.9PayPal
ordercheckpays.com/api.js?v=4.0 Authorize.Net
ordercheckpays.com/api.js?v=4.1Authorize.Net
ordercheckpays.com/api.js?v=4.2 Sage Pay
ordercheckpays.com/api.js?v=4.3Authorize.Net
reactjsapi.com/api.js?v=0.1.0 Authorize.Net
reactjsapi.com/api.js?v=0.1.1PayPal
reactjsapi.com/api.js?v=4.1.2 Flint
reactjsapi.com/api.js?v=4.1.4PayPal
reactjsapi.com/api.js?v=4.1.5Sage Pay
reactjsapi.com/api.js?v=4.1.51 Verisign
reactjsapi.com/api.js?v=4.1.6Authorize.Net
reactjsapi.com/api.js?v=4.1.7Authorize.Net
reactjsapi.com/api.js?v=4.1.8 Stripe
reactjsapi.com/api.js?v=4.1.9 Fat Zebra
reactjsapi.com/api.js?v=4.2.0Sage Pay
reactjsapi.com/api.js?v=4.2.1 Authorize.Net
reactjsapi.com/api.js?v=4.2.2 First Data Global Gateway
reactjsapi.com/api.js?v=4.2.3 Authorize.Net
reactjsapi.com/api.js?v=4.2.4 eWAY Rapid
reactjsapi.com/api.js?v=4.2.5 Adyen
reactjsapi.com/api.js?v=4.2.7PayPal
reactjsapi.com/api.js?v=4.2.8 QuickBooks Merchant Services
reactjsapi.com/api.js?v=4.2.9Verisign
reactjsapi.com/api.js?v=4.2.91 Sage Pay
reactjsapi.com/api.js?v=4.2.92Verisign
reactjsapi.com/api.js?v=4.2.94Authorize.Net
reactjsapi.com/api.js?v=4.3.97Authorize.Net
reactjsapi.com/api.js?v=4.5Sage Pay
reactjsapi.com/react.jsAuthorize.Net
sydneysalonsupplies.com/gtm.jseWAY Rapid
tagsmediaget.com/react.jsAuthorize.Net
tagstracking.com/tag.js?v=2.1.2ANZ eGate
tagstracking.com/tag.js?v=2.1.3PayPal
tagstracking.com/tag.js?v=2.1.5CyberSource
tagstracking.com/tag.js?v=2.1.7Authorize.Net
tagstracking.com/tag.js?v=2.1.8Sage Pay
tagstracking.com/tag.js?v=2.1.9Realex
tagstracking.com/tag.js?v=2.2.0CyberSource
tagstracking.com/tag.js?v=2.2.1 PayPal
tagstracking.com/tag.js?v=2.2.2PayPal
tagstracking.com/tag.js?v=2.2.3PayPal
tagstracking.com/tag.js?v=2.2.4Verisign
tagstracking.com/tag.js?v=2.2.5eWAY Rapid
tagstracking.com/tag.js?v=2.2.7Sage Pay
tagstracking.com/tag.js?v=2.2.8Sage Pay
tagstracking.com/tag.js?v=2.2.9Verisign
tagstracking.com/tag.js?v=2.3.0Authorize.Net
tagstracking.com/tag.js?v=2.3.1Authorize.Net
tagstracking.com/tag.js?v=2.3.2First Data Global Gateway
tagstracking.com/tag.js?v=2.3.3Authorize.Net
tagstracking.com/tag.js?v=2.3.4Authorize.Net
tagstracking.com/tag.js?v=2.3.5Moneris
tagstracking.com/tag.js?v=2.3.6Authorize.Net
tagstracking.com/tag.js?v=2.3.8PayPal

Sniffer lozinki

Jedna od prednosti JavaScript sniffera koji rade na klijentskoj strani stranice je svestranost: zaraženi zlonamjerni kod sposoban je ukrasti podatke bilo koje vrste, bilo da se radi o podacima o plaćanju ili prijavnim podacima korisničkog računa. Stručnjaci Group-IB otkrili su uzorak sniffera iz obitelji ReactGet, namijenjenog krađi adresa e-pošte i lozinki korisnika stranice.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama

Preklapanje sa snifferom ImageID

Tijekom analize jednog od zaraženih trgovina utvrđeno je da je njegova stranica zaražena dva puta: osim zlonamjernog koda sniffera obitelji ReactGet, otkriven je i kod sniffera obitelji ImageID. Ovo preklapanje može biti dokaz da operateri koji stoje iza korištenja oba sniffera primjenjuju slične tehnike za umetanje zlonamjernog koda.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama

Univerzalni sniffer

Tijekom analize jednog od domena povezanih s infrastrukturom sniffera ReactGet, utvrđeno je da je isti korisnik registrirao tri druge domene. Ove tri domene imitirali su domene stvarno postojećih stranica i ranije su korištene za hostanje sniffera. Analizom koda tri legitimne stranice otkriven je nepoznati sniffer, a daljnja analiza pokazala je da je to unaprijeđena verzija sniffera ReactGet. Sve ranije praćene verzije sniffera ove obitelji bile su usmjerene na neku jednu platnu sustav, što znači da je za svaki platni sustav bila potrebna posebna verzija sniffera. Međutim, u ovom slučaju otkrivena je univerzalna verzija sniffera sposobna za krađu informacija iz obrazaca povezanih s 15 različitih platnih sustava i modula ecommerce stranica za provođenje online plaćanja.

Dakle, na početku rada sniffer je pretraživao osnovna polja obrasca koja sadrže osobne informacije žrtve: puno ime, fizička adresa, broj telefona.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Zatim je sniffer pretraživao putem više od 15 različitih prefiksa, koji odgovaraju različitim platnim sustavima i modulima za online plaćanja.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Nakon toga, osobni podaci žrtve i platne informacije su prikupljeni i poslani na kontroliranu stranicu napadača: u ovom konkretnom slučaju otkrivene su dvije verzije univerzalnog sniffera ReactGet, locirane na dvije različite hakirane stranice. Međutim, obje verzije slale su ukradene podatke na istu hakiranu stranicu. zoobashop.com.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Analiza prefiksa koje je sniffer koristio za pretraživanje polja koja sadrže platne informacije žrtve omogućila je određivanje da je ovaj uzorak sniffera bio usmjeren na sljedeće platne sustave:

  • Authorize.Net
  • Verisign
  • First Data
  • USAePay
  • Stripe
  • PayPal
  • ANZ eGate
  • Braintree
  • DataCash (MasterCard)
  • Realex Payments
  • PsiGate
  • Heartland Payment Systems

Koji alati se koriste za krađu platnih informacija

Prvi alat otkriven tijekom analize infrastrukture napadača služi za obfuskaciju zlonamjernih skripti, odgovornih za krađu bankovnih kartica. Na jednom od hostova napadača pronađen je bash skript koji koristi CLI projekta javascript-obfuscator za automatizaciju obfuskacije koda sniffera.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Drugi otkriveni alat namijenjen je generiranju koda koji je odgovoran za učitavanje glavnog sniffera. Ovaj alat generira JavaScript kod koji provjerava nalazi li se korisnik na stranici za uplatu, tražeći u trenutnoj adresi korisnika nizove checkout, kolica i tako dalje, a ako je rezultat pozitivan, kod učitava glavni sniffer s poslužitelja napadača. Da bi se sakrila zloćudna aktivnost, svi nizovi, uključujući testne nizove za određivanje stranice za plaćanje, kao i link na sniffer, kodirani su pomoću base64.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama

Phishing napadi

Tijekom analize mrežne infrastrukture napadača ustanovljeno je da često za pristup administrativnoj ploči ciljanog online dućana, kriminalna grupa koristi phishing. Napadači registriraju domenu koja vizualno nalikuje domeni trgovine, a zatim na njoj postavljaju lažni obrazac za prijavu na administrativnu ploču Magento. U slučaju uspjeha, napadači će dobiti pristup administrativnoj ploči CMS Magento, što im omogućava uređivanje komponenti web stranice i ugradnju sniffera za krađu podataka kreditnih kartica.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Infrastruktura

DomenDatum otkrića/pojave
mediapack.info04.05.2017
adsgetapi.com15.06.2017
simcounter.com14.08.2017
mageanalytics.com22.12.2017
maxstatics.com16.01.2018
reactjsapi.com19.01.2018
mxcounter.com02.02.2018
apitstatus.com01.03.2018
orderracker.com20.04.2018
tagstracking.com25.06.2018
adsapigate.com12.07.2018
trust-tracker.com15.07.2018
fbstatspartner.com02.10.2018
billgetstatus.com12.10.2018
aldenmlilhouse.com20.10.2018
balletbeautlful.com20.10.2018
bargalnjunkie.com20.10.2018
payselector.com21.10.2018
tagsmediaget.com02.11.2018
hs-payments.com16.11.2018
ordercheckpays.com19.11.2018
geisseie.com24.11.2018
gtmproc.com29.11.2018
livegetpay.com18.12.2018
sydneysalonsupplies.com18.12.2018
newrelicnet.com19.12.2018
nr-public.com03.01.2019
cloudodesc.com04.01.2019
ajaxstatic.com11.01.2019
livecheckpay.com21.01.2019
asianfoodgracer.com25.01.2019

Obitelj G-Analytics

Ova obitelj sniffera koristi se za krađu kartica kupaca online trgovina. Prvo registrirano ime domene koje je grupa koristila bilo je u travnju 2016. godine, što može ukazivati na početak aktivnosti grupe sredinom 2016. godine.

U trenutnoj kampanji grupa koristi imena domena koja imitiraju stvarne usluge, poput Google Analyticsa i jQuery-a, prikrivajući aktivnost sniffera legitimnim skriptama i imenima domena sličnim legitimnima. Napadi su se dogodili na web stranicama koje rade pod upravom CMS Magento.

Kako se G-Analytics ugrađuje u kod online trgovine

Odlikovna značajka ove obitelji je korištenje različitih metoda krađe korisničkih platnih informacija. Osim klasične metode umetanja JavaScript koda u klijentski dio web stranice, kriminalna grupa također je koristila tehniku umetanja koda u serveršku stranu web stranice, konkretno PHP skripte koje obrađuju unesene korisničke podatke. Ova tehnika je opasna jer otežava otkrivanje zlonamjernog koda od strane vanjskih istražitelja. Stručnjaci iz Group-IB-a otkrili su verziju sniffera umetnutog u PHP kod web stranice, koja koristi kao ulaznu točku domenu dittm.org.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Također je otkrivena ranija verzija sniffera koja koristi istu domenu za prikupljanje ukradenih podataka dittm.org, no ova verzija je namijenjena već za postavljanje na klijentskoj strani online trgovine.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Kasnije je grupa promijenila svoju taktiku i počela posvećivati više pažnje skrivanju zlonamjerne aktivnosti i maskiranju.

Početkom 2017. godine grupa je počela koristiti domenu jquery-js.com, koja se maskira kao CDN za jQuery: prilikom odlaska na stranicu zlonamjernika korisnika preusmjerava na legitimnu web stranicu jquery.com.

A sredinom 2018. godine grupa je preuzela domensko ime g-analytics.com i počela maskirati aktivnost sniffera pod legitimnu uslugu Google Analytics.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama

Analiza verzija

Analizom domena koje se koriste za pohranu koda sniffera otkriveno je da se na web stranici nalazi velik broj verzija koje se razlikuju po prisutnosti obfuskacije, kao i po prisutnosti ili odsutnosti nedostižnog koda, dodanog u datoteku za zavaravanje i skrivanje zlonamjernog koda.

Ukupno je na web stranici jquery-js.com otkriveno šest verzija sniffera. Ukradeni podaci koje ovi snifferi šalju na adresu koja se nalazi na istoj web stranici kao i sam 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

Kasnija domena g-analytics.com, koju grupa koristi u napadima od sredine 2018. godine, služi kao skladište za veći broj sniffera. Ukupno je otkriveno 16 različitih verzija sniffera. U ovom slučaju, ulazna točka za slanje ukradenih podataka bila je maskirana kao poveznica na sliku formata 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

Kriminalna grupa monetizira ukradene podatke prodajući kartice putem specijalizirane podzemne trgovine koja pruža usluge karderima. Analiza domena koje koriste napadači omogućila je određivanje da google-analytics.cm je registriran od istog korisnika koji je registrirao domenu cardz.vc. Domen cardz.vc odnosi se na trgovinu koja prodaje ukradene bankovne kartice Cardsurfs (Flysurfs), koja je stekla popularnost još u vrijeme aktivnosti podzemne trgovačke platforme AlphaBay kao trgovina koja prodaje bankovne kartice ukradene putem sniffera.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Analizirajući domen analytic.is, smješten na istom serveru kao i domene korištene od strane sniffera za prikupljanje ukradenih podataka, stručnjaci Group-IB su otkrili datoteku koja sadrži logove Cookie-stealera, koja je očito kasnije napuštena od strane programera. Jedna od stavki u logu sadržavala je domenu iozoz.com, koja je ranije korištena u jednom od sniffera aktivnih 2016. godine. Pretpostavlja se da je ovu domenu ranije koristio napadač za prikupljanje ukradenih kartica putem sniffera. Ova domena je registrirana na email adresu kts241@gmail.com, koja je također korištena za registraciju domena cardz.su i cardz.vc, koja se odnosi na trgovinu karticama Cardsurfs.

Na temelju dobivenih podataka, može se pretpostaviti da obitelj sniffera G-Analytics i podzemna trgovina za prodaju bankovnih kartica Cardsurfs upravljaju istim ljudima, a trgovina se koristi za prodaju bankovnih kartica ukradenih putem sniffera.

Infrastruktura

DomenDatum otkrića/pojave
iozoz.com08.04.2016
dittm.org10.09.2016
jquery-js.com02.01.2017
g-analytics.com31.05.2018
google-analytics.is21.11.2018
analytic.to04.12.2018
google-analytics.to06.12.2018
google-analytics.cm28.12.2018
analytic.is28.12.2018
googlc-analytics.cm17.01.2019

Obitelj Illum

Illum je obitelj sniffera koja se koristi za napade na online trgovine koje rade pod CMS Magento. Osim uvođenja zloćudnog koda, operateri ovog sniffera koriste i implementaciju potpunih lažnih obrazaca za plaćanje koji šalju podatke na kontrole zločinaca.

Prilikom analize mrežne infrastrukture koju koriste operateri ovog sniffera, zabilježen je velik broj zloćudnih skripti, eksploita, lažnih obrazaca plaćanja, kao i zbirka primjera zloćudnih sniffera konkurencije. Na temelju informacija o datumima pojave domena koje koristi grupa, može se pretpostaviti da je početak kampanje krajem 2016. godine.

Kako Illum prodiru u kod online trgovine

Prve otkrivene verzije sniffera ugrađene su direktno u kod kompromitirane stranice. Ukradeni podaci slali su se na adresu cdn.illum[.]pw/records.php, dok je gejt bio kodiran pomoću base64.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Kasnije je otkrivena upakovana verzija sniffera koja koristi drugačiji ulaz — records.nstatistics[.]com/records.php.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Prema izvještaju Willem de Groot, sličan host korišten je u snifferu koji je implementiran na stranici prodavnice, koja pripada njemačkoj političkoj stranci CSU.

Analiza web stranice napadača

Stručnjaci Group-IB otkrili su i analizirali stranicu koju je koristila ova kriminalna grupa za pohranu alata i prikupljanje ukradenih informacija.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Među alatima otkrivenim na serveru napadača, pronađeni su skripti i eksploati za eskalaciju privilegija u OS Linux: na primjer, Linux Privilege Escalation Check Script, koju je razvio Mike Czumak, kao i eksploat za CVE-2009-1185.

Za napade na online prodavnice, napadači su koristili dva eksploita: prvi koji je sposoban ubrizgati zloćudni kod u core_config_data korištenjem eksploatacije CVE-2016-4010, drugi eksploatira ranjivost tipa RCE u pluginovima za CMS Magento, omogućujući izvršavanje proizvoljnog koda na ranjivom web serveru.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Takođe, tokom analize servera otkriveni su razni uzorci sniffera i lažnih obrazaca plaćanja koje napadači koriste za prikupljanje platnih informacija sa hakiranih web stranica. Kao što se može primijetiti iz popisa u nastavku, neki skripti su izrađivani individualno za svaku hakiranu stranicu, dok su se za određene CMS i platne gatewaye koristila univerzalna rješenja. Na primer, skripti segapay_standart.js i segapay_onpage.js su namijenjeni za ubrizgavanje na stranice koje koriste platni gateway Sage Pay.

Lista skripti za različite platne gatewaye

SkriptaPlatni gateway
sr.illum[.]pw/mjs_special/visiondirect.co.uk.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/topdierenshop.nl.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/tiendalenovo.es.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/pro-bolt.com.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/plae.co.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/ottolenghi.co.uk.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/oldtimecandy.com.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/mylook.ee.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/luluandsky.com.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/julep.com.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/gymcompany.es.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/grotekadoshop.nl.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/fushi.co.uk.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/fareastflora.com.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/compuindia.com.js//request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs/segapay_standart.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/segapay_onpage.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/replace_standart.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs/all_inputs.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/add_inputs_standart.js//request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/magento/payment_standart.js//cdn.illum[.]pw/records.php
sr.illum[.]pw/magento/payment_redirect.js//payrightnow[.]cf/?payment=
sr.illum[.]pw/magento/payment_redcrypt.js//payrightnow[.]cf/?payment=
sr.illum[.]pw/magento/payment_forminsite.js//paymentnow[.]tk/?payment=

Poslužitelj paymentnow[.]tk, korišten kao ulaz u skriptu payment_forminsite.js, otkriven je kao subjectAltName u nekoliko certifikata vezanih uz uslugu CloudFlare. Osim toga, na hostu je bio skript evil.js. Na osnovu imena skripta, mogao je biti korišten u okviru eksploatacije CVE-2016-4010, zahvaljujući kojoj je moguće ubrizgati zloćudni kod u footer stranice pod upravom CMS Magento. Kao ulaz, ovaj skript je upotrebio host request.requestnet[.]tk, koji koristi isti certifikat kao i host paymentnow[.]tk.

Lažni obrasci plaćanja

U nastavku je prikazan primer obrasca za unos podataka o kartici. Ovaj obrazac korišten je za ubrizgavanje na stranicu online prodavnice i krađu podataka o karticama.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Na sljedećem crtežu je primjer lažne PayPal obrasca za plaćanje koji su zlonamjerni korisnici koristili za infiltraciju na web stranice s ovom metodom plaćanja.
Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Infrastruktura

DomenDatum otkrića/pojave
cdn.illum.pw27/11/2016
records.nstatistics.com06/09/2018
request.payrightnow.cf25/05/2018
paymentnow.tk16/07/2017
payment-line.tk01/03/2018
paymentpal.cf04/09/2017
requestnet.tk28/06/2017

Obitelj CoffeMokko

Obitelj sniffera CoffeMokko, namijenjena krađi bankovnih kartica korisnika internetskih trgovina, koristi se najmanje od svibnja 2017. godine. Pretpostavlja se da operatore ovog obiteljskog sniffera čini kriminalna skupina Group 1, opisana od strane stručnjaka RiskIQ 2016. godine. Napadi su se dogodili na web stranicama koje koriste CMS kao što su Magento, OpenCart, WordPress, osCommerce, Shopify.

Kako se CoffeMokko infiltrira u kod internetske trgovine

Operateri ove obitelji kreiraju jedinstvene sniffer-e za svaku infekciju: datoteka sniffera nalazi se u direktoriju src ili js na serveru zlonamjernih korisnika. Infiltracija u kod web stranice provodi se putem izravne veze na sniffer.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
U kodu sniffera čvrsto su kodirana imena polja obrasca s kojih je potrebno ukrasti podatke. Također, sniffer provjerava je li korisnik na stranici za plaćanje uspoređujući popis ključnih riječi s trenutnom adresom korisnika.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Neke otkrivene verzije sniffera osigurane su i sadržavale su šifriranu string koja je čuvala glavni niz resursa: u njemu su bila imena polja obrazaca za različite metode plaćanja, kao i adresa gateway-a na koju je potrebno slati ukradene podatke.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Ukradeni podaci o plaćanju slali su se skripti na serveru zlonamjernih korisnika putem /savePayment/index.php или /tr/index.php. Pretpostavlja se da ova skripta služi za slanje podataka s gateway-a na glavni server koji konsolidira podatke sa svih sniffera. Kako bi se prikrili prijenosni podaci, svi informacija o plaćanju žrtve se šifrira pomoću base64, a zatim se vrši nekoliko zamjena znakova:

  • znak «e» zamjenjuje se sa «:»
  • znak «w» zamjenjuje se sa «+»
  • znak «o» zamjenjuje se sa «%»
  • znak «d» zamjenjuje se sa «#»
  • znak «a» zamjenjuje se sa «-»
  • znak «7» zamjenjuje se sa «^»
  • znak «h» zamjenjuje se sa «_»
  • znak «T» zamjenjuje se sa «@»
  • znak «0» zamjenjuje se sa «/»
  • znak «Y» zamjenjuje se sa «*»

Kao rezultat zamjena znakova, šifrirani podaci s pomoću base64 ne mogu se dešifrirati bez izvođenja obrnutih transformacija.

Ovako izgleda fragment koda sniffera koji nije bio podvrgnut obfuskaciji:

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama

Analiza infrastrukture

U ranijim kampanjama, napadači su registrirali domene slične domenama legitimnih online prodavnica. Njihov domen mogao je razlikovati od legitimnog za samo jedan znak ili drugi TLD. Registrirani domene su korišteni za skladištenje koda sniffera, čija je veza bila umetnuta u kod prodavnice.

Također, ova je grupa koristila domene koji podsjećaju na nazive popularnih jQuery plugina (slickjs[.]org za sajtove koji koriste plugin slick.js), platnih prolaza (sagecdn[.]org za sajtove koji koriste platni sistem Sage Pay).

Kasnije je grupa počela kreirati domene cija imena nisu imala nikakve veze ni s domenom prodavnice ni s tematikom prodavnice.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Svakom domenu odgovarao je sajt u kojem je kreirana direktorija /js ili /src. U ovoj direktoriji su se nalazili skripti sniffera: po jedan sniffer za svaku novu infekciju. Sniffer je bio umetnut u kod sajta putem direktne veze, ali su u rijetkim slučajevima napadači modifikovali jedan od fajlova sajta i dodavali mu zloćudni kod.

Analiza koda

Prvi algoritam obfuskacije

U nekim otkrivenim uzorcima sniffera ove porodice, kod je bio obfuskiran i sadržavao je enkriptovane podatke neophodne za rad sniffera: konkretno, adresu ulaza sniffera, listu polja platnog obrasca, a u nekim slučajevima — kod lažnog platnog obrasca. U kodu unutar funkcije, resursi su bili enkriptovani pomoću XOR uz ključ koji je bio proslijeđen kao argument te iste funkcije.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Dekriptujući niz odgovarajućim ključem, jedinstvenim za svaki uzorak, može se dobiti niz koji sadrži sve stringove iz koda sniffera odvojene separatorom.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama

Drugi algoritam obfuskacije

U novijim uzorcima sniffera ove porodice korišten je drugi mehanizam obfuskacije: u ovom slučaju, podaci su bili enkriptovani pomoću vlastitog algoritma. Niz koji sadrži enkriptovane podatke neophodne za rad sniffera bio je proslijeđen kao argument funkciji dekripcije.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Pomoću konzole pretraživača može se dekriptovati enkriptovane podatke i dobiti niz koji sadrži resurse sniffera.

Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama

Veza s ranijim napadima MageCart

Tijekom analize jednog od domena koje je grupa koristila kao ulaz za prikupljanje ukradenih podataka, utvrđeno je da je na toj domeni postavljena infrastruktura za krađu kreditnih kartica, identična onoj koja je korištena od strane Grupa 1 — jedne od prvih grupa, otkrivenih stručnjacima RiskIQ.

Na hostu obitelji sniffera CoffeMokko pronađena su dva datoteke:

  • mage.js — datoteka koja sadrži kod sniffera Grupa 1 s adresom ulaza js-cdn.link
  • mag.php — PHP skripta zadužena za prikupljanje ukradenih podataka od strane sniffera

Содержимое файла mage.js Četiri JavaScript sniffa koja vas vrebaju u internetskim trgovinama
Također je utvrđeno da su najranije domene koje je koristila grupa odgovorna za obitelj sniffera CoffeMokko registrirane 17. svibnja 2017. godine:

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

Format ovih domena podudara se s domenama Grupa 1 koje su korištene u napadima 2016. godine.

Na temelju prikupljenih činjenica može se pretpostaviti da postoji povezanost između operatera sniffera CoffeMokko i kriminalne grupe Grupa 1. Pretpostavlja se da su operateri CoffeMokko mogli posuditi alate i softver za krađu kartica od svojih prethodnika. Ipak, vjerojatnije je da je kriminalna grupa koja stoji iza korištenja sniffera obitelji CoffeMokko ista ona koja je provodila napade u okviru aktivnosti Grupa 1. Nakon objave prvog izvještaja o radu kriminalne grupe, sve njihove domene su blokirane, a alati su detaljno proučeni i opisani. Grupa je bila prisiljena uzeti pauzu, doraditi svoje interne alate i prepisati kod sniffera kako bi nastavila svoje napade i ostala neprimijećena.

Infrastruktura

DomenDatum otkrića/pojave
link-js.link17.05.2017
info-js.link17.05.2017
track-js.link17.05.2017
map-js.link17.05.2017
smart-js.link17.05.2017
adorebeauty.org03.09.2017
security-payment.su03.09.2017
braincdn.org04.09.2017
sagecdn.org04.09.2017
slickjs.org04.09.2017
oakandfort.org10.09.2017
citywlnery.org15.09.2017
dobell.su04.10.2017
childsplayclothing.org31.10.2017
jewsondirect.com05.11.2017
shop-rnib.org15.11.2017
closetlondon.org16.11.2017
misshaus.org28.11.2017
battery-force.org01.12.2017
kik-vape.org01.12.2017
greatfurnituretradingco.org02.12.2017
etradesupply.org04.12.2017
replacemyremote.org04.12.2017
all-about-sneakers.org05.12.2017
mage-checkout.org05.12.2017
nililotan.org07.12.2017
lamoodbighats.net08.12.2017
walletgear.org10.12.2017
dahlie.org12.12.2017
davidsfootwear.org20.12.2017
blackriverimaging.org23.12.2017
exrpesso.org02.01.2018
parks.su09.01.2018
pmtonline.su12.01.2018
ottocap.org15.01.2018
christohperward.org27.01.2018
coffetea.org31.01.2018
energycoffe.org31.01.2018
energytea.org31.01.2018
teacoffe.net31.01.2018
adaptivecss.org01.03.2018
coffemokko.com01.03.2018
londontea.net01.03.2018
ukcoffe.com01.03.2018
labbe.biz20.03.2018
batterynart.com03.04.2018
btosports.net09.04.2018
chicksaddlery.net16.04.2018
paypaypay.org11.05.2018
ar500arnor.com26.05.2018
authorizecdn.com28.05.2018
slickmin.com28.05.2018
bannerbuzz.info03.06.2018
kandypens.net08.06.2018
mylrendyphone.com15.06.2018
freshchat.info01.07.2018
3lift.org02.07.2018
abtasty.net02.07.2018
mechat.info02.07.2018
zoplm.com02.07.2018
zapaljs.com02.09.2018
foodandcot.com15.09.2018
freshdepor.com15.09.2018
swappastore.com15.09.2018
verywellfitnesse.com15.09.2018
elegrina.com18.11.2018
majsurplus.com19.11.2018
top5value.com19.11.2018

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster