
Practikisht çdo nga ne përdor shërbimet e dyqaneve online, dhe kjo do të thotë se, herë pas here, rrezikojmë të bëhemi viktimë e JavaScript sniffers - një kod special, që ata që kryejnë krime e fusin në uebfaqe për të vjedhur të dhënat e kartave bankare, adresat, emrat e përdoruesve dhe fjalëkalimet.
Prej sniffers kanë pësuar pothuajse 400,000 përdorues të faqes dhe aplikacionit celular të kompanisë ajrore British Airways, si dhe vizitorët e faqes britanike të gjigantit sportiv FILA dhe distributorit amerikan të bileta Ticketmaster. PayPal, Chase Paymenttech, USAePay, Moneris - këto dhe shumë sisteme të tjera pagesë janë infektuar.
Analisti i Threat Intelligence Group-IB, Viktor Okorokov, flet për mënyrën se si sniffers infiltrohen në kodin e faqes dhe vjedhin informacionin për pagesat, si dhe për cilat CRM ata sulmojnë.

«Kërcënimi i fshehtë»
Doli që për një kohë të gjatë JavaScript sniffers ishin jashtë vëmendjes së analistëve të antivirusëve, dhe bankat dhe sistemet e pagesave nuk e konsideronin atë një kërcënim serioz. Dhe krejtësisht kot. Ekspertët e Group-IB 2540 dyqane online të infektuara, vizitorët e të cilave - gjithsej rreth 1.5 milion njerëz në ditë - ishin të rrezikuar për komprometim. Në mesin e të prekurve ishin jo vetëm përdoruesit, por edhe dyqanet online, sistemet e pagesave dhe bankat që kishin lëshuar karta të komprometuara.
Group-IB ishte studimi i parë i tregut të errët të sniffers, infrastrukturës së tyre dhe mënyrave të monetizimit, që u sjellin krijuesve të tyre miliona dollarë. Ne identifikuam 38 familje sniffers, nga të cilat vetëm 12 ishin njohur më parë nga hulumtuesit.
Le të ndalemi në detaje në katër familje sniffers, të studiuara gjatë hulumtimit.
Familja ReactGet
SnifferĂ«t e familjes ReactGet pĂ«rdoren pĂ«r tĂ« vjedhur tĂ« dhĂ«nat e kartave bankare nĂ« faqet e dyqaneve online. NjĂ« sniffer mund tĂ« funksionojĂ« me njĂ« numĂ«r tĂ« madh sistemesh pagesash tĂ« ndryshme qĂ« pĂ«rdoren nĂ« site: njĂ« vlerĂ« parametri i korrespondon njĂ« sistemi pagese, ndĂ«rsa versionet e veçanta tĂ« zbuluara tĂ« snifferit mund tĂ« pĂ«rdoren pĂ«r tĂ« vjedhur kredencialet, si dhe pĂ«r tĂ« vjedhur tĂ« dhĂ«nat e kartave bankare nga format e pagesave tĂ« disa sistemeve tĂ« pagesave, si njĂ« sniffer universal. ĂshtĂ« konstatuar se nĂ« disa raste, sulmuesit kryejnĂ« sulme phishing ndaj administratorĂ«ve tĂ« dyqaneve online pĂ«r tĂ« fituar akses nĂ« panelin administrativ tĂ« faqes.
Kampanja që përdor këtë familje snifferësh filloi në maj 2017, duke sulmuar faqet të menaxhuara nga CMS dhe platforma Magento, Bigcommerce, Shopify.
Si ReactGet integrohet në kodin e dyqanit online
Përveç integrimit "klasik" të skenarit përmes një linku, operatorët e snifferëve të familjes ReactGet përdorin një teknikë të veçantë: përmes kodit JavaScript kontrollohet nëse adresa aktuale, ku ndodhet përdoruesi, përputhet me kritere të caktuara. Kodi keqdashës do të ekzekutohet vetëm nëse në URL-në aktuale ka një nënstringë checkout ose onestepcheckout, onepage/, out/onepag, checkout/one, ckout/one. Kështu, kodi i snifferit do të ekzekutohet pikërisht në momentin kur përdoruesi kalon në pagesën e blerjeve dhe fut informacionin e pagesës në formën në faqe.

Ky sniffer përdor një teknikë jo standarde. Të dhënat e pagesës dhe personale të viktimës mblidhen së bashku, kodifikohen përmes base64, dhe pastaj stringu i marrë përdoret si një parametër për të dërguar një kërkesë në faqen e sulmuesve. Shpesh, rruga deri te gateway imiton një skedar JavaScript, p.sh. resp.js, data.js e shumë më tepër, por gjithashtu përdoren lidhje në skedarë imazhesh, GIF dhe JPG. Karakteristika është se snifferi krijon një objekt imazhi me madhësi 1 me 1 piksel dhe përdor lidhjen e marrë më parë si një parametër. src Imazhet. Kjo do të thotë që për përdoruesin, një kërkesë e tillë në trafik do të duket si kërkesë për një imazh normal. Një teknikë e ngjashme është përdorur në snifferat e familjes ImageID. Për më tepër, teknika që përdor një imazh me madhësi 1 me 1 piksel aplikohet në shumë skripta legjitime të analitikës online, e cila gjithashtu mund ta gënjejë përdoruesin.

Analiza e Versioneve
Analiza e domain-eve aktive që përdoren nga operatoret e snifferave ReactGet, ka lejuar zbuluar shumë versione të ndryshme të snifferave të kësaj familjeje. Versionet ndryshojnë për prani ose mungesë obfuscation-i, dhe për më tepër, çdo sniffer është i destinuar për një sistem të caktuar pagesash që përpunon pagesat për kartat bankare për dyqanet online. Duke kaluar nëpër vlerën e parametrave që korrespondon me numrin e versionit, specialistët e Group-IB morën një listë të plotë të variacioneve të disponueshme të snifferave, dhe nga emrat e fushave të formave që çdo sniffer kërkonte në kodin e faqes, përcaktuan sistemet e pagesave për të cilat snifferi është orientuar.
Lista e snifferave dhe sistemet përkatëse të pagesave
| URL e snifferit | Sistemi i pagesave |
|---|---|
| Authorize.Net | |
| Cardsave | |
| Authorize.Net | |
| Authorize.Net | |
| eWAY Rapid | |
| Authorize.Net | |
| Adyen | |
| USAePay | |
| Authorize.Net | |
| USAePay | |
| Authorize.Net | |
| Moneris | |
| USAePay | |
| PayPal | |
| Sage Pay | |
| Verisign | |
| PayPal | |
| Stripe | |
| Realex | |
| PayPal | |
| LinkPoint | |
| PayPal | |
| PayPal | |
| DataCash | |
| PayPal | |
| Authorize.Net | |
| Authorize.Net | |
| Authorize.Net | |
| Authorize.Net | |
| Verisign | |
| Authorize.Net | |
| Moneris | |
| Sage Pay | |
| USAePay | |
| Authorize.Net | |
| Authorize.Net | |
| ANZ eGate | |
| Authorize.Net | |
| Moneris | |
| Sage Pay | |
| Sage Pay | |
| Chase Paymentech | |
| Authorize.Net | |
| Adyen | |
| PsiGate | |
| CyberSource | |
| ANZ eGate | |
| Realex | |
| USAePay | |
| Authorize.Net | |
| Authorize.Net | |
| ANZ eGate | |
| PayPal | |
| PayPal | |
| Realex | |
| Sage Pay | |
| PayPal | |
| Verisign | |
| Authorize.Net | |
| Verisign | |
| Authorize.Net | |
| ANZ eGate | |
| PayPal | |
| CyberSource | |
| Authorize.Net | |
| Sage Pay | |
| Realex | |
| CyberSource | |
| PayPal | |
| PayPal | |
| PayPal | |
| Verisign | |
| eWAY Rapid | |
| Sage Pay | |
| Sage Pay | |
| Verisign | |
| Authorize.Net | |
| Authorize.Net | |
| First Data Global Gateway | |
| Authorize.Net | |
| Authorize.Net | |
| Moneris | |
| Authorize.Net | |
| PayPal | |
| Verisign | |
| USAePay | |
| USAePay | |
| Authorize.Net | |
| Verisign | |
| PayPal | |
| Authorize.Net | |
| Stripe | |
| Authorize.Net | |
| eWAY Rapid | |
| Sage Pay | |
| Authorize.Net | |
| Braintree | |
| Braintree | |
| PayPal | |
| Sage Pay | |
| Sage Pay | |
| Authorize.Net | |
| PayPal | |
| Authorize.Net | |
| Verisign | |
| PayPal | |
| Authorize.Net | |
| Stripe | |
| Authorize.Net | |
| eWAY Rapid | |
| Sage Pay | |
| Authorize.Net | |
| Braintree | |
| PayPal | |
| Sage Pay | |
| Sage Pay | |
| Authorize.Net | |
| PayPal | |
| Authorize.Net | |
| Verisign | |
| Authorize.Net | |
| Authorize.Net | |
| Authorize.Net | |
| Authorize.Net | |
| Sage Pay | |
| Sage Pay | |
| Westpac PayWay | |
| PayFort | |
| PayPal | |
| Authorize.Net | |
| Stripe | |
| First Data Global Gateway | |
| PsiGate | |
| Authorize.Net | |
| Authorize.Net | |
| Moneris | |
| Authorize.Net | |
| Sage Pay | |
| Verisign | |
| Moneris | |
| PayPal | |
| LinkPoint | |
| Westpac PayWay | |
| Authorize.Net | |
| Moneris | |
| PayPal | |
| Adyen | |
| PayPal | |
| Authorize.Net | |
| USAePay | |
| EBizCharge | |
| Authorize.Net | |
| Verisign | |
| Verisign | |
| Authorize.Net | |
| PayPal | |
| Moneris | |
| Authorize.Net | |
| PayPal | |
| PayPal | |
| Westpac PayWay | |
| Authorize.Net | |
| Authorize.Net | |
| Sage Pay | |
| Verisign | |
| Authorize.Net | |
| PayPal | |
| PayFort | |
| CyberSource | |
| PayPal Payflow Pro | |
| Authorize.Net | |
| Authorize.Net | |
| Verisign | |
| Authorize.Net | |
| Authorize.Net | |
| Sage Pay | |
| Authorize.Net | |
| Stripe | |
| Authorize.Net | |
| Authorize.Net | |
| Verisign | |
| PayPal | |
| Authorize.Net | |
| Authorize.Net | |
| Sage Pay | |
| Authorize.Net | |
| Authorize.Net | |
| PayPal | |
| Flint | |
| PayPal | |
| Sage Pay | |
| Verisign | |
| Authorize.Net | |
| Authorize.Net | |
| Stripe | |
| Fat Zebra | |
| Sage Pay | |
| Authorize.Net | |
| First Data Global Gateway | |
| Authorize.Net | |
| eWAY Rapid | |
| Adyen | |
| PayPal | |
| Shërbimet Merchant të QuickBooks | |
| Verisign | |
| Sage Pay | |
| Verisign | |
| Authorize.Net | |
| Authorize.Net | |
| Sage Pay | |
| Authorize.Net | |
| eWAY Rapid | |
| Authorize.Net | |
| ANZ eGate | |
| PayPal | |
| CyberSource | |
| Authorize.Net | |
| Sage Pay | |
| Realex | |
| CyberSource | |
| PayPal | |
| PayPal | |
| PayPal | |
| Verisign | |
| eWAY Rapid | |
| Sage Pay | |
| Sage Pay | |
| Verisign | |
| Authorize.Net | |
| Authorize.Net | |
| First Data Global Gateway | |
| Authorize.Net | |
| Authorize.Net | |
| Moneris | |
| Authorize.Net | |
| PayPal |
Snifferi i fjalëkalimeve
Një nga avantazhet e snifferave JavaScript, që funksionojnë në anën e klientit të faqes, është universalisht: kodi keqësues i instaluar në faqen e internetit është në gjendje të grabitë të dhëna të çdo lloji, ose është informacioni i pagesës ose identiteti dhe fjalëkalimi i llogarisë së përdoruesit. Specialistët e Group-IB zbuluan një shembull snifferi që i përket familjes ReactGet, i destinuar për të vjedhur adresat e email-it dhe fjalëkalimet e përdoruesve të faqes.

Kryqëzimi me snifferin ImageID
Gjatë analizës së një nga dyqaneve të infektuara, u konstatua se faqja e tij ishte infektuar dy herë: përveç kodit keqësues të snifferit të familjes ReactGet, iu gjet edhe kodi i snifferit të familjes ImageID. Kjo kryqëzim mund të jetë një dëshmi se operatorët që qëndrojnë pas përdorimit të të dy snifferave, përdorin teknika të ngjashme për të instaluar kodin keqësues.

Sniffer universale
Gjatë analizës së njërit nga emrat e domenit që i përket infrastrukturës së snifferëve ReactGet, u përcaktua se i njëjti përdorues kishte regjistruar tre emra të tjerë të domenit. Këto tre domain ishin imituar pas domain-eve të vërtetë dhe ishin përdorur më parë për të hostuar snifferë. Gjatë analizës së kodit të tre faqeve legjitime, u gjend një sniffer i panjohur dhe analiza e mëtejshme tregoi se ishte një version i avancuar i sniffer-it ReactGet. Të gjitha versionet e mëparshme të ndjekura të kësaj familjeje të snifferëve ishin targeting një sistem të veçantë pagese, pra për çdo sistem pagese nevojitej një version i veçantë sniffer-i. Sidoqoftë, në këtë rast u zbulua një version universal sniffer-i i aftë për të vjedhur informacion nga format që i përkasin 15 sistemeve të ndryshme pagese dhe moduleve të faqeve ecommerce për kryerjen e pagesave online.
Kështu, në fillim të funksionimit, sniffer-i kryente një kërkim për fushat bazë të formatit që përmbanin informacionin personal të viktimës: emrin e plotë, adresën fizike, numrin e telefonit.

Pastaj, sniffer-i kryente kërkimin në më shumë se 15 prefikse të ndryshme që correspondonin me sisteme të ndryshme pagese dhe module për pagesat online.

Më pas, të dhënat personale të viktimës dhe informacioni mbi pagesën u grumbulluan dhe u dërguan në sitin e kontrolluar nga sulmuesi: në këtë rast të veçantë u gjetën dy versione universale të sniffer-it ReactGet, të vendosura në dy faqe të ndryshme të hakuara. Sidoqoftë, të dy versionet dërguan të dhënat e vjedhura në të njëjtin sit të hakuar. zoobashop.com.

Analiza e prefikseve që u përdorën nga sniffer-i për të kërkuar fushat që përmbanin informacionin mbi pagesat e viktimës lejoj zbulimin se ky mostër sniffer-i kishte si qëllim sistemet e pagesave në vazhdim:
- Authorize.Net
- Verisign
- First Data
- USAePay
- Stripe
- PayPal
- ANZ eGate
- Braintree
- DataCash (MasterCard)
- Realex Payments
- PsiGate
- Heartland Payment Systems
Cilat janë mjetet e përdorura për vjedhjen e informacionit të pagesave
Mjeti i parë që u zbulua gjatë analizës së infrastrukturës së sulmuesve shërben për obfuscation të skriptit të dëmshëm që është përgjegjës për vjedhjen e kartave bankare. Në një nga hostet e sulmuesve, u zbulua një skript bash, që përdorte CLI të projektit për automatizimin e obfuscation të kodit të snifferëve.
![]()
Instrumenti i dytë i zbuluar është i destinuar për të gjeneruar kodin që është përgjegjës për ngarkimin e sniffer-it kryesor. Ky instrument gjeneron kodin JavaScript, i cili kontrollon nëse përdoruesi është në faqen e pagesës, duke kërkuar në adresën aktuale të përdoruesit string checkout, cart dhe kështu me radhë, dhe nëse rezultati është pozitiv, kodi ngarkon sniffer-in kryesor nga serverët e autorëve të krimit. Për të fshehur aktivitetet e dëmshme, të gjitha string-et, duke përfshirë ato provuese për të përcaktuar faqen e pagesës, si dhe lidhjen për sniffer-in, janë koduar duke përdorur base64.

Sulmet Phishing
Gjatë analizës së infrastrukturës rrjetore të sulmuesve, u zbulua se shpeshherë për të fituar akses në panelin administrativ të dyqanit online të targetuar, grupi kriminal përdor phishing. Sulmuesit regjistrojnë një domain që duket vizualisht si domaini i dyqanit dhe pastaj krijojnë në të një formë të rremë për hyrjen në panelin administrativ të Magento. Në rast suksesi, sulmuesit do të kenë akses në panelin administrativ të CMS Magento, gjë që u jep atyre mundësinë të modifikojnë komponentët e faqes dhe të implementojnë një sniffer për të vjedhur të dhënat e kartave të kreditit.

Infrastruktura
| Domaini | Data e zbulesës/aparencës |
|---|---|
| mediapack.info | 04.05.2017 |
| adsgetapi.com | 15.06.2017 |
| simcounter.com | 14.08.2017 |
| mageanalytics.com | 22.12.2017 |
| maxstatics.com | 16.01.2018 |
| reactjsapi.com | 19.01.2018 |
| mxcounter.com | 02.02.2018 |
| apitstatus.com | 01.03.2018 |
| orderracker.com | 20.04.2018 |
| tagstracking.com | 25.06.2018 |
| adsapigate.com | 12.07.2018 |
| trust-tracker.com | 15.07.2018 |
| fbstatspartner.com | 02.10.2018 |
| billgetstatus.com | 12.10.2018 |
| 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 |
Familja G-Analytics
Kjo familje sniffer-ash përdoret për të vjedhur kartat e klientëve të dyqaneve online. Emri i parë i domain-it, i përdorur nga grupi, u regjistrua në prill 2016, gjë që mund të tregojë për fillimin e aktiviteteve të grupit në mes të vitit 2016.
Në këtë fushatë, grupi përdor emra domain-i që imitojnë shërbime reale, si Google Analytics dhe jQuery, duke maskuar aktivitetin e sniffer-eve me skriptet legjitime dhe emrat e domain-eve që duken si legjitim. Sulmeve u janë nënshtruar faqet që punojnë nën menaxhimin e CMS Magento.
Si G-Analytics implementohet në kodin e dyqanit online
Karakteristika kryesore e kësaj familjeje është përdorimi i mënyrave të ndryshme për të vjedhur informacionin e pagesave të përdoruesve. Përveç implikimit klasik të kodit JavaScript në pjesën klienti të faqes, grupi kriminal gjithashtu përdori teknikën e injektimit të kodit në pjesën server të faqes, konkretisht skriptet PHP që procesojnë të dhënat e futur nga përdoruesit. Kjo teknikë është e rrezikshme, sepse e vështirëson zbulimin e kodit të dëmshëm nga kërkuesit e jashtëm. Specialistët e Group-IB zbuluan një version të sniffer-it të injektuar në kodin PHP të faqes, duke përdorur si portë domenin dittm.org.

Po ashtu, u zbulua një version i hershëm i sniffer-it që përdorte për mbledhjen e të dhënave të vjedhura të njëjtin domen dittm.org, por ky version ishte tashmë për t'u instaluar në anën e klientit të dyqanit online.

Më vonë, grupi ndryshoi taktikat dhe filloi t'i kushtonte më shumë vëmendje fshehjes së aktivitetit të dëmshëm dhe maskimit.
Në fillim të vitit 2017, grupi filloi të përdorë domenin jquery-js.com, i cili maskohet si CDN për jQuery: kur përdoruesi kalon në faqen e sulmuesve, të drejtohet në një faqe legjitime jquery.com.
Dhe në mes të vitit 2018, grupi mori në përdorim emrin e domenit g-analytics.com dhe filloi të maskonte aktivitetin e sniffer-it si një shërbim legjitim të Google Analytics.


Analiza e Versioneve
Gjatë analizës së domain-eve të përdorura për ruajtjen e kodit të snifferëve, u zbulua se në faqen e internetit ndodheshin shumë versione, të cilat ndryshonin për nga prezenca e obfuskimit, si dhe nga prania ose mungesa e kodit të papërshkueshëm të vendosur në skedar për të tërhequr vëmendjen dhe fshehjen e kodit të dëmshëm.
Në tërësi, në faqen e internetit jquery-js.com u identifikuan gjashtë versionet e snifferëve. Të dhënat e vjedhura nga këta sniffer dërgohen në një adresë që ndodhet në të njëjtin site si vetë sniffer-i: 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
Domeni mĂ« tĂ« vonshĂ«m g-analytics.com, i pĂ«rdorur nga grupi nĂ« sulme qĂ« nga mesnata e vitit 2018, shĂ«rben si depo pĂ«r njĂ« numĂ«r mĂ« tĂ« madh tĂ« snifferĂ«ve. NĂ« total u zbulua 16 versione tĂ« ndryshme tĂ« sniffer-it. NĂ« kĂ«tĂ« rast, porti pĂ«r dĂ«rgimin e tĂ« dhĂ«nave tĂ« vjedhura ishte i maskuar si njĂ« lidhje pĂ«r njĂ« imazh formati 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
Monetizimi i të dhënave të vjedhura
Grupi kriminal monetizon të dhënat e vjedhura duke shitur kartat përmes një dyqani të krijuar veçmas, duke ofruar shërbime për carder-at. Analiza e domain-eve të përdorura nga sulmuesit bëri të mundur përcaktimin se google-analytics.cm u regjistrua nga i njëjti përdorues si domeni cardz.vc. Domeni cardz.vc i referohet dyqanit që shet karta bankare të vjedhura Cardsurfs (Flysurfs), i cili fitoi popullaritet edhe në kohën e aktiviteteve të tregtisë nëntokësore AlphaBay si një dyqan për shitjen e kartave bankare, të vjedhura me anë të sniffer-it.

Duke analizuar domenin analytic.is, i cili ndodhet në të njëjtin server si domenet që përdoren nga sniffer-at për të mbledhur të dhëna të vjedhura, specialistët e Group-IB zbuluan një skedar që përmban logjet e Cookie-stiller-it, i cili duket se ishte braktisur më vonë nga zhvilluesi. Një prej regjistrimeve në log përmbante domenin iozoz.com, i cili më parë ishte përdorur në një nga sniffer-at aktivë në vitin 2016. Supozohet se ky domen është përdorur më parë nga keqbërësi për të mbledhur kartat e vjedhura me anë të sniffer-it. Ky domen u regjistrua në adresën e email-it kts241@gmail.com, i cili gjithashtu u përdor për regjistrimin e domenëve cardz.su dhe cardz.vc, që i përkasin dyqanit të kartave Cardsurfs.
Duke u bazuar në të dhënat e marra, mund të supozohet se familja e sniffer-eve G-Analytics dhe dyqani nëntokësor për shitjen e kartave bankare Cardsurfs menaxhohen nga të njëjtit njerëz, dhe dyqani përdoret për realizimin e kartave bankare të vjedhura me anë të sniffer-it.
Infrastruktura
| Domaini | Data e zbulesës/aparencës |
|---|---|
| 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 |
| analytic.to | 04.12.2018 |
| google-analytics.to | 06.12.2018 |
| google-analytics.cm | 28.12.2018 |
| analytic.is | 28.12.2018 |
| googlc-analytics.cm | 17.01.2019 |
Familja Illum
Illum është një familje sniffer-ash që përdoret për sulme ndaj dyqaneve online që funksionojnë nën menaxhimin e CMS Magento. Përveç përfshirjes së kodit të keqs, operatorët e këtij sniffer-i gjithashtu përdorin përfshirje të formave të pagesës të falsifikuara që dërgojnë të dhënat në portat e kontrolluara nga keqbërësit.
Gjithashtu, gjatë analizës së infrastrukturës rrjetore që përdorin operatorët e këtij sniffer-i, u vërejt një volum të madh skriptesh të dëmshme, eksploitash, formash të rreme pagesash, si dhe një koleksion shembujsh nga sniffer-at konkurrues. Duke u bazuar në informacionin mbi datat e shfaqjes së emrave të domenëve të përdorur nga grupi, mund të supozohet se fillimi i fushatës është në fund të vitit 2016.
Si Illum përfshihet në kodin e dyqanit online
Versionet e para të zbuluara të sniffer-it u përfshinë drejtpërdrejt në kodin e sitit të komprometuar. Të dhënat e vjedhura u dërguan në adresën cdn.illum[.]pw/records.php, gjeti i koduar me anë të base64.

MĂ« vonĂ« u zbulua njĂ« version i paketuar i sniffer-it, qĂ« pĂ«rdorte njĂ« gateway tjetĂ«r â records.nstatistics[.]com/records.php.

Sipas Willem de Groot, po ai host u përdor në sniffer-in, që u infiltrua në , pronë e partisë politike gjermane CSU.
Analiza e faqes së kriminelëve
Specialistët e Group-IB zbuluan dhe analizuan faqen e web-it, që kjo grupi kriminal përdorte për të mbajtur veglat dhe për të grumbulluar informacionin e vjedhur.

Ndër veglat e zbuluara në serverin e kriminelëve, u gjetën skriptet dhe exploit të përmirësimit të privilegjeve në OS-në Linux: për shembull, Skripti i Kontrolit të Rritjes së Privilegjeve në Linux, i zhvilluar nga Mike Czumak, si dhe një exploit për CVE-2009-1185.
Për sulmet në dyqanet online, kriminelët përdorën dy exploite: është në gjendje të integrojë kod të dëmshëm në core_config_data nëpërmjet shfrytëzimit të CVE-2016-4010, shfrytëzon një vulnerabilitet RCE në plugin-ët e CMS Magento, duke lejuar ekzekutimin e kodit të qëllimshëm në serverin web të prekur.

Po ashtu, gjatë analizës së serverit u gjetën mostra të ndryshme të sniffer-ëve dhe formularëve të falsifikuar të pagesave, që përdorën kriminelët për të mbledhur informacionin bankar nga faqet e komprometuar. Siç mund të shihni nga lista më poshtë, disa skripte u krijuan individualisht për çdo faqe të komprometuar, ndërsa për disa CMS dhe portofola paguese u përdor një zgjidhje universale. Për shembull, skripetet segapay_standart.js dhe segapay_onpage.js janë të destinuara për të u integruar në faqet që përdorin portofolin e pagesave Sage Pay.
Lista e skripteve për portofola të ndryshëm paguese
| Script | Portofoli i pagesave |
|---|---|
| [.]pw/mjs_special/visiondirect.co.uk.js | //request.payrightnow[.]cf/checkpayment.php |
| [.]pw/mjs_special/topdierenshop.nl.js | //request.payrightnow[.]cf/alldata.php |
| [.]pw/mjs_special/tiendalenovo.es.js | //request.payrightnow[.]cf/alldata.php |
| [.]pw/mjs_special/pro-bolt.com.js | //request.payrightnow[.]cf/alldata.php |
| [.]pw/mjs_special/plae.co.js | //request.payrightnow[.]cf/alldata.php |
| [.]pw/mjs_special/ottolenghi.co.uk.js | //request.payrightnow[.]cf/alldata.php |
| [.]pw/mjs_special/oldtimecandy.com.js | //request.payrightnow[.]cf/checkpayment.php |
| [.]pw/mjs_special/mylook.ee.js | //cdn.illum[.]pw/records.php |
| [.]pw/mjs_special/luluandsky.com.js | //request.payrightnow[.]cf/checkpayment.php |
| [.]pw/mjs_special/julep.com.js | //cdn.illum[.]pw/records.php |
| [.]pw/mjs_special/gymcompany.es.js | //request.payrightnow[.]cf/alldata.php |
| [.]pw/mjs_special/grotekadoshop.nl.js | //request.payrightnow[.]cf/alldata.php |
| [.]pw/mjs_special/fushi.co.uk.js | //request.payrightnow[.]cf/checkpayment.php |
| [.]pw/mjs_special/fareastflora.com.js | //request.payrightnow[.]cf/checkpayment.php |
| [.]pw/mjs_special/compuindia.com.js | //request.payrightnow[.]cf/alldata.php |
| [.]pw/mjs/segapay_standart.js | //cdn.illum[.]pw/records.php |
| [.]pw/mjs/segapay_onpage.js | //cdn.illum[.]pw/records.php |
| [.]pw/mjs/replace_standart.js | //request.payrightnow[.]cf/checkpayment.php |
| [.]pw/mjs/all_inputs.js | //cdn.illum[.]pw/records.php |
| [.]pw/mjs/add_inputs_standart.js | //request.payrightnow[.]cf/checkpayment.php |
| [.]pw/magento/payment_standart.js | //cdn.illum[.]pw/records.php |
| [.]pw/magento/payment_redirect.js | //payrightnow[.]cf/?payment= |
| [.]pw/magento/payment_redcrypt.js | //payrightnow[.]cf/?payment= |
| [.]pw/magento/payment_forminsite.js | //paymentnow[.]tk/?payment= |
Host paymentnow[.]tk, e përdorur si gateway në skriptin payment_forminsite.js, u zbulua si subjectAltName në disa certifikata që i takojnë shërbimit CloudFlare. Përveç kësaj, në host ndodhej një skript evil.js. Duke u bazuar në emrin e skriptit, ai mund të ishte përdorur në kuadër të shfrytëzimit të CVE-2016-4010, që lejon krijimin e kodit të dëmshëm në footerin e faqes nën menaxhimin e CMS Magento. Si gateway, ky skript e përdori hostin request.requestnet[.]tk, që përdor të njëjtin certifikatë si hosti paymentnow[.]tk.
Formularët e falsifikuara të pagesave
Më poshtë në figurë shihet një shembull i formularit për hyrjen e të dhënave bankare. Ky formular u përdor për të u infiltruar në faqen e dyqanit online dhe për të vjedhur të dhënat bankare.

Në figure e mëposhtme është një shembull i një forme të rreme pagese PayPal, e cila u përdor nga sulmuesit për t'u futur në faqet me këtë metodë pagese.

Infrastruktura
| Domaini | Data e zbulesës/aparencës |
|---|---|
| cdn.illum.pw | 27/11/2016 |
| records.nstatistics.com | 06/09/2018 |
| request.payrightnow.cf | 25/05/2018 |
| paymentnow.tk | 16/07/2017 |
| payment-line.tk | 01/03/2018 |
| paymentpal.cf | 04/09/2017 |
| requestnet.tk | 28/06/2017 |
Familja CoffeMokko
Familja e sniffers CoffeMokko, e destinuar për të vjedhur kartat bankare të përdoruesve të dyqaneve online, përdoret që të paktën nga maji 2017. Dyshohet se operatorët e kësaj familjeje janë një grup kriminal i quajtur Group 1, i përshkruar nga specialistët e RiskIQ në vitin 2016. Sulmet kanë prekur faqet nën menaxhimin e sistemeve të tilla si Magento, OpenCart, WordPress, osCommerce, Shopify.
Si CoffeMokko integrihet në kodin e dyqanit online
Operatorët e kësaj familjeje krijojnë sniffers unik për çdo infeksion: skedari i sniffer-it ndodhet në direktorinë src ose js në serverin e sulmuesve. Integriimi në kodin e faqes realizohet përmes një lidhjeje të drejtpërdrejtë me sniffer-in.

Në kodin e sniffer-it janë të koduara në mënyrë të ngushtë emrat e fushave të formularit, nga të cilat duhen vjedhur të dhënat. Gjithashtu, sniffer-i kontrollon nëse përdoruesi është në faqen e pagesës duke krahasuar listën e fjalëve kyçe me adresën aktuale të përdoruesit.

Disa versione të zbuluara të sniffer-it ishin të obfuskura dhe përmbanin një varg të enkriptuar, në të cilin shkuhej një varg kryesor burimesh: pikërisht aty ishin emrat e fushave të formularëve për sisteme të ndryshme pagese, si dhe adresën e portalit ku duhet të dërgohen të dhënat e vjedhura.

Informacioni i vjedhur i pagesës dërgohej skenarit në serverin e sulmuesve nëpërmjet /savePayment/index.php ОлО /tr/index.php. Dyshohet se ky skript shërben për të dërguar të dhënat nga portalet në serverin kryesor, i cili konsolidon të dhënat nga të gjithë sniffer-ët. Për të fshehur të dhënat e dërguara, të gjitha informacionet e pagesës së viktimës kodohen duke përdorur base64, dhe atëherë ndodhin disa zëvendësime simboresh:
- simboli 'e' zëvendësohet me ':'
- simboli 'w' zëvendësohet me '+'
- simboli 'o' zëvendësohet me '%'
- simboli 'd' zëvendësohet me '#'
- simboli 'a' zëvendësohet me '-'
- simboli '7' zëvendësohet me '^'
- simboli 'h' zëvendësohet me '_'
- simboli 'T' zëvendësohet me '@'
- simboli '0' zëvendësohet me '/'
- simboli 'Y' zëvendësohet me '*'
Si rezultat i zëvendësimeve të simboleve, të dhënat e koduara me base64 nuk mund të dekodohen, pa kryer një transformim të kundërt.
Ky është një fragment kodi të sniffer-it që nuk ka qenë i obfuskuar:

Analiza e infrastrukturës
Në fushatat e hershme, sulmuesit regjistronin emra domenesh që ngjanin me domenet e faqeve legjitime të dyqaneve online. Domeni i tyre mund të ndryshonte nga legjitim të kishte një karakter tjetër ose një TLD tjetër. Domenet e regjistruara përdoreshin për të mbajtur kodin e sniffer-it, tërë lidhja e së cilës ishte e futur në kodin e dyqanit.
Po ashtu, kjo grup përdorte emra domenesh që i ngjanin emrit të plug-in-ve popullore për jQuery (slickjs[.]org për faqet që përdornin plug-in-in slick.js), portave të pagesave (sagecdn[.]org për faqet që përdornin sistemin e pagesave Sage Pay).
Më vonë, grupi filloi të krijonte domenë, emrat e të cilëve nuk kishin asnjë lidhje me domenin e dyqanit apo temën e dyqanit.

Ădo domen iu pĂ«rgjigj njĂ« faqeje, nĂ« tĂ« cilĂ«n krijohej njĂ« direktore /js ose /src. NĂ« kĂ«tĂ« direktore ruheshin skenaret e sniffer-ave: njĂ« sniffer pĂ«r çdo infeksion tĂ« ri. Sniffer-i ishte i futur nĂ« kodin e faqes pĂ«rmes njĂ« lidhjeje tĂ« drejtpĂ«rdrejtĂ«, por nĂ« raste tĂ« rralla, sulmuesit modifikonin njĂ« nga skedarĂ«t e faqes dhe e shtonin nĂ« tĂ« kodin keqbĂ«rĂ«s.
Analiza e kodit
Algoritmi i parë i obfuscimit
NĂ« disa mostra tĂ« zbuluara tĂ« sniffer-ave tĂ« kĂ«saj familjeje, kodi ishte i obfuskuar dhe pĂ«rmbante tĂ« dhĂ«na tĂ« koduara, tĂ« nevojshme pĂ«r funksionimin e sniffer-it: nĂ« veçanti, adresĂ«n e portĂ«s sĂ« sniffer-it, listĂ«n e fushave tĂ« formularit tĂ« pagesĂ«s, dhe nĂ« disa raste â kodin e formularit tĂ« falsifikuar pĂ«r pagesĂ«. NĂ« kodin brenda funksionit, burimet ishin tĂ« koduara me anĂ« tĂ« XOR me çelĂ«sin qĂ« kalonte si argument i kĂ«tij funksioni.

Duke dekoduara vargun me çelësin përkatës, unik për çdo shembull, mund të merret një varg që përmban të gjitha vargjet nga kodi i sniffer-it me ndarës simbol.

Algoritmi i dytë i obfuscimit
Në mostra më të vonshme të sniffer-ave të kësaj familjeje, ishte përdorur një mekanizëm tjetër obfuscimi: në këtë rast, të dhënat ishin të koduara me një algoritëm të shkruar vetë. Vargu, i cili përmbante të dhënat e koduara, të nevojshme për funksionimin e sniffer-it, kalonte si argument i funksionit të dekodimit.

Duke përdorur konsolën e shfletuesit, mund të dekodoni të dhënat e koduara dhe të merrni një array që përmban burimet e sniffer-it.

Lidhja me sulmet e hershme MageCart
GjatĂ« analizĂ«s sĂ« njĂ«rit prej domenĂ«ve qĂ« grupi e pĂ«rdorte si port pĂ«r mbledhjen e tĂ« dhĂ«nave tĂ« vjedhura, u vĂ«rtetua se nĂ« kĂ«tĂ« domain ishte instaluar njĂ« infrastrukturĂ« pĂ«r vjedhjen e kartave tĂ« kreditit, identike me atĂ« qĂ« pĂ«rdorte Grupi 1 â njĂ« nga grupet e para, nga specialistĂ«t e RiskIQ.
Në hostin e familjes së sniffers CoffeMokko u gjetën dy skedarë:
- mage.js â njĂ« skedar qĂ« pĂ«rmban kodin e snifferit tĂ« Grupit 1 me adresĂ«n e portit js-cdn.link
- mag.php â skripti PHP qĂ« menaxhon mbledhjen e tĂ« dhĂ«nave tĂ« vjedhura nga snifferi
ĐĄĐŸĐŽĐ”ŃĐ¶ĐžĐŒĐŸĐ” ŃаĐčла mage.js 
Ishte gjithashtu vërtetuar se domenët më të hershëm që ishin përdorur nga grupi që qëndronte pas familjes së sniffers CoffeMokko, ishin regjistruar më 17 maj 2017:
- link-js[.]link
- info-js[.]link
- track-js[.]link
- map-js[.]link
- smart-js[.]link
Formati i këtyre emrave të domenëve përputhet me emrat e domenëve të Grupit 1, të cilët ishin përdorur në sulmet e vitit 2016.
Bazuar në faktet e zbuluara mund të supozohet se ka një lidhje mes operatorëve të sniffers CoffeMokko dhe grupit kriminal Grupi 1. Supozohet se operatorët e CoffeMokko mund të kenë huazuar nga paraardhësit e tyre mjetet dhe softuerin për vjedhjen e kartave. Sidoqoftë, është më e mundshme që grupi kriminal që qëndron pas përdorimit të sniffers së familjes CoffeMokko, janë të njëjtit njerëz që realizuan sulmet në kuadër të aktiviteteve të Grupit 1. Pas publikimit të raportit të parë mbi aktivitetin e grupit kriminal, të gjitha emrat e tyre të domeinëve u bllokuan, dhe mjetet u studiuan dhe u përshkruan në detaje. Grupi u detyrua të merrte një pushim, të rindërtonte mjetet e tij të brendshme dhe të rishkruante kodin e sniffers për të vazhduar sulmet e tij dhe për të mbetur të paditur.
Infrastruktura
| Domaini | Data e zbulesës/aparencës |
|---|---|
| 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 |
| security-payment.su | 03.09.2017 |
| braincdn.org | 04.09.2017 |
| sagecdn.org | 04.09.2017 |
| slickjs.org | 04.09.2017 |
| oakandfort.org | 10.09.2017 |
| citywlnery.org | 15.09.2017 |
| dobell.su | 04.10.2017 |
| childsplayclothing.org | 31.10.2017 |
| jewsondirect.com | 05.11.2017 |
| shop-rnib.org | 15.11.2017 |
| closetlondon.org | 16.11.2017 |
| misshaus.org | 28.11.2017 |
| battery-force.org | 01.12.2017 |
| kik-vape.org | 01.12.2017 |
| greatfurnituretradingco.org | 02.12.2017 |
| etradesupply.org | 04.12.2017 |
| replacemyremote.org | 04.12.2017 |
| all-about-sneakers.org | 05.12.2017 |
| mage-checkout.org | 05.12.2017 |
| nililotan.org | 07.12.2017 |
| lamoodbighats.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 |
| ottocap.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 |
| verywellfitnesse.com | 15.09.2018 |
| elegrina.com | 18.11.2018 |
| majsurplus.com | 19.11.2018 |
| top5value.com | 19.11.2018 |
Burimi: habr.com
