Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides

Peaaegu igaühel meist on online-poode kasutades risk, et ta võib saada JavaScript-snifferite ohvriks — spetsiaalne kood, mille pahatahtlikud kasutajad sisestavad veebisaidile, et varastada kasutajate pangakaardide, aadresside, logide ja paroolide andmeid.

Snifferite tõttu on juba kannatanud peaaegu 400 000 kasutajat British Airwaysi veebisaidilt ja mobiilirakendusest, samuti Briti spordigigandi FILA külastajad ja Ameerika pileti jaotaja Ticketmasteri külastajad. PayPal, Chase Paymenttech, USAePay, Moneris — need ja paljud teised maksesüsteemid on olnud nakatunud.

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

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides

„Peidetud oht“

Tundub, et kaua aega püsisid JS-snifferid viirusetõrjeanalüütikute tähelepanude alt väljas ning pangad ja maksesüsteemid ei pidanud neid tõsiseks ohuks. Ja täiesti asjata. Group-IB eksperdid analüüsisid 2440 nakatunud veebipoe, mille külastajate koguarv on umbes 1,5 miljonit inimest päevas, olid ohus kompromiteerimise tõttu. Ohvrite hulgas on mitte ainult kasutajad, vaid ka veebipoed, maksesüsteemid ja pangad, mis väljastasid kompromiteeritud kaarte.

Aruanne Group-IB on esimesena uurinud tumeda võrgu snifferite turgu, nende infrastruktuuri ja monetiseerimise viise, mis toovad nende loojaile miljoneid dollareid. Oleme tuvastanud 38 snifferi perekonda, millest ainult 12 oli varem teadlastele tuntud.

Vaatame lähemalt nelja snifferi perekonda, mida uurimistöös käsitleti.

Perekond ReactGet

ReactGet perekutmise perede sniffereid kasutatakse pangakaarditeabe varastamiseks veebipoe saitidel. Sniffer suudab töötada paljude erinevate maksesüsteemidega, mida saidil kasutatakse: ühe parameetri väärtus vastab ühele maksesüsteemile, samas kui eraldi tuvastatud snifferite versioonid võivad olla mõeldud kasutajaandmete varastamiseks ning samuti pangakaarditeabe varastamiseks makseformaatidest mitmest maksesüsteemist, olles nii-öelda universaalne sniffer. On leitud, et teatud juhtudel korraldavad ründajad phishing-äktsioone veebipoodide administraatoritele, et saada juurdepääs saidi halduspaneelile.

Selle snifferite rikka kampaania algus leidis aset 2017. aasta mais, rünnaku alla sattusid CMS-i haldamise alla kuuluvad saidid ja platvormid nagu Magento, Bigcommerce, Shopify.

Kuidas ReactGet integreeritakse veebipoe koodiga

Lisaks klassikalisele skripti rakendamise meetodile lingi kaudu, kasutavad ReactGet perekonna sniffers eritehnikat: JavaScript-koodi abil kontrollitakse, kas kasutaja praegune aadress vastab teatud kriteeriumidele. Kahjulik kood käivitatakse ainult siis, kui praeguses URL-is on teatud alamsõne checkout või onestepcheckout, onepage/, out/onepag, checkout/one, ckout/one. Nii et snifferi kood käivitatakse just sel hetkel, kui kasutaja läheb ostude eest maksma ja sisestab makseteabe vormi saidil.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
See sniffer kasutab mittestandartset tehnikat. Ohvri makse- ja isikuandmed kogutakse koos, kodeeritakse kasutades base64, ja seejärel kasutatakse saadud stringi parameetrina rünnakute jaoks saadetava päringu saatmiseks. Tavaliselt jäljendab see rada JavaScript-faili, näiteks resp.js, data.js ja nii edasi, kuid samuti kasutatakse linke pildifailidele, GIF ja JPG. Eristav joon on see, et sniffer loob 1x1 pikslise pildit objekti ja kasutab eelnevalt saadud linki parameetrina. src pildid. See tähendab, et kasutaja jaoks näeb selline päring välja nagu tavalise pildi päring. Sarnast tehnikat kasutati ImageID perekonna snifferite seas. Lisaks kasutatakse 1x1 piksli suuruse pildi tehnikat paljusid seaduslikke veebianalüütika skripte, mis võivad samuti kasutajat eksitada.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides

Versioonide analüüs

Aktiveeritud domeenide analüüs, mida kasutavad ReactGet snifferite operaatorid, võimaldas avastada palju erinevaid versioone selle perekonna snifferitest. Versioonid erinevad obfuskeerimise olemasolu või puudumise poolest ning lisaks on iga sniffer mõeldud konkreetse maksesüsteemi jaoks, mis töötleb krediitkaartide makseid veebipoode jaoks. Muutades parameetrit, mis vastab versiooni numbrile, said Group-IB spetsialistid täiendava nimekirja snifferite saadaval olevatest variatsioonidest ja määrasid maksesüsteemid, millele iga sniffer keskendub, lehe koodi otsitavate vormifildide nimede põhjal.

Snifferite ja vastavate maksesüsteemide nimekiri

Snifferi URLMakse süsteem
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

Paroolide nuusutaja

Üks JavaScript-clientside nuusutajate eelistest on universaalsus: veebilehele sisestatud pahavara suudab varastada mis tahes tüüpi andmeid, sealhulgas makseandmeid ja kasutajakonto logi ning parooli. Group-IB eksperdid avastasid näidise nuusutajast, mis kuulub ReactGet perekonda, mõeldud kasutajate e-posti aadresside ja paroolide varastamiseks.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides

Ristumine nuusutajaga ImageID

Ühe nakatunud poe analüüsi käigus selgus, et selle veebileht on nakatunud kaks korda: peale pahavara koodi nuusutajast, mis kuulub ReactGet perekonda, avastati ka nuusutaja kood, mis kuulub ImageID perekonda. See ristumine võib viidata sellele, et mõlemat nuusutajat kasutavate operaatorite tehnikad pahavara koodi sisestamiseks on sarnased.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides

Universaalne nuusutaja

Ühe ReactGet'i nuhkvara infrastruktuuri kuuluva domeeninime analüüsi käigus selgus, et sama kasutaja on registreerinud kolm muud domeeninime. Need kolm domeeni jäljendasid tegelike veebisaitide domeene ja neid oli varem kasutatud nuhkvara majutamiseks. Kolme legitiimse veebisaidi koodi analüüsimisel leiti tundmatu nuhkvara, mille edasine analüüs näitas, et see on täiustatud versioon ReactGet'i nuhkvarast. Kõik varem jälgitud versioonid sellest perest olid suunatud konkreetsele maksesüsteemile, st iga maksesüsteemi jaoks oli vajalik spetsiaalne nuhkvara versioon. Kuid antud juhul leiti universaalne nuhkvara versioon, mis suudab varastada teavet vormidelt, mis on seotud 15 erineva maksesüsteemi ja ecommerce veebisaitide moodulitega veebimaksete tegemiseks.

Seega alustas nuhkvara oma tööd, otsides põhivormi välju, mis sisaldasid ohvri isiklikku teavet: täisnimi, füüsiline aadress, telefoninumber.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Seejärel otsis sniffija rohkem kui 15 erineva eelduse järgi, mis vastavad erinevatele maksesüsteemidele ja online-makse moodulitele.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Edasi koguti ohvri isikuandmed ja makseinfo kokku ning saadeti kurjategijale kuuluvale veebisaidile: antud juhul leiti kaks versiooni universaalset sniffijat ReactGet, mis asusid kahes erinevas häkitud saidis. Kuid mõlemad versioonid saatsid varastatud andmed ühele ja samale häkitud veebisaidile. zoobashop.com.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Sniffija kasutatud eelduse analüüs, mis otsis väljad, mis sisaldavad ohvri makseinfot, võimaldas tuvastada, et see sniffija eeskuju oli suunatud järgmistele maksesüsteemidele:

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

Milliseid tööriistu kasutatakse makseinformatsiooni varastamiseks

Esimene tööriist, mis avastati ründajate infrastruktuuri analüüsi käigus, serveerib pahavara skriptide varjamiseks, mis vastutavad pangakaartide varastamise eest. Ühel ründajate hostidest leiti bash-skript, mis kasutas projekti CLI-d. javascript-obfuscator koodi obfuskatsiooni automatiseerimiseks nuhkijatele.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Teine leitud tööriist on mõeldud koodi genereerimiseks, mis vastutab peamise nuhkija laadimise eest. See tööriist genereerib JavaScripti koodi, mis kontrollib, kas kasutaja on makselehel, otsides praegusest aadressist stringe checkout, cart ja nii edasi, ja kui tulemus on positiivne, laadib kood peamise nuhkija pahavara serverist. Kahjuliku tegevuse varjamiseks on kõik stringid, sealhulgas testi stringid makselehe määramiseks ja nuhkija link, kodeeritud kasutades base64.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides

Phishing rünnakud

Ründades ründajate võrguinfrastruktuuri analüüs, leiti, et sageli kasutavad kuritegelikud rühmad juurdepääsu saamiseks sihtmärgi veebipoe administraatori paneeli kalastust. Ründajad registreerivad domeeni, mis visuaalselt sarnaneb poe domeeniga, ja seejärel käivitavad nad vale Magento administraatori paneeli sisselogimise vormi. Edu korral saavad ründajad juurdepääsu CMS Magento administraatori paneeli, mis võimaldab neil redigeerida saidi komponente ja paigaldada andmevaraste süsteemi krediitkaartide andmete varastamiseks.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Infrastruktuur

DomeenAvastamise kuupäev
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

G-Analytics perekond

See perekond nuhkijaid kasutatakse klientide krediitkaartide varguseks veebipoodidest. Kõige esimene domeeninimi, mida grupp kasutas, registreeriti 2016. aasta aprillis, mis võib viidata grupi tegevuse algusele 2016. aasta keskel.

Praeguses kampaanias kasutab grupp domeeninimesid, mis imiteerivad reaalseid teenuseid, nagu Google Analytics ja jQuery, maskeerides nuhkijate tegevust legaalsete skriptide ja legaalsetele sarnaste domeeninimede kaudu. Rünnaku alla on sattunud saidid, mis kasutavad CMS Magento-d.

Kuidas G-Analytics integreeritakse veebipoe koodi

Selle perekonna tuntud omadus on mitmesuguste makseteabe vargusmeetodite rakendamine. Peale klassikalise JavaScript-koodi sisestamise kliendi poolele on kuritegelik grupp kasutanud ka koodi sisestamise tehnikat serveripoolsele osale, nimelt PHP-skripte, mis töötlevad kasutaja sisestatud andmeid. See tehnika on ohtlik, kuna see raskendab pahavara avastamist väliste teadlaste poolt. Group-IB spetsialistid avastasid PHP-koodis veebisaidile sisestatud nuhkvara versiooni, mis kasutab väravana domeeni dittm.org.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Samuti leiti varasem nuhkvara versioon, mis kasutas varastatud andmete kogumiseks sama domeeni dittm.org, kuid see versioon on mõeldud juba paigaldamiseks veebipoe kliendi poolele.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Hiljem muutis grupp oma taktikat ja hakkas rohkem tähelepanu pöörama pahatahtliku tegevuse varjamisele ja maskeeringule.

2017. aasta alguses hakkas grupp kasutama domeeni jquery-js.com, mis maskeerib end jQuery CDN-ina: üleminekul kurjategijate veebisaidile suunatakse kasutaja seaduslikule veebisaidile jquery.com.

2018. aasta keskel võttis grupp kasutusele domeeninime g-analytics.com ja hakkas peitma snifferi tegevust legitiimse teenusena, mida pakub Google Analytics.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides

Versioonide analüüs

Domeenide analüüsi käigus, mida kasutati snifferite koodi salvestamiseks, leiti, et saidil on suur hulk versioone, mis erinevad obfuskatsiooni olemasolu ja juurde lisatud koodi puudumise tõttu, mis on lisatud faili tähelepanu kõrvale juhtimiseks ja kahjustava koodi varjamiseks.

Kokku leiti saidilt jquery-js.com kuus snifferite versiooni. Varastatud andmed saadetakse aadressile, mis asub samas saidis nagu sniffer ise: 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

Uuem domeen g-analytics.com, mida grupp on kasutanud rünnakutes 2018. aasta keskpaigast alates, on rohkemate snifferite salvestamiseks. Kokku avastati 16 erinevat snifferi versiooni. Sel juhul on varastatud andmete saatmise värav maskeeritud pildilinki. 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 grupp monetiseerib varastatud andmeid, müües kaarte spetsiaalselt loodud mustas poes, mis pakub teenuseid kaardijõhkratele. Rünnakute jaoks kasutatud domeenide analüüs võimaldas kindlaks teha, et google-analytics.cm oli registreeritud sama kasutaja poolt, kes registreeris domeeni cardz.vc. Domeen cardz.vc on seotud varastatud pangakaartide müügipoodiga Cardsurfs (Flysurfs), mis sai populaarseks juba varajastel aegadel mustal turul AlphaBay kui pangakaartide müügikoht, mis kasutas andmete kogumiseks sniffereid.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Analüüsides domeeni analytic.is, mis asub samal serveril kui domeenid, mida sniffereid kasutasid varastatud andmete kogumiseks, avastas Group-IB spetsialistid faili, mis sisaldas Cookie-stiili logisid, mis näib, et arendaja oli hiljem loobunud. Üks logi kanded sisaldas domeeni iozoz.com, mis oli varem kasutusel ühes sniffereis, mis oli aktiivne 2016. aastal. Eeldatavasti kasutas see domeen enne pahatahtlik isik varastatud kaardid kogumiseks sniffere õppides. See domeen registreeriti e-posti aadressile kts241@gmail.com, mis samuti kasutati domeenide registreerimiseks cardz.su ja cardz.vc, mis on seotud kaardipoega Cardsurfs.

Saadud andmete põhjal võib järeldada, et G-Analyticsi snifferite perekond ja varjatud pangakaartide müügipood Cardsurfs on hallatud samade isikute poolt ning poodi kasutatakse varastatud pangakaartide realiseerimiseks, mis on saadud snifferi abil.

Infrastruktuur

DomeenAvastamise kuupäev
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

Illumi perekond

Illum on snifferite perekond, mida kasutatakse rünnakuteks veebipoodide vastu, mis töötavad CMS Magento all. Lisaks pahavara koodi sisestamisele kasutavad selle snifferi operaatorid ka täielike vale maksevormide sisestamist, mis edastavad andmeid kurjategijate hallatavale väravale.

Võrgu infrastruktuuri analüüsimisel, mida kasutavad selle snifferi operaatorid, on täheldatud suurt hulka pahatahtlikke skripte, ekspluate, vale maksevorme ning kogumit näidiseid konkurentide pahavaraga snifferitest. Lähtudes domeeninimede ilmumise kuupäevade teabest, võib järeldada, et kampaania algas 2016. aasta lõpus.

Kuidas Illum integreeritakse veebipoe koodi

Esimesed tuvastatud snifferi versioonid integreeriti otse kompromiteeritud saidi koodis. Varastatud andmed saadeti aadressile cdn.illum[.]pw/records.php, ukses oli aga kodeeritud kasutades base64.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Hiljem avastati pakendatud snifferi versioon, mis kasutas teist uksesid — records.nstatistics[.]com/records.php.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Vastavalt aruande Willem de Groot, sama hosti kasutati snifferis, mis oli integreeritud kaubanduse veebisaidile, mis kuulub Saksamaa poliitilisele parteile CSU.

Kurjategijate saidi analüüs

Group-IB spetsialistid avastasid ja analüüsisid saidi, mida kasutab see kuritegevusgrupp tööriistade ja varastatud teabe kogumiseks.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Ründavad tööriistad, mida leidus kurjategijate serveris, sisaldasid Linuxi OS-i privileegide tõstmise skripte ja ekspluiteerimisi: näiteks Linuxi Privilege Escalation Check Script, mille on koostanud Mike Czumak, ning eksploiteerimine CVE-2009-1185.

Otseselt rünnakuteks veebipoodidele kasutasid kurjategijad kahte eksploiteerimist: esimene suudab sisestada pahatahtlikku koodi core_config_data kasutades CVE-2016-4010 ekspluateerimist, teine eksploiteerib RCE-tüüpi haavatavust CMS Magento pluginates, võimaldades täita suvalist koodi haavataval veebiserveris.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Samuti avastati serveri analüüsi käigus erinevad nuhkijate ja vale maksevormide malli, mida kurjategijad kasutasid rünnatud veebilehtede makseandmete kogumiseks. Nagu näha allolevast loendist, loodi mõned skriptid iga rünnatud veebilehe jaoks individuaalselt, samas kui teatud CMS-ide ja makseportaalide jaoks kasutati universaalseid lahendusi. Näiteks skriptid segapay_standart.js ja segapay_onpage.js on mõeldud sisestamiseks veebilehtedele, mis kasutavad makseportaalina Sage Pay.

Skriptide nimekiri erinevate makseportaalide jaoks

SkriptMakseportaal
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=

Host paymentnow[.]tk, kasutatud sissesõiduna skriptis payment_forminsite.js, avastati kui subjectAltName mitmes sertifikaadis, mis puudutavad CloudFlare'i teenust. Lisaks sellele oli hostis skript evil.js. Skripti nime kohaselt võis see olla kasutatud CVE-2016-4010 ärakasutamiseks, mis võimaldab sisestada pahavara saidi CMS Magento jalusesse. Sissesõiduna kasutas see skript hosti request.requestnet[.]tk, mis kasutab sama sertifikaati nagu host paymentnow[.]tk.

Vale maksevormid

Allpool näidatud kujundis on näide kaarditeabe sisestamise vormist. Seda vormi kasutati veebipoe saidile sissetoomiseks ja kaartide andmete varguseks.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Järgmise kujundina on näide vale PayPali maksevormist, mida kurjategijad kasutasid selle makseviisi saitidel sissetoomiseks.
Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Infrastruktuur

DomeenAvastamise kuupäev
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

CoffeMokko perekond

CoffeMokko snifferite perekond, mis on mõeldud kasutajate pangakaartide vargusteks veebipoodidest, on olnud aktiivne vähemalt 2017. aasta maist. Eeldatavasti on selle snifferite perekonna operaatoriteks kuritegelik grupp Group 1, keda RiskIQ spetsialistid kirjeldasid 2016. aastal. Rünnakute ohvriks on langenud selliste CMS-ide hallatavad saidid nagu Magento, OpenCart, WordPress, osCommerce, Shopify.

Kuidas CoffeMokko integreerub veebipoe koodi

Selle perekonna operaatorid loovad iga nakatumise jaoks unikaalsed sniffereid: snifferi fail asub kurjategijate serveris. src või js Snifferi koodis on kõvasti kodeeritud vormi väli nimed, mille andmeid on vaja varastada. Samuti kontrollib sniffer, kas kasutaja on makselekke lehel, võrreldes võtmesõnade loetelu praeguse saidi aadressiga.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Koodis on kindlaks määratud, millised vormi väljad tuleb andmete varastamiseks sihtida. Lisaks kontrollib sniffer, kas kasutaja on maksehetkel, võrreldes võtmesõna nimekirja praeguse URL-iga.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Mõned leitud nuhkimistöötlusarvutid olid varjatud ja sisaldasid krüpteeritud stringi, kus hoiti põhivara massiivi: just seal olid erinevate maksesüsteemide vormide väljade nimed, samuti värav, kuhu tuleb varastatud andmed saata.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Varastatud makseinfo saadeti ründajate serveri skriptile teel /savePayment/index.php или /tr/index.php. Eeldatakse, et see skript teenib andmete saatmist väravast põhiserverisse, mis konsolideerib kõigi nuhkimisseadmete andmeid. Edastatavate andmete varjamiseks krüpteeritakse kogu ohvri makseinfo base64, ning seejärel toimub mitu sümbolite vahetust:

  • sümbol «e» asendatakse «:»
  • sümbol «w» asendatakse «+»
  • sümbol «o» asendatakse «%»
  • sümbol «d» asendatakse «#»
  • sümbol «a» asendatakse «-»
  • sümbol «7» asendatakse «^»
  • sümbol «h» asendatakse «_»
  • sümbol «T» asendatakse «@»
  • sümbol «0» asendatakse «/»
  • sümbol «Y» asendatakse «*»

Asenduste tulemusena, mille käigus kasutatakse base64 andmeid ei saa dekrüpteerida, kui ei tehta vastupidist muundamist.

See how a non-obfuscated sniffer code fragment looks:

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides

Infrastruktuuri analüüs

Varasemates kampaanustes registreerisid kurjategijad domeeninimesid, mis sarnanesid seaduslike veebipoodide domeenidega. Nende domeen võis seaduslikust olla erinev vaid ühe tähe või mõne muu TLD-ga. Registreeritud domeene kasutati snifferi koodi hoidmiseks, mille link süstiti poe koodisse.

Selle rühma kasutatud domeeninimed meenutasid ka populaarsed jQuery pluginate nimesid (slickjs[.]org pluginat kasutavatele saitidele slick.js), makseväravate (sagecdn[.]org maksesüsteemi Sage Pay kasutavatele saitidele).

Hiljem hakkas rühm looma domeene, mille nimed ei olnud seotud ei poe domeeni ega poe temaatikaga.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Iga domeeni vastas sait, millelle loodi kataloog /js või /src. Selles kataloogis hoiti snifferite skripte: üks sniffer iga uue nakatumise kohta. Sniffer süstiti saidi koodisse otselingi kaudu, kuid harvadel juhtudel muutsid kurjategijad ühe saidi failidest ja lisasid sellele pahatahtlikku koodi.

Koodi analüüs

Esimene obfuskeermisalgrüüt

Mõnes selle perekonna nuhkijate avastatud näidises oli kood obfutseeritud ja sisaldas nuhkija tööks vajalikke krüpteeritud andmeid: sealhulgas nuhkija värava aadress, maksevormi väljade loetelu ning mõnel juhul vale maksevormi kood. Funktsiooni sees oli kood ressursside krüpteeritud kasutades XOR võtmega, mis anti selle sama funktsiooni argumendina.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Dekrüpteerides vastava võtmega, mis on iga näidise jaoks ainulaadne, saab kätte stringi, mis sisaldab kõiki nuhkija koodist stringe eraldustähega.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides

Teine obfuskeermisalgrüüt

Hiljem avastatud nuhkijate näidistes kasutati teist obfutseerimismehhanismi: sel juhul olid andmed krüpteeritud käsitsi kirjutatud algoritmi abil. String, mis sisaldas nuhkija tööks vajalikke krüpteeritud andmeid, edastati dekrüpteerimisfunktsiooni argumendina.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Brauseri konsooli abil on võimalik dekrüpteerida krüpteeritud andmed ja saada massiiv, mis sisaldab nuhkija ressursse.

Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides

Seos varasemate MageCart rünnakutega

Ühe domeeni analüüsi käigus, mida grupp kasutas varastatud andmete kogumiseks, avastati, et sellel domeenil on välja arendatud krediitkaartide varguse infrastruktuur, mis on identne sellega, mida kasutas Group 1 — üks esimesi gruppe, leitud RiskIQ spetsialistide poolt.

CoffeMokko nuhkijate peres oli tuvastatud kaks faili:

  • mage.js — fail, mis sisaldab Group 1 nuhkija koodi, mille värav on js-cdn.link
  • mag.php — PHP-skripti, mis vastutab nuhkija poolt varastatud andmete kogumise eest

Содержимое файла mage.js Neli JavaScripti nuhkijat, mis jälgivad teid veebipoodides
Samuti selgus, et grupi, kes seisab CoffeMokko nuhkijate taga, varased domeenid registreeriti 17. mail 2017:

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

Nende domeenide nimede formaat vastab Group 1 domeeninimedele, mida kasutati 2016. aasta rünnakutes.

Tuvastatud faktide põhjal võib järeldada, et CoffeMokko nuhkide operaatorite ja kuritegeliku grupi Group 1 vahel on seos. Eeldatavasti on CoffeMokko operaatorid võtnud oma eelkäijatelt laenuks tööriistad ja tarkvara kaartide varastamiseks. Kuid tõenäolisem on, et CoffeMokko pereliigi nuhkide kasutamise taga on samad inimesed, kes viisid läbi rünnakud Group 1 tegevuse raames. Pärast kuritegeliku grupi tegevuse esimest aruannet blokeeriti kõik nende domeenide nimed ning tööriistu uuriti ja kirjeldati põhjalikult. Grupp pidi võtma pausi, et täiustada oma siseseid tööriistu ja ümber kirjutada nuhkide koodi, et jätkata rünnakuid ja jääda märkamatuks.

Infrastruktuur

DomeenAvastamise kuupäev
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

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster