Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides

Peaaegu igaüks meist kasutab veebipoodide teenuseid, mis tähendab, et varem või hiljem on oht sattuda JavaScripti nuusutajate ohvriks – see on spetsiaalne kood, mille ründajad veebisaidile sisestavad, et varastada pangakaardi andmeid, aadresse, kasutajanimesid ja paroole. .

Nuusutajad on kannatada saanud juba ligi 400 000 British Airwaysi veebisaidi ja mobiilirakenduse kasutajat, samuti Briti spordigigandi FILA veebisaidi ja USA piletite turustaja Ticketmasteri külastajaid. PayPal, Chase Paymenttech, USAePay, Moneris – need ja paljud teised maksesüsteemid on nakatunud.

Threat Intelligence Group-IB analüütik Viktor Okorokov räägib, kuidas nuusutajad tungivad veebisaidi koodi ja varastavad makseteavet ning milliseid CRM-e nad ründavad.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides

"Varjatud oht"

Juhtus nii, et JS-nuusutajad jäid pikka aega viirusetõrjeanalüütikute vaateväljast eemale ning pangad ja maksesüsteemid ei näinud neis tõsist ohtu. Ja täiesti asjata. Grupi IB eksperdid analüüsitud 2440 nakatunud veebipoodi, mille külastajad – kokku ligikaudu 1,5 miljonit inimest päevas – olid ohus. Ohvrite hulgas ei ole mitte ainult kasutajad, vaid ka e-poed, maksesüsteemid ja pangad, kes väljastasid ohustatud kaarte.

Aruanne Group-IB sai esimeseks uuringuks nuusutajate pimevõrgu turu, nende infrastruktuuri ja raha teenimise viiside kohta, tuues nende loojatele miljoneid dollareid. Tuvastasime 38 nuusutajaperet, millest vaid 12 olid varem teadlastele teada.

Peatugem üksikasjalikult neljal uuringu käigus uuritud nuusutajate perekonnal.

ReactGeti perekond

ReactGeti perekonna nuusutajaid kasutatakse veebipoodides pangakaardiandmete varastamiseks. Nuusutaja võib töötada suure hulga erinevate saidil kasutatavate maksesüsteemidega: ühele maksesüsteemile vastab üks parameetri väärtus ning nuusutaja üksikuid tuvastatud versioone saab kasutada nii mandaatide varandamiseks kui ka pangakaardi andmete varandamiseks korraga mitme maksesüsteemi maksevormid, nagu nn universaalne nuusutaja. Leiti, et mõnel juhul sooritavad ründajad andmepüügirünnakuid veebipoe administraatorite vastu, et pääseda ligi saidi halduspaneelile.

Kampaania, milles kasutati seda nuusutajate perekonda, algas 2017. aasta mais. Ründati CMS-i ja platvorme Magento, Bigcommerce, Shopify kasutavaid saite.

Kuidas ReactGet on manustatud veebipoe koodi

Lisaks “klassikalisele” lingipõhisele skriptisüstile kasutavad ReactGet’i perekonna nuusutamisoperaatorid spetsiaalset tehnikat: JavaScripti koodi abil kontrollitakse, kas praegune aadress, kus kasutaja asub, vastab teatud kriteeriumidele. Pahatahtlik kood käivitub ainult siis, kui praegune URL sisaldab alamstringi kassasse või ühe sammuga kassasse, üks leht/, välja/üksleht, kassa/üks, ckout/üks. Seega käivitatakse nuusutamiskood täpselt sel hetkel, kui kasutaja hakkab ostude eest tasuma ja sisestab saidil olevale vormile makseteabe.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
See nuusutaja kasutab mittestandardset tehnikat. Ohvri makse- ja isikuandmed kogutakse koos, kodeeritakse kasutades base64, ja seejärel kasutatakse saadud stringi parameetrina pahatahtlikule saidile päringu saatmiseks. Kõige sagedamini jäljendab tee väravani näiteks JavaScripti faili resp.js, data.js ja nii edasi, kuid kasutatakse ka linke pildifailidele, GIF и JPG. Omapära on see, et nuusutaja loob pildiobjekti suurusega 1 x 1 piksel ja kasutab parameetrina eelnevalt saadud linki src Pildid. See tähendab, et kasutaja jaoks näeb selline taotlus liikluses välja nagu tavalise pildi taotlus. Sarnast tehnikat kasutati nuusutajate perekonnas ImageID. Lisaks kasutatakse 1x1 pikslise kujutise tehnikat paljudes seaduslikes veebianalüütika skriptides, mis võib samuti kasutajat eksitada.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides

Versiooni analüüs

ReactGeti nuusutajate operaatorite kasutatavate aktiivsete domeenide analüüs paljastas selle nuusutajate perekonna palju erinevaid versioone. Versioonid erinevad segaduse olemasolu või puudumise poolest ning lisaks on iga nuusutaja mõeldud konkreetse maksesüsteemi jaoks, mis töötleb veebipoodide pangakaardimakseid. Pärast versiooninumbrile vastava parameetri väärtuse sorteerimist said Group-IB spetsialistid saadaolevate nuusutajate variatsioonide täieliku loendi ning vormiväljade nimede järgi, mida iga nuusutaja lehekoodist otsib, määrasid nad kindlaks maksesüsteemid. et nuusutaja sihib.

Nuusutajate ja neile vastavate maksesüsteemide loend

Nuusutaja URL Maksesüsteem
reactjsapi.com/react.js Authorize.Net
ajaxstatic.com/api.js?v=2.1.1 Kaardisääst
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 Adyen
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 Salvei palk
apitstatus.com/api.js?v=2.1.8 Verisign'i
apitstatus.com/api.js?v=2.1.9 PayPal
apitstatus.com/api.js?v=2.3.0 Stripe
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'i
billgetstatus.com/api.js?v=1.6 Authorize.Net
billgetstatus.com/api.js?v=1.7 Moneris
billgetstatus.com/api.js?v=1.8 Salvei palk
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 Salvei palk
cloudodesc.com/gtm.js?v=2.7 Salvei palk
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 Adyen
cloudodesc.com/gtm.js?v=2.92 PsiGate
cloudodesc.com/gtm.js?v=2.93 Küberallikas
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 Salvei palk
livecheckpay.com/api.js?v=2.1 PayPal
livecheckpay.com/api.js?v=2.2 Verisign'i
livecheckpay.com/api.js?v=2.3 Authorize.Net
livecheckpay.com/api.js?v=2.4 Verisign'i
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 Küberallikas
livegetpay.com/pay.js?v=2.1.7 Authorize.Net
livegetpay.com/pay.js?v=2.1.8 Salvei palk
livegetpay.com/pay.js?v=2.1.9 Realex
livegetpay.com/pay.js?v=2.2.0 Küberallikas
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'i
livegetpay.com/pay.js?v=2.2.5 eWAY Rapid
livegetpay.com/pay.js?v=2.2.7 Salvei palk
livegetpay.com/pay.js?v=2.2.8 Salvei palk
livegetpay.com/pay.js?v=2.2.9 Verisign'i
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 Esimene globaalne andmevärav
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'i
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'i
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.7 eWAY Rapid
mxcounter.com/c.js?v=1.8 Salvei palk
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 Salvei palk
mxcounter.com/c.js?v=2.31 Salvei palk
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'i
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.8 Salvei palk
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 Salvei palk
mxcounter.com/click.js?v=2.31 Salvei palk
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'i
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 Salvei palk
newrelicnet.com/api.js?v=4.5 Salvei palk
newrelicnet.com/api.js?v=4.6 Westpac PayWay
nr-public.com/api.js?v=2.0 tasu eest
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 Stripe
nr-public.com/api.js?v=2.4 Esimene globaalne andmevärav
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 Salvei palk
nr-public.com/api.js?v=3.2 Verisign'i
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 Adyen
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'i
nr-public.com/api.js?v=4.1.2 Verisign'i
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 Salvei palk
ordercheckpays.com/api.js?v=2.22 Verisign'i
ordercheckpays.com/api.js?v=2.23 Authorize.Net
ordercheckpays.com/api.js?v=2.24 PayPal
ordercheckpays.com/api.js?v=2.25 tasu eest
ordercheckpays.com/api.js?v=2.29 Küberallikas
ordercheckpays.com/api.js?v=2.4 PayPal Payflow Pro
ordercheckpays.com/api.js?v=2.7 Authorize.Net
ordercheckpays.com/api.js?v=2.8 Authorize.Net
ordercheckpays.com/api.js?v=2.9 Verisign'i
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 Salvei palk
ordercheckpays.com/api.js?v=3.4 Authorize.Net
ordercheckpays.com/api.js?v=3.5 Stripe
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'i
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 Salvei palk
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 Ränikivi
reactjsapi.com/api.js?v=4.1.4 PayPal
reactjsapi.com/api.js?v=4.1.5 Salvei palk
reactjsapi.com/api.js?v=4.1.51 Verisign'i
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 Stripe
reactjsapi.com/api.js?v=4.1.9 Paks sebra
reactjsapi.com/api.js?v=4.2.0 Salvei palk
reactjsapi.com/api.js?v=4.2.1 Authorize.Net
reactjsapi.com/api.js?v=4.2.2 Esimene globaalne andmevärav
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.7 PayPal
reactjsapi.com/api.js?v=4.2.8 QuickBooksi kaupmeheteenused
reactjsapi.com/api.js?v=4.2.9 Verisign'i
reactjsapi.com/api.js?v=4.2.91 Salvei palk
reactjsapi.com/api.js?v=4.2.92 Verisign'i
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 Salvei palk
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 Küberallikas
tagstracking.com/tag.js?v=2.1.7 Authorize.Net
tagstracking.com/tag.js?v=2.1.8 Salvei palk
tagstracking.com/tag.js?v=2.1.9 Realex
tagstracking.com/tag.js?v=2.2.0 Küberallikas
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'i
tagstracking.com/tag.js?v=2.2.5 eWAY Rapid
tagstracking.com/tag.js?v=2.2.7 Salvei palk
tagstracking.com/tag.js?v=2.2.8 Salvei palk
tagstracking.com/tag.js?v=2.2.9 Verisign'i
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 Esimene globaalne andmevärav
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

Parooli nuusutaja

Veebilehe kliendipoolel töötavate JavaScripti nuusutajate üks eeliseid on selle mitmekülgsus: veebisaidile manustatud pahatahtlik kood võib varastada mis tahes tüüpi andmeid, olgu selleks siis makseteave või kasutajakonto sisselogimine ja parool. Grupi IB spetsialistid avastasid ReactGeti perekonda kuuluva nuusutaja näidise, mis oli mõeldud saidi kasutajate e-posti aadresside ja paroolide varastamiseks.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides

Ristmik ImageID nuusutajaga

Ühe nakatunud poe analüüsi käigus selgus, et selle veebileht oli nakatunud kahel korral: lisaks ReactGeti perekonna nuusutaja pahatahtlikule koodile leiti ka ImageID perekonna nuusutaja kood. See kattumine võib olla tõend selle kohta, et mõlema nuusutaja taga olevad operaatorid kasutavad pahatahtliku koodi sisestamiseks sarnaseid tehnikaid.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides

Universaalne nuusutaja

Ühe ReactGet snifferi infrastruktuuriga seotud domeeninime analüüsimisel selgus, et sama kasutaja registreeris veel kolm domeeninime. Need kolm domeeni jäljendasid päriselu saitide domeene ja neid kasutati varem nuusutajate majutamiseks. Kolme seadusliku saidi koodi analüüsimisel leiti tundmatu nuusutaja ja edasine analüüs näitas, et tegemist on ReactGeti nuusutaja täiustatud versiooniga. Kõik selle nuusutajate perekonna varem jälgitud versioonid olid suunatud ühele maksesüsteemile, see tähendab, et iga maksesüsteemi jaoks oli vaja nuusutaja spetsiaalset versiooni. Sel juhul avastati aga nuusutaja universaalne versioon, mis on võimeline varastama teavet 15 erineva maksesüsteemi ja veebimaksete e-poesaitide moodulitega seotud vormidelt.

Niisiis otsis nuusutaja töö alguses põhilisi vormivälju, mis sisaldasid ohvri isikuandmeid: täisnimi, füüsiline aadress, telefoninumber.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Seejärel otsis nuusutaja üle 15 erineva eesliite, mis vastavad erinevatele maksesüsteemidele ja veebimaksete moodulitele.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Järgmisena koguti kokku ohvri isikuandmed ja makseteave ning saadeti ründaja kontrollitavale saidile: antud juhul leiti kahel erineval häkitud saidil kaks universaalse nuusutaja ReactGet versiooni. Mõlemad versioonid saatsid aga varastatud andmed samale häkitud saidile. zoobashop.com.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Nuusutaja poolt ohvri makseteavet sisaldavate väljade leidmiseks kasutatud eesliidete analüüs näitas, et see nuusutaja valim oli suunatud järgmistele maksesüsteemidele:

  • Authorize.Net
  • Verisign'i
  • First Data
  • USAePay
  • Stripe
  • PayPal
  • ANZ eGate
  • Braintree
  • Data Cash (MasterCard)
  • Realexi maksed
  • PsiGate
  • Heartlandi maksesüsteemid

Milliseid vahendeid kasutatakse makseteabe varastamiseks

Esimene tööriist, mis avastati ründajate infrastruktuuri analüüsimisel, aitab hägustada pahatahtlikke skripte, mis vastutavad pangakaartide varastamise eest. Ühelt ründaja hostilt leiti projekti CLI-d kasutav bash-skript. javascript-obfuscator nuusutamiskoodi hägustamise automatiseerimiseks.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Teine avastatud tööriist on loodud peamise nuusutaja laadimise eest vastutava koodi genereerimiseks. See tööriist genereerib JavaScripti koodi, mis kontrollib, kas kasutaja on kassalehel, otsides stringe kasutaja praegusest aadressist kassasse, käru ja nii edasi ja kui tulemus on positiivne, siis kood laeb sissetungija serverist peamise nuusutaja. Pahatahtliku tegevuse varjamiseks kodeeritakse kõik read, sealhulgas makselehe määramise testread, samuti link nuuskijale, kasutades base64.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides

Andmepüügirünnakud

Ründajate võrgutaristu analüüsi käigus selgus, et kuritegelik rühmitus kasutab sihtmärgiks oleva veebipoe halduspaneelile ligipääsuks sageli andmepüüki. Ründajad registreerivad domeeni, mis näeb välja nagu poe domeen, ja seejärel juurutavad sellele võltsitud Magento administraatori sisselogimisvormi. Kui see õnnestub, saavad ründajad juurdepääsu Magento CMS-i administraatoripaneelile, mis annab neile võimaluse redigeerida saidi komponente ja rakendada krediitkaardiandmete varastamiseks nuusutajat.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Infrastruktuur

Domeeninimi Avastamise/ilmumise kuupäev
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
balletbeautlful.com 20.10.2018
bargalnjunkie.com 20.10.2018
payselector.com 21.10.2018
tagsmediaget.com 02.11.2018
hs-payments.com 16.11.2018
ordercheckpays.com 19.11.2018
geisseie.com 24.11.2018
gtmproc.com 29.11.2018
livegetpay.com 18.12.2018
sydneysalonsupplies.com 18.12.2018
newrelicnet.com 19.12.2018
nr-public.com 03.01.2019
cloudodesc.com 04.01.2019
ajaxstatic.com 11.01.2019
livecheckpay.com 21.01.2019
asianfoodgracer.com 25.01.2019

G-Analyticsi perekond

Seda nuusutajate perekonda kasutatakse veebipoodidest kliendikaartide varastamiseks. Kõige esimene grupi kasutuses olnud domeeninimi registreeriti 2016. aasta aprillis, mis võib viidata grupi tegevuse algusele 2016. aasta keskel.

Praeguses kampaanias kasutab rühm domeeninimesid, mis jäljendavad reaalseid teenuseid, nagu Google Analytics ja jQuery, varjates nuusutamistegevust seaduslike skriptide ja õige välimusega domeeninimedega. Rünnati CMS Magento all töötavaid veebisaite.

Kuidas G-Analytics veebipoe koodis rakendatakse

Selle perekonna eripäraks on erinevate kasutajate makseteabe varastamise meetodite kasutamine. Lisaks klassikalisele JavaScripti süstimisele saidi kliendipoolele kasutas kuritegelik rühmitus ka saidi serveripoolsesse poole koodi sisestamise tehnikat, nimelt PHP-skripte, mis töötlevad kasutaja sisendit. See tehnika on ohtlik selle poolest, et see raskendab kolmanda osapoole teadlastel pahatahtliku koodi tuvastamist. Grupi IB spetsialistid avastasid nuusutaja versiooni, mis oli manustatud saidi PHP-koodi, kasutades domeeni väravana dittm.org.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Samuti avastati nuusutaja varajane versioon, mis kasutab sama domeeni varastatud andmete kogumiseks. dittm.org, kuid see versioon on juba ette nähtud paigaldamiseks veebipoe kliendipoolele.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Hiljem muutis rühmitus taktikat ja hakkas rohkem tähelepanu pöörama pahatahtliku tegevuse varjamisele ja kamuflaažile.

2017. aasta alguses hakkas grupp domeeni kasutama jquery-js.commaskeerudes jQuery CDN-iks: suunab kasutaja pahatahtlikule saidile minnes ümber seaduslikule saidile jquery.com.

Ja 2018. aasta keskel võttis grupp kasutusele domeeninime g-analytics.com ja hakkas maskeerima nuusutaja tegevust legitiimse Google Analyticsi teenusena.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides

Versiooni analüüs

Nuusutamiskoodi salvestamiseks kasutatud domeenide analüüsi käigus leiti, et saidil on suur hulk versioone, mis erinevad nii hägustamise kui ka tähelepanu hajutamiseks lisatud kättesaamatu koodi olemasolu või puudumise poolest. ja peita pahatahtlik kood.

Kokku saidil jquery-js.com tuvastati kuus nuusutajate versiooni. Need nuusutajad saadavad varastatud andmed aadressile, mis asub nuusutaja endaga samal saidil: 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

Hilisem domeen g-analytics.com, mida rühmitus on rünnakutes kasutanud alates 2018. aasta keskpaigast, on hoidlaks suurema hulga nuusutajate jaoks. Kokku avastati nuusutaja 16 erinevat versiooni. Sel juhul oli varastatud andmete saatmise värav maskeeritud lingiks vormingu pildile 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

Varastatud andmete monetiseerimine

Kuritegelik rühmitus rahastab varastatud andmeid, müües kaarte spetsiaalselt loodud maa-aluse poe kaudu, mis pakub kaardistajatele teenuseid. Ründajate kasutatud domeenide analüüs võimaldas seda kindlaks teha google-analytics.cm registreeris domeeniga sama kasutaja cardz.vc. Domeen cardz.vc viitab varastatud pangakaarte müüvale poele Cardsurfs (Flysurfs), mis kogus AlphaBay maa-aluse turu ajal populaarsust nuusutaja abil varastatud pangakaarte müüva kauplusena.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Domeeni analüüsimine analüütiline.is, mis asub samas serveris kui domeenid, mida nuuskijad kasutavad varastatud andmete kogumiseks, leidsid Group-IB spetsialistid küpsisevaraste logisid sisaldava faili, mille arendaja ilmselt hiljem hülgas. Üks logi kirjetest sisaldas domeeni iozoz.com, mida varem kasutati ühes 2016. aastal aktiivses nuusutajas. Arvatavasti kasutas ründaja seda domeeni varem nuusutaja abil varastatud kaartide kogumiseks. See domeen registreeriti e-posti aadressile [meiliga kaitstud], mida kasutati ka domeenide registreerimiseks cardz.su и cardz.vcseotud Cardsurfsi kraasimispoega.

Saadud andmete põhjal võib oletada, et G-Analyticsi nuusutajate perekonda ja maa-alust Cardsurfsi pangakaardipoodi juhivad samad inimesed ning poodi müüakse nuusutaja abil varastatud pangakaarte.

Infrastruktuur

Domeeninimi Avastamise/ilmumise kuupäev
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
analüütiline.to 04.12.2018
google-analytics.to 06.12.2018
google-analytics.cm 28.12.2018
analüütiline.is 28.12.2018
googlelc-analytics.cm 17.01.2019

Illumi perekond

Illum on nuusutajate perekond, mida kasutatakse Magento CMS-i töötavate veebipoodide ründamiseks. Lisaks pahatahtliku koodi kasutuselevõtule kasutavad selle nuusutaja operaatorid ka täisväärtuslike võltsitud maksevormide kasutuselevõttu, mis saadavad andmeid ründajate kontrollitavatesse väravatesse.

Selle nuusutaja operaatorite kasutatava võrguinfrastruktuuri analüüsimisel märgiti ära suur hulk pahatahtlikke skripte, ärakasutusi, võltsitud maksevorme, aga ka näidete kogum pahatahtlike nuusutajate konkurentidega. Grupis kasutatavate domeeninimede ilmumiskuupäevade info põhjal võib eeldada, et kampaania algus langeb 2016. aasta lõppu.

Kuidas Illumit veebipoe koodis rakendatakse

Nuusutaja esimesed avastatud versioonid manustati otse ohustatud saidi koodi. Varastatud andmed saadeti aadressile cdn.illum[.]pw/records.php, värav kodeeriti kasutades base64.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Hiljem avastati teistsuguse värava abil nuusutaja pakendatud versioon - records.nstatistics[.]com/records.php.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Vastavalt aruanne Willem de Groot, sama hosti kasutati nuusutajas, mida rakendati poe veebisait, mis kuulub Saksa erakonnale CSU.

Ründekoha analüüs

Grupi IB spetsialistid avastasid ja analüüsisid saidi, mida see kuritegelik rühmitus kasutas tööriistade hoidmiseks ja varastatud teabe kogumiseks.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Ründaja serverist leitud tööriistade hulgast leiti skripte ja ärakasutusi privileegide eskaleerimiseks Linux OS-is: näiteks Linuxi privileegide eskalatsiooni kontrollskript, mille on välja töötanud Mike Czumak, aga ka ärakasutamine CVE-2009-1185 jaoks.

Ründajad kasutasid veebipoodide ründamiseks otse kahte rünnakut: esimene mis on võimelised sisestama pahatahtlikku koodi core_config_data kasutades ära CVE-2016-4010, teine kasutab ära Magento CMS-i pistikprogrammide RCE haavatavust, võimaldades haavatavas veebiserveris suvalise koodi käivitamist.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Samuti leiti serveri analüüsi käigus erinevaid nuusutajate näidiseid ja võltsitud maksevorme, mida ründajad kasutasid häkitud saitidelt makseteabe kogumiseks. Nagu näete allolevast loendist, loodi mõned skriptid iga häkitud saidi jaoks eraldi, samas kui teatud CMS-i ja maksete lüüside jaoks kasutati universaalset lahendust. Näiteks skriptid segapay_standard.js и segapay_onpage.js loodud manustamiseks saitidele, mis kasutavad Sage Pay makselüüsi.

Erinevate makselüüside skriptide loend

Skript Maksevärav
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=

Host makse kohe[.]tk, mida kasutatakse skriptis väravana makse_forminsite.js, avastati kui SubjectAltName mitmetes CloudFlare'i teenusega seotud sertifikaatides. Lisaks asus skript hostis evil.js. Skripti nime järgi otsustades võidi seda kasutada osana CVE-2016-4010 ärakasutamisest, tänu millele on võimalik Magento CMS-i käitava saidi jalusesse sisestada pahatahtlikku koodi. See skript kasutas hosti väravana request.requestnet[.]tk, kasutades hostiga sama sertifikaati makse kohe[.]tk.

Võltsitud maksevormid

Alloleval joonisel on näide kaardiandmete sisestamise vormist. Seda vormi kasutati veebipoe veebisaidile imbumiseks ja kaardiandmete varastamiseks.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Järgmine joonis on näide võltsitud PayPali maksevormist, mida ründajad kasutasid seda makseviisi kasutades saitidele imbumiseks.
Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Infrastruktuur

Domeeninimi Avastamise/ilmumise kuupäev
cdn.illum.pw 27/11/2016
records.nstatistics.com 06/09/2018
request.payrightnow.cf 25/05/2018
makse kohe.tk 16/07/2017
makseliin.tk 01/03/2018
paymentpal.cf 04/09/2017
requestnet.tk 28/06/2017

CoffeeMokko perekond

Veebipoe kasutajate pangakaartide varastamiseks mõeldud nuusutajate perekond CoffeMokko on kasutusel vähemalt 2017. aasta maist. Eeldatavasti on selle nuusutajate perekonna operaatoriteks 1. rühma kuritegelik rühmitus, mida RiskIQ eksperdid kirjeldasid 2016. aastal. Ründati selliseid CMS-e kasutavaid veebisaite nagu Magento, OpenCart, WordPress, osCommerce, Shopify.

Kuidas CoffeMokko on manustatud veebipoe koodi

Selle perekonna operaatorid loovad iga nakkuse jaoks ainulaadsed nuusutajad: nuusutaja fail asub kataloogis src või js ründaja serveris. Saidi koodi juurutamine toimub otselingi kaudu nuusutajale.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Nuusutamiskood kodeerib kõvasti nende vormiväljade nimed, millest soovite andmeid varastada. Nuusutaja kontrollib ka seda, kas kasutaja on kassalehel, kontrollides märksõnade loendit kasutaja praeguse aadressiga.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Mõned nuusutaja avastatud versioonid olid hägustatud ja sisaldasid krüpteeritud stringi, mis salvestas peamise ressursside massiivi: see sisaldas erinevate maksesüsteemide vormiväljade nimesid ja ka värava aadressi, kuhu varastatud andmed saata.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Varastatud makseteave saadeti teel ründajate serveris olevasse skripti. /savePayment/index.php või /tr/index.php. Arvatavasti kasutatakse seda skripti andmete saatmiseks väravast põhiserverisse, mis koondab kõigi nuusutajate andmed. Edastatud andmete peitmiseks kodeeritakse kogu ohvri makseteave kasutades base64ja seejärel toimub mitu tähemärgi asendust:

  • märk "e" asendatakse tähega ":"
  • sümbol "w" asendatakse sümboliga "+"
  • märk "o" asendatakse tähega "%"
  • märk "d" asendatakse tähega "#"
  • märk "a" asendatakse tähega "-"
  • sümbol "7" asendatakse sümboliga "^"
  • märk "h" asendatakse tähega "_"
  • sümbol "T" asendatakse sümboliga "@"
  • märk "0" asendatakse tähega "/"
  • täht "Y" asendatakse tähega "*"

Märgi asenduste tulemusena kodeeritud base64 andmeid ei saa dekodeerida ilma pöördteisenduseta.

Selline näeb välja nuuskimiskoodi fragment, mida pole hägustatud:

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides

Infrastruktuuri analüüs

Varasemates kampaaniates registreerisid ründajad domeeninimed, mis sarnanesid legitiimsete veebipoodide saitide omadega. Nende domeen võib legitiimsest ühe tähemärgi või teise tippdomeeni võrra erineda. Nuusukoodi salvestamiseks kasutati registreeritud domeene, mille link oli poe koodi sisse manustatud.

See grupp kasutas ka populaarseid jQuery pluginaid meenutavaid domeeninimesid (slickjs[.]org pistikprogrammi kasutavate saitide jaoks slick.js), makseväravad (sagecdn[.]org Sage Pay maksesüsteemi kasutavate saitide jaoks).

Hiljem hakkas grupp looma domeene, mille nimel polnud ei poe domeeni ega poe teemaga mingit pistmist.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Iga domeen vastas saidile, kus kataloog loodi / js või / src. Sellesse kataloogi salvestati nuusutamisskriptid: iga uue nakkuse kohta üks nuusutaja. Nuusutaja viidi saidi koodi sisse otselingi kaudu, kuid harvadel juhtudel muutsid ründajad üht saidi faili ja lisasid sellele pahatahtliku koodi.

Koodi analüüs

Esimene hägustamise algoritm

Mõnes selle perekonna nuusutaja näidises oli kood hägustatud ja see sisaldas nuusutaja töötamiseks vajalikke krüpteeritud andmeid: eelkõige nuusutaja värava aadressi, maksevormi väljade loendit ja mõnel juhul võltsitud maksevormi koodi. Funktsiooni sees olevas koodis olid ressursid krüpteeritud XOR võtmega, mis anti samale funktsioonile argumendina.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Dekrüpteerides stringi vastava võtmega, mis on iga proovi jaoks unikaalne, saate stringi, mis sisaldab kõiki nuusukoodi ridu, mis on eraldatud eraldusmärgiga.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides

Teine hägustamise algoritm

Hilisemates selle nuusutajate perekonna proovides kasutati teistsugust hägustamismehhanismi: antud juhul krüpteeriti andmed ise kirjutatud algoritmi abil. Nuusutaja tööks vajalikke krüpteeritud andmeid sisaldav string edastati dekrüpteerimisfunktsioonile argumendina.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Brauseri konsooli abil saate krüptitud andmed dekrüpteerida ja hankida nuuskimisressursse sisaldava massiivi.

Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides

Link varajaste MageCarti rünnakute juurde

Analüüsides ühte domeeni, mida rühmitus kasutas varastatud andmete kogumiseks väravana, leiti, et sellel domeenil oli krediitkaartide varastamise infrastruktuur, mis on identne sellega, mida kasutas rühm 1, üks esimesi rühmi. avastatud RiskIQ spetsialistid.

CoffeMokko nuusutajate perekonna peremehest leiti kaks faili:

  • mage.js — fail, mis sisaldab 1. rühma nuusutaja koodi koos väravaaadressiga js-cdn.link
  • mag.php - PHP-skript, mis vastutab nuusutaja poolt varastatud andmete kogumise eest

Faili mage.js sisu Neli JavaScripti nuusutajat, mis ootavad teid veebipoodides
Samuti on kindlaks tehtud, et CoffeMokko nuusutajaperekonna taga oleva grupi poolt kasutatud varasemad domeenid registreeriti 17. mail 2017:

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

Nende domeeninimede vorming on sama, mis rühma 1 domeeninimedel, mida kasutati 2016. aasta rünnakutes.

Avastatud faktide põhjal võib oletada, et CoffeMokko nuusutajate operaatorite ja Rühm 1 kuritegeliku grupeeringu vahel on seos. Arvatavasti on CoffeMokko operaatorid laenanud tööriistu ja tarkvara, et varastada oma eelkäijatelt kaarte. Siiski on tõenäolisem, et CoffeMokko perekonna nuusutajate kasutamise taga seisavad kuritegelikud grupeeringud samad inimesed, kes korraldasid rünnakud grupi 1 tegevuse raames. domeeninimed blokeeriti ning tööriistu uuriti üksikasjalikult ja kirjeldati. Rünnakute jätkamiseks ja märkamatuks jäämiseks oli rühm sunnitud tegema pausi, viimistlema oma sisemisi tööriistu ja kirjutama nuusutamiskoodi ümber.

Infrastruktuur

Domeeninimi Avastamise/ilmumise kuupäev
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
turvamakse.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
asenda myremote.org 04.12.2017
all-about-sneakers.org 05.12.2017
mage-checkout.org 05.12.2017
nililotan.org 07.12.2017
lamoodbighat.net 08.12.2017
walletgear.org 10.12.2017
dahlie.org 12.12.2017
davidsfootwear.org 20.12.2017
blackriverimaging.org 23.12.2017
exrpesso.org 02.01.2018
parks.su 09.01.2018
pmtonline.su 12.01.2018
otocap.org 15.01.2018
christohperward.org 27.01.2018
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

Allikas: www.habr.com

Lisa kommentaar