
Peaaegu igaĂŒks meist kasutab veebipoodide teenuseid, mis tĂ€hendab, et varem vĂ”i hiljem on oht saada JavaScript-snifferite ohvriks â erilise koodi, mille kurjategijad sisestavad veebisaidile, et varastada pangakaarditeavet, aadresse, kasutajaid ja salasĂ”nu.
Snifferite tĂ”ttu on juba kannatanud peaaegu 400 000 kasutajat British Airways'i veebisaidilt ja mobiilirakendusest, samuti Briti spordigigandi FILA 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 sisenevad veebisaidi koodisse ja varastavad makseinfot, samuti milliseid CRM-e nad rĂŒndavad.

«Peidetud oht»
Selgus, et pikka aega ei olnud JS-snifferid viirusetĂ”rjeanalĂŒĂŒtikute tĂ€helepanu all ning pangad ja maksesĂŒsteemid ei nĂ€inud neid tĂ”sise ohuna. Ja tĂ€iesti asjatult. Group-IB eksperdid 2440 nakatunud veebipoodi, mille kĂŒlastajad â kokku umbes 1,5 miljonit inimest pĂ€evas â olid kokkupuutes ohu all. Ohus on mitte ainult kasutajad, vaid ka veebipoed, maksesĂŒsteemid ja pangad, kes on vĂ€lja andnud kompromiteeritud kaarte.
Group-IBi uuring on esimene teos, mis kÀsitleb dark net turgu snifferite, nende infrastruktuuri ja monetiseerimise viise, mis toovad nende loojatele miljoneid dollareid. Oleme tuvastanud 38 snifferi perekonda, millest vaid 12 oli varem teadlastele tuntud.
Vaatame lĂ€hemalt nelja snifferi perekonda, mida uurimise kĂ€igus analĂŒĂŒsiti.
Perekond ReactGet
ReactGeti peredeidud on mĂ”eldud pangakaarditeabe varastamiseks veebipoe saitidelt. Sniffer vĂ”ib töötada paljude erinevate maksesĂŒsteemidega, mis on veebisaidil kasutusel: ĂŒhe parameetri vÀÀrtus vastab ĂŒhele maksesĂŒsteemile, eraldi tuvastatud snifferi versioonid vĂ”ivad aga kasutada kasutajate andmete varastamiseks ja pangakaarditeabe varastamiseks maksevormidest mitmest maksesĂŒsteemist, nagu nn universaalne sniffer. On leitud, et mĂ”nel juhul korraldavad rĂŒndajad kalastusrĂŒnnakuid veebipoodide administraatorite vastu, et pÀÀseda ligi saidi halduspaneelile.
Selle snifferiperede kampaania algas 2017. aasta mais, rĂŒnnaku alla sattusid CMS-ide ja platvormide Magento, Bigcommerce, Shopify halduses olevad saidid.
Kuidas ReactGet veebipoe koodi integreeritakse
Lisaks "klassikalisele" skripti integreerimisele lingi kaudu kasutavad ReactGeti snifferi operaatorid erilist tehnikat: JavaScripti koodi abil kontrollitakse, kas kasutaja praegune aadress vastab teatud kriteeriumidele. Kahjulik kood kÀivitub ainult siis, kui praeguses URL-aadressis on alamstring checkout vÔi onestepcheckout, onepage/, out/onepag, checkout/one, ckout/one. Nii kÀivitatakse snifferi kood just siis, kui kasutaja lÀheb ostude eest maksma ja sisestab makseteabe saidi vormi.

See sniffer kasutab mittestandardset tehnikat. Ohvri makse- ja isiklikud andmed kogutakse koos, kodeeritakse kasutades base64, ja seejĂ€rel kasutatakse saadud stringi parameetrina rĂŒnnakusaitidele pĂ€ringu saatmiseks. Enamasti jĂ€ljendab rada ukse kaudu JavaScripti faili, nĂ€iteks resp.js, data.js ja nii edasi, kuid kasutatakse ka lingid pildivaadete jaoks, GIF ja JPG. EripĂ€ra on see, et sniffer loob 1x1 pikslise pildi objekti ja kasutab eelnevalt saadud linki parameetrina. src pildid. See tĂ€hendab, et kasutaja jaoks nĂ€eb see liiklusena vĂ€lja nagu tavaline pildiotsing. Sarnast tehnikat kasutati ImageID perekonna nuhkimisseadmestikes. Lisaks kasutatakse 1x1 pikslise pildi tehnikat paljudes seaduslikes veebianalĂŒĂŒtika skriptides, mis vĂ”ib samuti kasutajat petta.

Versioonide analĂŒĂŒs
Aktiveeritud domeenide analĂŒĂŒs, mida kasutavad ReactGet nuhkimisseadmed, on vĂ”imaldanud avastada palju erinevaid versioone selle perekonna nuhkimisseadmest. Versioonid erinevad obfuskeeringu olemasolu poolest ning iga nuhkimisseade on mĂ”eldud konkreetse maksesĂŒsteemi jaoks, mis töötleb pangakaardiga tehinguid veebipoodide jaoks. Muutes versiooninumbri vastavaid parameetreid, on Group-IB eksperdid saanud tĂ€ispika loetelu nuhkimisseadmest saadaval olevatest variatsioonidest ja vormivĂ€ljade nimede pĂ”hjal, mida iga nuhkimisseade lehe koodis otsib, on tuvastatud maksesĂŒsteemid, millele nuhkimisseade on suunatud.
Nuhkimisseadmeste ja nende vastava maksesĂŒsteemi loend
| Nuhkimisseadmese URL | MaksesĂŒsteem |
|---|---|
| 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 | |
| QuickBooks Merchant Services | |
| 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 |
Parooli nuhkimisseade
Ăks JavaScript nuhkimisseadmete eeliseid, mis töötavad kliendi poolel, on universaalsus: veebisaidile sisestatud pahavara suudab varastada mis tahes tĂŒĂŒpi andmeid, olgu need siis makseandmed vĂ”i kasutaja konto sisselogimisandmed. Group-IB eksperdid avastasid nuhkimisseadmestiku, mis kuulub ReactGet perekonda, mis on mĂ”eldud veebisaidi kasutajate e-posti aadresside ja paroolide varastamiseks.

Ristumised ImageID nuhkimisseadmest
Ăhe nakatunud poe analĂŒĂŒsi kĂ€igus selgus, et selle veebisait oli nakatunud kaks korda: peale ReactGet nuhkimisseadmestiku pahavara avastati ka ImageID perekonna nuhkimisseadmestiku kood. See ristumine vĂ”ib viidata sellele, et mĂ”lemat nuhkimisseadet kasutavad operaatorid rakendavad sarnaseid tehnikaid pahavara sisestamiseks.

Universaalne nuhkimisseade
Ăhe ReactGet snifferi infrastruktuuriga seotud domeeninime analĂŒĂŒsi kĂ€igus selgus, et sama kasutaja on registreerinud kolm muud domeeninime. Need kolm domeeni imiteerisid reaalselt olemasolevate veebisaitide domeene ja neid on varem kasutatud snifferite majutamiseks. Kolme legitiimse saidi koodi analĂŒĂŒsimisel tuvastati tundmatu sniffer ning edasine analĂŒĂŒs nĂ€itas, et see on tĂ€iustatud versioon ReactGet snifferist. KĂ”ik varem jĂ€litatud snifferite versioonid sellest suguharust olid suunatud kindlale maksesĂŒsteemile, st iga maksesĂŒsteemi jaoks oli vajalik eraldi snifferi versioon. Siiski tuvastati antud juhul universaalne snifferi versioon, mis suudab varastada teavet vormidest, mis on seotud 15 erineva maksesĂŒsteemi ja e-kaubanduse saitide moodulitega online-maksete tegemiseks.
Nii hakkas sniffer alguses otsima pĂ”hi vormivĂ€lju, mis sisaldasid ohvri isikuandmeid: tĂ€isnimi, fĂŒĂŒsiline aadress, telefoninumber.

SeejĂ€rel otsis sniffer enam kui 15 erineva eelneva kohta, mis vastasid erinevatele maksesĂŒsteemidele ja e-maksete moodulitele.

JÀtkates koguti ohvri isikuandmed ja maksetega seotud teave kokku ning saadeti kurjategijale kontrollitavale veebisaidile: antud juhul tuvastati kaks versiooni universaalsest ReactGet snifferist, mis asusid kahes erinevas hÀkitud saidis. Siiski saatsid mÔlemad versioonid varastatud andmeid samale hÀkitud veebisaidile. zoobashop.com.

Snifferi poolt makseteave leidmiseks kasutatud eelneva analĂŒĂŒs vĂ”imaldas mÀÀrata, et see snifferite nĂ€idis 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 makseteabe varastamiseks
Esimene tööriist, mis tuvastati rĂŒndajate infrastruktuuri analĂŒĂŒsi kĂ€igus, on mĂ”eldud kurjategijate pangakaartide varguse tĂ”ttu loodud pahatahtlike skriptide obfuskatsiooniks. Ăhel rĂŒndajate hostil tuvastati bash-skript, mis kasutab projekti CLI-d. snifferi koodi obfuskatsiooni automatiseerimiseks.
![]()
Teine tuvastatud tööriist on mÔeldud koodi genereerimiseks, mis vastutab peamise nuhkija laadimise eest. See tööriist genereerib JavaScripti koodi, mis kontrollib, kas kasutaja on makselehe peal, otsides kasutaja praeguses aadressis fraase checkout, ostukorv jne, ja kui tulemus on positiivne, laadib kood peamise nuhkija pahatahtlikku serverist. Kahjuliku tegevuse peitmiseks kÔik fraasid, sealhulgas testkingitus makselehe mÀÀramiseks, samuti viide nuhkijale, on kodeeritud kasutades base64.

Phishingu rĂŒnnakud
RĂŒndajate vĂ”rgu infrastruktuuri analĂŒĂŒsimisel leiti, et sageli kasutab kuritegelik grupp juurdepÀÀsu saamiseks sihtmĂ€rgiks oleva veebipoe administreerimispaneeli sissetungimist. RĂŒndajad registreerivad domeeni, mis meenutab poe domeeni, ja seejĂ€rel avavad sellel vale Magento administreerimise sisselogimise vormi. Eduka rĂŒnnaku korral pÀÀsevad rĂŒndajad CMS Magento administreerimispaneeli, mis annab neile vĂ”imaluse redigeerida saidi komponente ja sisestada nuhkija krediitkaartide andmete varastamiseks.

Infrastruktuur
| Domeen | Avastamise kuupĂ€ev/sĂŒnniaeg |
|---|---|
| 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 |
G-Analytics perekond
See nuhkijate perekond kasutatakse klientide kaartide varastamiseks veebipoodidest. KÔige esimene domeeninimi, mida grupp kasutas, registreeriti aprillis 2016, mis vÔib viidata grupi tegevuse algusele 2016. aasta keskpaiku.
Praeguses kampaanias kasutab grupp domeeninimesid, mis matkivad reaalselt eksisteerivaid teenuseid, nagu Google Analytics ja jQuery, maskeerides nuhkijate tegevust legitiimsete skriptide ja sarnaste autentsete domeeninimedega. RĂŒnnaku all on olnud Magento CMS-i juhtimisel töötavad saidid.
Kuidas G-Analytics integreeritakse veebipoe koodiga
Selle perekonna iseloomulik joon on erinevate meetodite kasutamine kasutaja makseandmete varastamiseks. Peale klassikalise JavaScript-koodi sisestamise veebisaidi kliendi osasse, kasutas kuritegelik grupp ka meetodit koodi sisestamiseks veebisaidi serveri ossa, nimelt PHP-skripte, mis töötlevad kasutaja sisestatud andmeid. See tehnika on ohtlik, kuna see raskendab pahavara avastamist kolmandate osapoolte uurijate poolt. Group-IB spetsialistid tuvastasid PHP-koodi sisestatud nuhkija versiooni, mis kasutas vÀravana domeeni dittm.org.

Samuti tuvastati varajane versioon nuhkijast, mis kogus varastatud andmeid sama domeeni kaudu dittm.org, kuid see versioon oli mÔeldud juba paigaldamiseks veebipoe kliendi poolele.

Hiljem kohandas grupp oma taktikat, pöörates rohkem tÀhelepanu pahavara aktiivsuse varjamisele ja maskeerimisele.
2017. aasta alguses hakkas grupp kasutama domeeni jquery-js.com, mis varjas end jQuery CDN-ina: kui kasutaja lĂ€heb rĂŒndajate saidile, suunatakse ta Ă”igesse saidile jquery.com.
Ja 2018. aasta keskpaiku hakkas grupp kasutama domeeninime g-analytics.com ja hakkas nuhkija tegevust maskeerima seadusliku Google Analytics teenuse alla.


Versioonide analĂŒĂŒs
Domeenide analĂŒĂŒsimisel, mida kasutati nuhkijate koodi talletamiseks, leiti, et saidil on palju versioone, mis erinevad obfuskatsiooni olemasolu ning saavutatavamate vĂ”i saavutamatute koodide, mis on failile lisatud tĂ€helepanu kĂ”rvale juhtimiseks ja pahavara koodi varjamiseks, olemasolu poolest.
Kokku leiti saidilt jquery-js.com kuus nuhkija versioon. Varastatud andmed saadetakse aadressile, mis asub samas saidis, kus nuhkija 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
Hiljem kasutatud domeen g-analytics.com, mida grupp kasutas rĂŒnnakutes 2018. aasta keskpaigast alates, teenib suurema arvu nuhkijate salvestamiseks. Kokku leiti 16 erinevat nuhkija versiooni. Sel juhul oli vargande saatmiseks kasutatav vĂ€rav maskeeritud piltide lingi all 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 underground-poes, mis pakub teenuseid kaardikarpide jaoks. RĂŒndajate kasutatud domeenide analĂŒĂŒs vĂ”imaldas tuvastada, et google-analytics.cm oli registreeritud sama kasutaja poolt, kes registreeris domeeni cardz.vc. Domeen cardz.vc puudutab varastatud pangakaartide mĂŒĂŒmise poodi Cardsurfs (Flysurfs), mis sai populaarseks juba siis, kui tugipunkt AlphaBay oli aktiivne, kui pood, mis mĂŒĂŒs pangakaarte, mida oli varastatud snifferite abil.

AnalĂŒĂŒsides domeeni analytic.is, mis asub samal serveril kui domeenid, mida snifferid kasutavad varastatud andmete kogumiseks, avastas Group-IB faili, mis sisaldas Cookie-stealer'i logisid, mis nĂ€ib hiljem arendaja poolt hĂŒljatud. Ăks logis olevatest kirjedest sisaldas domeeni iozoz.com, mida kasutati varem ĂŒhes snifferis, mis oli aktiivne 2016. aastal. Eeldatavasti kasutas see domeen kurjategija varastatud andmete kogumiseks snifferite abil. See domeen registreeriti e-posti aadressil kts241@gmail.com, mida kasutati ka domeenide registreerimiseks cardz.su ja cardz.vc, mis puudutas ka kardingute poodi Cardsurfs.
Saadud andmete pĂ”hjal vĂ”ib jĂ€reldada, et G-Analytics snifferite perekond ja pangakaartide vahendusportaal Cardsurfs on sama inimeste kontrolli all ning pood on varastatud snifferite kaudu saadud pangakaartide mĂŒĂŒmiseks.
Infrastruktuur
| Domeen | Avastamise kuupĂ€ev/sĂŒnniaeg |
|---|---|
| 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 |
Illum perekond
Illum on snifferite perekond, mida kasutatakse rĂŒnnakuteks veebipoodidele, millel on CMS Magento haldus. Peale halva koodi sisestamise kasutavad selle snifferi operaatorid ka tĂ€ielikult vale maksevormide sisestamist, mis edastavad andmed kurjategijate kontrolli all olevatele vĂ€ravatele.
AnalĂŒĂŒsides selle snifferi operaatorite vĂ”rgu infrastruktuuri, on mĂ€rgatud suurt hulka pahatahtlikke skripte, eksploidikoodide, vale maksevormide, samuti kogumit nĂ€idiseid konkurendi pahatahtlikest snifferitest. Domaanide nimede ilmumiste kuupĂ€evade pĂ”hjal vĂ”ib jĂ€reldada, et kampaania algus toimub 2016. aasta lĂ”pus.
Kuidas Illum sisestatakse veebipoe koodi
Esimesed avastatud snifferi versioonid sisestati otse kompromiteeritud saidi koodi. Varastatud andmed edastati aadressile cdn.illum[.]pw/records.php, vÀrav aga kodeeriti kasutades base64.

Hiljem leiti pakitud versioon nuhkprogrammist, mis kasutas teist vĂ€ravat â records.nstatistics[.]com/records.php.

Vastavalt Willem de Groot, sama host, mida kasutati nuhkprogrammis, mis oli implanteeritud , mis kuulub Saksamaa poliitilisele erakonnale CSU.
Kurjategijate veebilehe analĂŒĂŒs
Group-IB spetsialistid avastasid ja analĂŒĂŒsisid veebilehte, mida kasutatakse selle kuritegeliku grupi poolt tööriistade ja varastatud teabe kogumiseks.

Kurjategijate serverist leitud tööriistade seas olid skriptid ja eksploidid Linuxi operatsioonisĂŒsteemi privileegide tĂ”stmiseks: nĂ€iteks Linux Privilege Escalation Check Script, mille töötas vĂ€lja Mike Czumak, samuti eksploit CVE-2009-1185.
Otse online-kauplustele rĂŒnnakute lĂ€biviimiseks kasutasid kurjategijad kahte eksploidimist: on vĂ”imeline sisestama pahatahtlikku koodi core_config_data CVE-2016-4010 Ă€rakasutamise kaudu, kasutab RCE tĂŒĂŒpi haavatavust CMS Magento pluginates, vĂ”imaldades tĂ€ita suvalist koodi haavataval veebiserveril.

Samuti leiti serveri analĂŒĂŒsi kĂ€igus erinevaid nuhkprogramme ja vale maksevorme, mida kurjategijad kasutasid varastatud makseinfo kogumiseks hĂ€kitud veebilehtedelt. Nagu allpool olevast loendist nĂ€ha, loodi mĂ”ned skriptid individuaalselt igale hĂ€kitud veebilehele, samas kui teatud CMS-ide ja maksevĂ€ravate jaoks kasutati universaalseid lahendusi. NĂ€iteks skriptid segapay_standart.js ja segapay_onpage.js on ette nĂ€htud paigaldamiseks veebilehtedele, mis kasutavad maksevĂ€ravat Sage Pay.
Skriptiloend erinevate maksevÀravate jaoks
| Skript | MaksevÀrav |
|---|---|
| [.]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, mida kasutatakse skriptis vÀravana payment_forminsite.js, leiti kui subjectAltName mitmetes sertifikaatides, mis on seotud CloudFlare'iga. Lisaks oli hostis skript evil.js. Skripti nime pÔhjal vÔis see olla kasutusel CVE-2016-4010 Àrakasutamisel, mis vÔimaldab sisestada pahatahtlikku koodi CMS Magento juhtimisega veebilehe jalusesse. Selle skriptina kasutas host request.requestnet[.]tk, mis kasutab sama sertifikaati kui host paymentnow[.]tk.
Vale maksevormid
Allpool on illustratsioon vormist, kuhu kirjutatakse kaarditÔendid. Seda vormi kasutati online-kauplusesse sisestamiseks ja kaardiandmete varastamiseks.

JÀrgneval joonisel on nÀide vale PayPali maksevormist, mida kurjategijad kasutasid selle makseviisi kaudu veebisaitidele sisenemiseks.

Infrastruktuur
| Domeen | Avastamise kuupĂ€ev/sĂŒnniaeg |
|---|---|
| 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 |
CoffeMokko perekond
CoffeMokko perekonna nuhkprogrammid, mis on mĂ”eldud veebipoodide kasutajate pangakaartide varastamiseks, on olnud aktiivsed vĂ€hemalt alates 2017. aasta maist. Eeldatavasti haldab neid nuhkprogramme kuritegevusgrupp Group 1, keda kirjeldasid RiskIQ spetsialistid 2016. aastal. RĂŒnnakute sihtmĂ€rkideks olid sellised CMS-id nagu Magento, OpenCart, WordPress, osCommerce, Shopify.
Kuidas CoffeMokko integreeritakse veebipoe koodi
Selle perekonna operaatorid loovad iga nakatumise jaoks unikaalse nuhkprogrammi: nuhkprogrammi fail asub kurjategijate serveris kaustas src vÔi js . Veebisaidi koodi integreeritakse otse nuhkprogrammile viidates.

Nuhkprogrammi koodis on kÔvasti kodeeritud vormi vÀljade nimed, millest andmeid tuleb varastada. Samuti kontrollib nuhkprogramm, kas kasutaja on makse lehel, kontrollides vÔtm sÔna loendiga praegust kasutaja aadressi.

MĂ”ned avastatud nuhkprogrammi versioonid olid obfuskeeritud ja sisaldasid krĂŒpteeritud stringi, milles hoiti peamine ressursside massiiv: just selles olid maksesĂŒsteemide vormide vĂ€ljade nimed ning aadress, kuhu varastatud andmed saatma tuli.

Varastatud makseinformatsioon saadeti kurjategijate serveris skriptile aadressilt /savePayment/index.php ОлО /tr/index.php. Eeldatavasti teenib see skript andmete saatmist vĂ€ravast peamisele serverile, kuhu koondatakse andmed kĂ”ikidest nuhkprogrammidest. Edastatavate andmete varjamiseks kodeeritakse kĂ”ik ohvri makseandmed base64, millele jĂ€rgneb mitme sĂŒmboli asendamine:
- 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 â*â
Tulemuseks on sĂŒmbolite asendamine, mille abil kodeeritud base64 andmeid ei saa dekodeerida, kui ei tehta vastupidist protsessi.
Nii nÀeb vÀlja snifferi koodilÔik, mida pole obfuskeeritud:

Infrastruktuuri analĂŒĂŒs
Varasemates kampaaniates registreerisid kurjategijad domeeninimesid, mis sarnanesid seaduslike veebipoode esindavatega. Nende domeen vĂ”is erineda seaduslikust ĂŒksikisendist vĂ”i muust TLD-st. Registreeritud domeene kasutati snifferi koodi talletamiseks, millelink sisestati poe koodi.
Samuti kasutas see grupp domeeninimesid, mis meenutasid populaarsete jQuery pluginade nimesid (slickjs[.]org veebilehtedele, mis kasutasid pluginat slick.js), makse vĂ€ravate (sagecdn[.]org veebilehtedele, mis kasutasid Sage Pay maksesĂŒsteemi).
Hiljem hakkas grupp looma domeene, mille nimedel polnud mingit seost ei poe domeeni ega poe temaatikaga.

Iga domeeni vastas veebileht, millel loodi kataloog /js vĂ”i /src. Selles kataloogis hoiti snifferite skripte: ĂŒks sniffer iga uue nakatumise kohta. Sniffer sisestati veebilehe koodi otse lingi kaudu, kuid harvadel juhtudel muutsid kurjategijad mĂ”nda veebilehe faili ja lisasid sinna pahatahtliku koodi.
Koodi analĂŒĂŒs
Esimene obfuskatsiooni algoritm
MĂ”nedes avastatud snifferite nĂ€idistes oli kood obfuskeeritud ja sisaldas krĂŒpteeritud andmeid, mis olid vajalikud snifferi tööks: eelkĂ”ige snifferi vĂ€rava aadress, maksevormi vĂ€ljade loetelu ja mĂ”nel juhul vale maksevormi kood. Funktsiooni sees olid ressursid krĂŒpteeritud XOR vĂ”tmega, mis edastati selle sama funktsiooni argumendina.

Dekodeerides stringi vastava vÔtmega, mis on iga nÀidise jaoks ainulaadne, on vÔimalik saada string, mis sisaldab kÔiki snifferi koodis olevaid stringe eraldajamÀrgi kaudu.

Teine obfuskatsiooni algoritm
Hiljemates selle perekonna snifferite nĂ€idistes kasutati teistsugust obfuskatsiooni mehhanismi: sellisel juhul olid andmed krĂŒpteeritud kĂ€sitsi kirjutatud algoritmi abil. String, mis sisaldas snifferi tööks vajalikke krĂŒpteeritud andmeid, edastati dekodeerimise funktsiooni argumendina.

Brauseri konsooli abil on vĂ”imalik krĂŒpteeritud andmeid dekodeerida ja saada massiiv, mis sisaldab snifferi ressursse.

Seos varasemate MageCart rĂŒnnakutega
Ăhe domeeni analĂŒĂŒsi kĂ€igus, mida grupp kasutas varastatud andmete kogumise vĂ€ravana, leiti, et sellel domeenil on kĂ€ivitatud infrastruktuur krediitkaartide varguseks, identne selle omaga, mida kasutas Grupp 1 â ĂŒks esimesi rĂŒhmi, RiskIQ spetsialistide poolt.
CoffeMokko nuhkpere hostis leiti kaks faili:
- mage.js â fail, mis sisaldas Grupp 1 nuhkimise koodi vĂ€rava aadressiga js-cdn.link
- mag.php â PHP-skript, mis vastutab nuhkijaga varastatud andmete kogumise eest
ĐĄĐŸĐŽĐ”ŃĐ¶ĐžĐŒĐŸĐ” ŃаĐčла mage.js 
Samuti leiti, et varaseimad domeenid, mida CoffeMokko nuhkijate rĂŒhm kasutas, registreeriti 17. mai 2017:
- link-js[.]link
- info-js[.]link
- track-js[.]link
- map-js[.]link
- smart-js[.]link
Nende domeeninimede formaat ĂŒhtib Grup 1 domeeninimede vormiga, mida kasutati 2016. aasta rĂŒnnakutes.
Leitud faktide pĂ”hjal vĂ”ib teha oletusi, et CoffeMokko nuhkijate ja Grupp 1 kuritegeliku rĂŒhma vahel on seos. Eeldatavasti vĂ”isid CoffeMokko operaatorid oma eelkĂ€ijatelt varastada kaardivarguse tööriistu ja tarkvara. Siiski on tĂ”enĂ€olisem, et CoffeMokko nuhkijate kasutamise taga olev kuritegelik rĂŒhm on sama, mis viis lĂ€bi rĂŒnnakud Grupp 1 tegevuse kĂ€igus. PĂ€rast esimese aruande avaldamist kuritegeliku rĂŒhma tegevusest blokeeriti kĂ”ik nende domeenid ja nende tööriistu uuriti ja kirjeldati ĂŒksikasjalikult. RĂŒhm pidi vĂ”tma pausi, et tĂ€iustada oma siseseid tööriistu ja ĂŒmber kirjutada nuhkijate kood, et jĂ€tkata rĂŒnnakute tegemist ja jÀÀda mĂ€rkamatuks.
Infrastruktuur
| Domeen | Avastamise kuupĂ€ev/sĂŒnniaeg |
|---|---|
| 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 |
Allikas: habr.com
