Hampir semua daripada kita menggunakan perkhidmatan kedai dalam talian, yang bermakna lambat laun kita menghadapi risiko menjadi mangsa penghidu JavaScript - kod khas yang penyerang laksanakan pada tapak web untuk mencuri data kad bank, alamat, log masuk dan kata laluan pengguna .
Hampir 400 pengguna laman web dan aplikasi mudah alih British Airways telah pun terjejas oleh penghidu, serta pelawat ke laman web British gergasi sukan FILA dan pengedar tiket Amerika Ticketmaster. PayPal, Chase Paymenttech, USAePay, Moneris - ini dan banyak sistem pembayaran lain telah dijangkiti.
Penganalisis Threat Intelligence Group-IB Viktor Okorokov bercakap tentang cara penghidu menyusup kod tapak web dan mencuri maklumat pembayaran, serta CRM yang mereka serang.
"Ancaman tersembunyi"
Kebetulan bahawa untuk masa yang lama penghidu JS tidak dapat dilihat oleh penganalisis anti-virus, dan bank dan sistem pembayaran tidak melihatnya sebagai ancaman yang serius. Dan benar-benar sia-sia. Pakar Kumpulan-IB
Marilah kita memikirkan secara terperinci tentang empat keluarga penghidu yang dikaji semasa kajian.
Keluarga ReactGet
Sniffers dari keluarga ReactGet digunakan untuk mencuri data kad bank di tapak beli-belah dalam talian. Penghidu boleh berfungsi dengan sejumlah besar sistem pembayaran berbeza yang digunakan di tapak: satu nilai parameter sepadan dengan satu sistem pembayaran, dan versi penghidu individu yang dikesan boleh digunakan untuk mencuri bukti kelayakan, serta untuk mencuri data kad bank daripada pembayaran bentuk beberapa sistem pembayaran sekaligus, seperti yang dipanggil penghidu sejagat. Didapati bahawa dalam beberapa kes, penyerang melakukan serangan pancingan data ke atas pentadbir kedai dalam talian untuk mendapatkan akses kepada panel pentadbiran tapak.
Kempen menggunakan kumpulan penghidu ini bermula pada Mei 2017; tapak yang menjalankan platform CMS dan Magento, Bigcommerce dan Shopify telah diserang.
Bagaimana ReactGet dilaksanakan ke dalam kod kedai dalam talian
Sebagai tambahan kepada pelaksanaan "klasik" skrip melalui pautan, pengendali keluarga penghidu ReactGet menggunakan teknik khas: menggunakan kod JavaScript, mereka menyemak sama ada alamat semasa di mana pengguna berada memenuhi kriteria tertentu. Kod hasad hanya akan dilaksanakan jika subrentetan terdapat dalam URL semasa checkout atau daftar keluar satu langkah, satu muka surat/, keluar/satupag, daftar keluar/satu, ckout/satu. Oleh itu, kod penghidu akan dilaksanakan tepat pada masa pengguna meneruskan pembayaran untuk pembelian dan memasukkan maklumat pembayaran ke dalam borang di tapak.
Penghidu ini menggunakan teknik yang tidak standard. Bayaran dan data peribadi mangsa dikumpul bersama dan dikodkan menggunakan base64, dan kemudian rentetan yang terhasil digunakan sebagai parameter untuk menghantar permintaan ke tapak web penyerang. Selalunya, laluan ke pintu masuk meniru fail JavaScript, sebagai contoh resp.js, data.js dan sebagainya, tetapi pautan ke fail imej juga digunakan, GIF ΠΈ JPG. Keanehannya ialah penghidu mencipta objek imej berukuran 1 dengan 1 piksel dan menggunakan pautan yang diterima sebelum ini sebagai parameter src Imej. Iaitu, untuk pengguna permintaan sedemikian dalam lalu lintas akan kelihatan seperti permintaan untuk gambar biasa. Teknik serupa telah digunakan dalam keluarga penghidu ImageID. Selain itu, teknik menggunakan imej 1 dengan 1 piksel digunakan dalam banyak skrip analitik dalam talian yang sah, yang juga boleh mengelirukan pengguna.
Analisis versi
Analisis domain aktif yang digunakan oleh pengendali sniffer ReactGet mendedahkan banyak versi berbeza bagi keluarga sniffer ini. Versi berbeza dalam kehadiran atau ketiadaan kekeliruan, dan sebagai tambahan, setiap penghidu direka untuk sistem pembayaran khusus yang memproses pembayaran kad bank untuk kedai dalam talian. Setelah mengisih nilai parameter yang sepadan dengan nombor versi, pakar Kumpulan-IB menerima senarai lengkap variasi penghidu yang tersedia, dan dengan nama medan borang yang dicari oleh setiap penghidu dalam kod halaman, mereka mengenal pasti sistem pembayaran yang dituju oleh penghidu.
Senarai penghidu dan sistem pembayaran yang sepadan
URL Sniffer | Sistem pembayaran |
---|---|
|
Authorize.Net |
Simpanan kad | |
|
Authorize.Net |
Authorize.Net | |
|
eWAY Rapid |
Authorize.Net | |
Adyen | |
|
USAePay |
Authorize.Net | |
USAePay | |
|
Authorize.Net |
Moneris | |
USAePay | |
PayPal | |
Bayaran Sage | |
Verisign | |
PayPal | |
Jalur | |
|
Realex |
PayPal | |
LinkPoint | |
PayPal | |
PayPal | |
DataCash | |
|
PayPal |
|
Authorize.Net |
|
Authorize.Net |
Authorize.Net | |
Authorize.Net | |
|
Verisign |
|
Authorize.Net |
Moneris | |
|
Bayaran Sage |
|
USAePay |
|
Authorize.Net |
|
Authorize.Net |
|
ANZ eGate |
|
Authorize.Net |
|
Moneris |
|
Bayaran Sage |
Bayaran Sage | |
|
Chase Paymenttech |
|
Authorize.Net |
|
Adyen |
PsiGate | |
Sumber Siber | |
ANZ eGate | |
Realex | |
|
USAePay |
|
Authorize.Net |
|
Authorize.Net |
|
ANZ eGate |
|
PayPal |
|
PayPal |
Realex | |
|
Bayaran Sage |
|
PayPal |
|
Verisign |
Authorize.Net | |
|
Verisign |
Authorize.Net | |
|
ANZ eGate |
PayPal | |
Sumber Siber | |
|
Authorize.Net |
|
Bayaran Sage |
Realex | |
|
Sumber Siber |
PayPal | |
PayPal | |
|
PayPal |
|
Verisign |
|
eWAY Rapid |
|
Bayaran Sage |
Bayaran Sage | |
|
Verisign |
Authorize.Net | |
Authorize.Net | |
|
Gerbang Global Data Pertama |
Authorize.Net | |
Authorize.Net | |
Moneris | |
|
Authorize.Net |
|
PayPal |
|
Verisign |
|
USAePay |
USAePay | |
Authorize.Net | |
Verisign | |
PayPal | |
|
Authorize.Net |
Jalur | |
|
Authorize.Net |
eWAY Rapid | |
|
Bayaran Sage |
Authorize.Net | |
|
Braintree |
|
Braintree |
|
PayPal |
|
Bayaran Sage |
|
Bayaran Sage |
|
Authorize.Net |
|
PayPal |
|
Authorize.Net |
Verisign | |
|
PayPal |
|
Authorize.Net |
|
Jalur |
|
Authorize.Net |
eWAY Rapid | |
Bayaran Sage | |
|
Authorize.Net |
Braintree | |
|
PayPal |
|
Bayaran Sage |
Bayaran Sage | |
|
Authorize.Net |
PayPal | |
Authorize.Net | |
|
Verisign |
|
Authorize.Net |
|
Authorize.Net |
|
Authorize.Net |
|
Authorize.Net |
|
Bayaran Sage |
Bayaran Sage | |
|
Westpac PayWay |
|
PayFort |
|
PayPal |
|
Authorize.Net |
|
Jalur |
|
Gerbang Global Data Pertama |
|
PsiGate |
Authorize.Net | |
Authorize.Net | |
|
Moneris |
|
Authorize.Net |
Bayaran Sage | |
|
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 |
Bayaran Sage | |
|
Verisign |
|
Authorize.Net |
|
PayPal |
|
PayFort |
Sumber Siber | |
PayPal Payflow Pro | |
|
Authorize.Net |
|
Authorize.Net |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
Bayaran Sage | |
Authorize.Net | |
|
Jalur |
|
Authorize.Net |
Authorize.Net | |
Verisign | |
|
PayPal |
Authorize.Net | |
|
Authorize.Net |
Bayaran Sage | |
|
Authorize.Net |
|
Authorize.Net |
|
PayPal |
|
Flint |
|
PayPal |
Bayaran Sage | |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
|
Jalur |
|
Zebra Gemuk |
Bayaran Sage | |
|
Authorize.Net |
Gerbang Global Data Pertama | |
|
Authorize.Net |
|
eWAY Rapid |
Adyen | |
|
PayPal |
Perkhidmatan Pedagang Buku Pantas | |
Verisign | |
|
Bayaran Sage |
Verisign | |
|
Authorize.Net |
|
Authorize.Net |
Bayaran Sage | |
|
Authorize.Net |
|
eWAY Rapid |
Authorize.Net | |
|
ANZ eGate |
|
PayPal |
Sumber Siber | |
|
Authorize.Net |
Bayaran Sage | |
|
Realex |
Sumber Siber | |
|
PayPal |
|
PayPal |
|
PayPal |
|
Verisign |
eWAY Rapid | |
|
Bayaran Sage |
|
Bayaran Sage |
|
Verisign |
Authorize.Net | |
|
Authorize.Net |
|
Gerbang Global Data Pertama |
Authorize.Net | |
Authorize.Net | |
|
Moneris |
|
Authorize.Net |
|
PayPal |
Penghidu kata laluan
Salah satu kelebihan penghidu JavaScript yang berfungsi pada bahagian pelanggan tapak ialah kepelbagaian mereka: kod hasad yang dibenamkan pada tapak boleh mencuri sebarang jenis data, sama ada data pembayaran atau log masuk dan kata laluan akaun pengguna. Pakar Kumpulan-IB menemui sampel penghidu milik keluarga ReactGet, yang direka untuk mencuri alamat e-mel dan kata laluan pengguna tapak.
Persimpangan dengan penghidu ImageID
Semasa analisis salah satu kedai yang dijangkiti, didapati tapaknya telah dijangkiti dua kali: sebagai tambahan kepada kod hasad penghidu keluarga ReactGet, kod penghidu keluarga ImageID telah dikesan. Pertindihan ini boleh menjadi bukti bahawa pengendali di belakang kedua-dua penghidu menggunakan teknik yang sama untuk menyuntik kod berniat jahat.
Penghidu sejagat
Analisis salah satu nama domain yang dikaitkan dengan infrastruktur sniffer ReactGet mendedahkan bahawa pengguna yang sama telah mendaftarkan tiga nama domain lain. Ketiga-tiga domain ini meniru domain laman web kehidupan sebenar dan sebelum ini digunakan untuk mengehoskan penghidu. Apabila menganalisis kod tiga tapak yang sah, penghidu yang tidak diketahui telah dikesan, dan analisis lanjut menunjukkan bahawa ia adalah versi penghidu ReactGet yang dipertingkatkan. Semua versi yang dipantau sebelum ini bagi keluarga penghidu ini ditujukan kepada satu sistem pembayaran, iaitu setiap sistem pembayaran memerlukan versi khas penghidu. Walau bagaimanapun, dalam kes ini, versi universal penghidu telah ditemui yang mampu mencuri maklumat daripada borang yang berkaitan dengan 15 sistem pembayaran yang berbeza dan modul tapak e-dagang untuk membuat pembayaran dalam talian.
Jadi, pada permulaan kerja, penghidu mencari medan borang asas yang mengandungi maklumat peribadi mangsa: nama penuh, alamat fizikal, nombor telefon.
Penghidu kemudiannya mencari lebih daripada 15 awalan berbeza yang sepadan dengan sistem pembayaran yang berbeza dan modul pembayaran dalam talian.
Seterusnya, data peribadi mangsa dan maklumat pembayaran dikumpulkan bersama dan dihantar ke tapak yang dikawal oleh penyerang: dalam kes khusus ini, dua versi penghidu ReactGet universal ditemui, terletak di dua tapak yang digodam yang berbeza. Walau bagaimanapun, kedua-dua versi menghantar data yang dicuri ke tapak yang digodam yang sama zoobashop.com.
Analisis awalan yang digunakan penghidu untuk mencari medan yang mengandungi maklumat pembayaran mangsa membolehkan kami menentukan bahawa sampel penghidu ini ditujukan kepada sistem pembayaran berikut:
- Authorize.Net
- Verisign
- First Data
- USAePay
- Jalur
- PayPal
- ANZ eGate
- Braintree
- DataCash (MasterCard)
- Pembayaran Realex
- PsiGate
- Sistem Pembayaran Heartland
Apakah alatan yang digunakan untuk mencuri maklumat pembayaran?
Alat pertama, ditemui semasa analisis infrastruktur penyerang, digunakan untuk mengelirukan skrip berniat jahat yang bertanggungjawab untuk kecurian kad bank. Skrip bash menggunakan CLI projek ditemui pada salah satu hos penyerang
Alat kedua yang ditemui direka untuk menjana kod yang bertanggungjawab untuk memuatkan penghidu utama. Alat ini menjana kod JavaScript yang menyemak sama ada pengguna berada di halaman pembayaran dengan mencari alamat semasa pengguna untuk rentetan checkout, troli dan seterusnya, dan jika hasilnya positif, maka kod tersebut memuatkan penghidu utama daripada pelayan penyerang. Untuk menyembunyikan aktiviti berniat jahat, semua talian, termasuk talian ujian untuk menentukan halaman pembayaran, serta pautan kepada penghidu, dikodkan menggunakan base64.
Serangan pancingan data
Analisis infrastruktur rangkaian penyerang mendedahkan bahawa kumpulan penjenayah sering menggunakan pancingan data untuk mendapatkan akses kepada panel pentadbiran kedai dalam talian sasaran. Penyerang mendaftarkan domain yang secara visual serupa dengan domain kedai, dan kemudian menggunakan borang log masuk panel pentadbiran Magento palsu padanya. Jika berjaya, penyerang akan mendapat akses kepada panel pentadbiran Magento CMS, yang memberi mereka peluang untuk mengedit komponen tapak web dan melaksanakan penghidu untuk mencuri data kad kredit.
Infrastruktur
ΠΠΎΠΌΠ΅Π½ | Tarikh penemuan/kemunculan |
---|---|
mediapack.info | 04.05.2017 |
adsgetapi.com | 15.06.2017 |
simcounter.com | 14.08.2017 |
mageanalytics.com | 22.12.2017 |
maxstatics.com | 16.01.2018 |
reactjsapi.com | 19.01.2018 |
mxcounter.com | 02.02.2018 |
apitstatus.com | 01.03.2018 |
orderracker.com | 20.04.2018 |
tagtracking.com | 25.06.2018 |
adsapigate.com | 12.07.2018 |
trust-tracker.com | 15.07.2018 |
fbstatspartner.com | 02.10.2018 |
billgetstatus.com | 12.10.2018 |
www.aldenmlilhouse.com | 20.10.2018 |
balletbeautlful.com | 20.10.2018 |
bargaljunkie.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 |
Keluarga G-Analytics
Keluarga penghidu ini digunakan untuk mencuri kad pelanggan dari kedai dalam talian. Nama domain pertama yang digunakan oleh kumpulan itu telah didaftarkan pada April 2016, yang mungkin menunjukkan bahawa kumpulan itu memulakan aktiviti pada pertengahan 2016.
Dalam kempen semasa, kumpulan itu menggunakan nama domain yang meniru perkhidmatan kehidupan sebenar, seperti Google Analitis dan jQuery, menutup aktiviti penghidu dengan skrip dan nama domain yang sah yang serupa dengan yang sah. Tapak yang menjalankan CMS Magento telah diserang.
Cara G-Analytics dilaksanakan ke dalam kod kedai dalam talian
Ciri tersendiri keluarga ini ialah penggunaan pelbagai kaedah untuk mencuri maklumat pembayaran pengguna. Selain suntikan klasik kod JavaScript ke bahagian klien tapak, kumpulan penjenayah itu juga menggunakan teknik suntikan kod ke bahagian pelayan tapak, iaitu skrip PHP yang memproses data yang dimasukkan pengguna. Teknik ini berbahaya kerana ia menyukarkan penyelidik pihak ketiga untuk mengesan kod berniat jahat. Pakar Kumpulan-IB menemui versi penghidu yang dibenamkan dalam kod PHP tapak, menggunakan domain sebagai gerbang dittm.org.
Versi awal penghidu juga ditemui yang menggunakan domain yang sama untuk mengumpul data yang dicuri dittm.org, tetapi versi ini bertujuan untuk pemasangan pada bahagian pelanggan kedai dalam talian.
Kumpulan itu kemudiannya menukar taktiknya dan mula memberi lebih tumpuan kepada menyembunyikan aktiviti berniat jahat dan penyamaran.
Pada awal tahun 2017, kumpulan itu mula menggunakan domain tersebut jquery-js.com, menyamar sebagai CDN untuk jQuery: apabila pergi ke tapak penyerang, pengguna dialihkan ke tapak yang sah jquery.com.
Dan pada pertengahan 2018, kumpulan itu menggunakan nama domain g-analytics.com dan mula menyamarkan aktiviti penghidu itu sebagai perkhidmatan Google Analitis yang sah.
Analisis versi
Semasa analisis domain yang digunakan untuk menyimpan kod penghidu, didapati bahawa tapak tersebut mengandungi sejumlah besar versi, yang berbeza jika terdapat kekeliruan, serta kehadiran atau ketiadaan kod tidak boleh dicapai yang ditambahkan pada fail untuk mengalih perhatian perhatian. dan sembunyikan kod berniat jahat.
Jumlah di laman web ini jquery-js.com Enam versi penghidu telah dikenal pasti. Penghidu ini menghantar data yang dicuri ke alamat yang terletak di tapak web yang sama dengan penghidu itu sendiri: 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
Domain kemudiannya g-analytics.com, yang digunakan oleh kumpulan itu dalam serangan sejak pertengahan 2018, berfungsi sebagai repositori untuk lebih banyak penghidu. Secara keseluruhan, 16 versi penghidu yang berbeza ditemui. Dalam kes ini, pintu untuk menghantar data yang dicuri telah menyamar sebagai pautan kepada format imej 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
Pengewangan data yang dicuri
Kumpulan penjenayah itu mengewangkan data yang dicuri dengan menjual kad melalui kedai bawah tanah yang dicipta khas yang menyediakan perkhidmatan kepada tukang kad. Analisis domain yang digunakan oleh penyerang membolehkan kami menentukannya google-analytics.cm telah didaftarkan oleh pengguna yang sama dengan domain cardz.vc. Domain cardz.vc merujuk kepada kedai yang menjual kad bank curi Cardsurfs (Flysurfs), yang mendapat populariti pada zaman aktiviti platform dagangan bawah tanah AlphaBay sebagai kedai menjual kad bank yang dicuri menggunakan penghidu.
Menganalisis domain analitikal.ialah, terletak pada pelayan yang sama dengan domain yang digunakan oleh penghidu untuk mengumpul data yang dicuri, pakar Kumpulan-IB menemui fail yang mengandungi log pencuri kuki, yang nampaknya telah ditinggalkan oleh pembangun. Salah satu entri dalam log mengandungi domain iozoz.com, yang sebelum ini digunakan dalam salah satu penghidu yang aktif pada tahun 2016. Agaknya, domain ini sebelum ini digunakan oleh penyerang untuk mengumpul kad yang dicuri menggunakan sniffer. Domain ini telah didaftarkan ke alamat e-mel [e-mel dilindungi], yang juga digunakan untuk mendaftar domain cardz.su ΠΈ cardz.vc, berkaitan dengan kedai kad Cardsurfs.
Berdasarkan data yang diperoleh, boleh diandaikan bahawa keluarga penghidu G-Analytics dan kedai bawah tanah yang menjual kad bank Cardsurfs diuruskan oleh orang yang sama, dan kedai tersebut digunakan untuk menjual kad bank yang dicuri menggunakan penghidu.
Infrastruktur
ΠΠΎΠΌΠ΅Π½ | Tarikh penemuan/kemunculan |
---|---|
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 |
analitikal.kepada | 04.12.2018 |
google-analytics.to | 06.12.2018 |
google-analytics.cm | 28.12.2018 |
analitikal.ialah | 28.12.2018 |
googlc-analytics.cm | 17.01.2019 |
keluarga Illum
Illum ialah keluarga penghidu yang digunakan untuk menyerang kedai dalam talian yang menjalankan CMS Magento. Selain memperkenalkan kod hasad, pengendali penghidu ini juga menggunakan pengenalan borang pembayaran palsu sepenuhnya yang menghantar data ke pintu yang dikawal oleh penyerang.
Apabila menganalisis infrastruktur rangkaian yang digunakan oleh pengendali penghidu ini, sejumlah besar skrip berniat jahat, eksploitasi, borang pembayaran palsu, serta koleksi contoh dengan penghidu berniat jahat daripada pesaing telah diperhatikan. Berdasarkan maklumat mengenai tarikh kemunculan nama domain yang digunakan oleh kumpulan, boleh diandaikan bahawa kempen itu bermula pada penghujung tahun 2016.
Bagaimana Illum dilaksanakan ke dalam kod kedai dalam talian
Versi pertama penghidu yang ditemui telah dibenamkan terus ke dalam kod tapak yang terjejas. Data yang dicuri telah dihantar ke cdn.illum[.]pw/records.php, get telah dikodkan menggunakan base64.
Kemudian, versi terbungkus penghidu telah ditemui yang menggunakan pintu pagar yang berbeza - rekod.nstatistik[.]com/records.php.
Menurut
Analisis laman web penyerang
Pakar Kumpulan-IB menemui dan menganalisis tapak web yang digunakan oleh kumpulan penjenayah ini untuk menyimpan alatan dan mengumpul maklumat yang dicuri.
Antara alatan yang ditemui pada pelayan penyerang ialah skrip dan eksploitasi untuk meningkatkan keistimewaan dalam OS Linux: contohnya, Skrip Semakan Peningkatan Keistimewaan Linux yang dibangunkan oleh Mike Czumak, serta eksploitasi untuk CVE-2009-1185.
Penyerang menggunakan dua eksploitasi secara langsung untuk menyerang kedai dalam talian:
Selain itu, semasa analisis pelayan, pelbagai sampel penghidu dan borang pembayaran palsu ditemui, digunakan oleh penyerang untuk mengumpul maklumat pembayaran daripada tapak yang digodam. Seperti yang anda boleh lihat daripada senarai di bawah, beberapa skrip dicipta secara individu untuk setiap tapak yang digodam, manakala penyelesaian universal digunakan untuk CMS dan gerbang pembayaran tertentu. Contohnya, skrip segapay_standart.js ΠΈ segapay_onpage.js direka untuk pelaksanaan di tapak menggunakan gerbang pembayaran Sage Pay.
Senarai skrip untuk pelbagai gerbang pembayaran
Skrip | Gerbang pembayaran |
---|---|
|
//request.payrightnow[.]cf/checkpayment.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/checkpayment.php |
|
//cdn.illum[.]pw/records.php |
|
//request.payrightnow[.]cf/checkpayment.php |
|
//cdn.illum[.]pw/records.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//request.payrightnow[.]cf/alldata.php |
//request.payrightnow[.]cf/checkpayment.php | |
|
//request.payrightnow[.]cf/checkpayment.php |
|
//request.payrightnow[.]cf/alldata.php |
|
//cdn.illum[.]pw/records.php |
|
//cdn.illum[.]pw/records.php |
|
//request.payrightnow[.]cf/checkpayment.php |
|
//cdn.illum[.]pw/records.php |
//request.payrightnow[.]cf/checkpayment.php | |
|
//cdn.illum[.]pw/records.php |
//payrightnow[.]cf/?payment= | |
|
//payrightnow[.]cf/?payment= |
|
//paymentnow[.]tk/?payment= |
Tuan rumah pembayaran sekarang[.]tk, digunakan sebagai gerbang dalam skrip payment_forminsite.js, ditemui sebagai subjectAltName dalam beberapa sijil yang berkaitan dengan perkhidmatan CloudFlare. Di samping itu, hos mengandungi skrip jahat.js. Berdasarkan nama skrip, ia boleh digunakan sebagai sebahagian daripada eksploitasi CVE-2016-4010, yang mana ia mungkin untuk menyuntik kod hasad ke dalam pengaki tapak yang menjalankan CMS Magento. Hos menggunakan skrip ini sebagai gerbang request.requestnet[.]tkmenggunakan sijil yang sama seperti hos pembayaran sekarang[.]tk.
Borang pembayaran palsu
Rajah di bawah menunjukkan contoh borang untuk memasukkan data kad. Borang ini digunakan untuk menyusup ke kedai dalam talian dan mencuri data kad.
Angka berikut menunjukkan contoh borang pembayaran PayPal palsu yang digunakan oleh penyerang untuk menyusup ke tapak dengan kaedah pembayaran ini.
Infrastruktur
ΠΠΎΠΌΠ΅Π½ | Tarikh penemuan/kemunculan |
---|---|
cdn.illum.pw | 27/11/2016 |
records.nstatistics.com | 06/09/2018 |
request.payrightnow.cf | 25/05/2018 |
paymentnow.tk | 16/07/2017 |
talian pembayaran.tk | 01/03/2018 |
paymentpal.cf | 04/09/2017 |
requestnet.tk | 28/06/2017 |
Keluarga CoffeeMokko
Keluarga penghidu CoffeMokko, yang direka untuk mencuri kad bank daripada pengguna kedai dalam talian, telah digunakan sejak sekurang-kurangnya Mei 2017. Mungkin, pengendali keluarga penghidu ini adalah kumpulan penjenayah Kumpulan 1, yang diterangkan oleh pakar RiskIQ pada 2016. Tapak yang menjalankan CMS seperti Magento, OpenCart, WordPress, osCommerce dan Shopify telah diserang.
Bagaimana CoffeMokko dilaksanakan ke dalam kod kedai dalam talian
Pengendali keluarga ini mencipta penghidu unik untuk setiap jangkitan: fail penghidu terletak dalam direktori src atau js pada pelayan penyerang. Penggabungan ke dalam kod tapak dilakukan melalui pautan terus kepada penghidu.
Kod penghidu kod keras nama medan borang yang mana data perlu dicuri. Penghidu juga menyemak sama ada pengguna berada di halaman pembayaran dengan menyemak senarai kata kunci dengan alamat semasa pengguna.
Beberapa versi penghidu yang ditemui telah dikaburkan dan mengandungi rentetan yang disulitkan di mana tatasusunan sumber utama disimpan: ia mengandungi nama medan borang untuk pelbagai sistem pembayaran, serta alamat pintu masuk tempat data yang dicuri harus dihantar.
Maklumat pembayaran yang dicuri telah dihantar ke skrip pada pelayan penyerang di sepanjang jalan /savePayment/index.php atau /tr/index.php. Mungkin, skrip ini digunakan untuk menghantar data dari gate ke pelayan utama, yang menyatukan data daripada semua sniffers. Untuk menyembunyikan data yang dihantar, semua maklumat pembayaran mangsa disulitkan menggunakan base64, dan kemudian beberapa penggantian aksara berlaku:
- aksara "e" digantikan dengan ":"
- simbol "w" digantikan dengan "+"
- aksara "o" digantikan dengan "%"
- aksara "d" digantikan dengan "#"
- aksara "a" digantikan dengan "-"
- simbol "7" digantikan dengan "^"
- aksara "h" digantikan dengan "_"
- simbol "T" digantikan dengan "@"
- aksara "0" digantikan dengan "/"
- aksara "Y" digantikan dengan "*"
Hasil daripada penggantian aksara yang dikodkan menggunakan base64 Data tidak boleh dinyahkod tanpa melakukan penukaran terbalik.
Beginilah rupa serpihan kod penghidu yang belum dikaburkan:
Analisis Infrastruktur
Dalam kempen awal, penyerang mendaftarkan nama domain yang serupa dengan tapak beli-belah dalam talian yang sah. Domain mereka mungkin berbeza daripada satu demi satu simbol yang sah atau TLD yang lain. Domain berdaftar telah digunakan untuk menyimpan kod sniffer, pautan yang dibenamkan dalam kod kedai.
Kumpulan ini juga menggunakan nama domain yang mengingatkan pemalam jQuery yang popular (slickjs[.]org untuk tapak yang menggunakan pemalam licin.js), gerbang pembayaran (sagecdn[.]org untuk tapak yang menggunakan sistem pembayaran Sage Pay).
Kemudian, kumpulan itu mula mencipta domain yang namanya tiada kaitan dengan domain kedai atau tema kedai.
Setiap domain sepadan dengan tapak di mana direktori dibuat / js atau / src. Skrip penghidu telah disimpan dalam direktori ini: satu penghidu untuk setiap jangkitan baharu. Sniffer telah dibenamkan dalam kod tapak web melalui pautan terus, tetapi dalam kes yang jarang berlaku, penyerang mengubah suai salah satu fail tapak web dan menambahkan kod hasad padanya.
Analisis Kod
Algoritma kekeliruan pertama
Dalam beberapa contoh penghidu keluarga ini yang ditemui, kod tersebut telah dikaburkan dan mengandungi data yang disulitkan yang diperlukan untuk penghidu berfungsi: khususnya, alamat pintu penghidu, senarai medan borang pembayaran dan dalam beberapa kes, kod palsu. borang pembayaran. Dalam kod di dalam fungsi, sumber telah disulitkan menggunakan XOR oleh kunci yang telah diluluskan sebagai hujah kepada fungsi yang sama.
Dengan menyahsulit rentetan dengan kunci yang sesuai, unik untuk setiap sampel, anda boleh mendapatkan rentetan yang mengandungi semua rentetan daripada kod penghidu yang dipisahkan oleh aksara pemisah.
Algoritma kekeliruan kedua
Dalam sampel penghidu keluarga ini yang kemudian, mekanisme pengeliruan yang berbeza telah digunakan: dalam kes ini, data telah disulitkan menggunakan algoritma yang ditulis sendiri. Rentetan yang mengandungi data yang disulitkan yang diperlukan untuk penghidu untuk beroperasi telah diluluskan sebagai hujah kepada fungsi penyahsulitan.
Menggunakan konsol penyemak imbas, anda boleh menyahsulit data yang disulitkan dan mendapatkan tatasusunan yang mengandungi sumber sniffer.
Sambungan kepada serangan awal MageCart
Semasa analisis salah satu domain yang digunakan oleh kumpulan sebagai pintu masuk untuk mengumpul data yang dicuri, didapati bahawa domain ini menjadi tuan rumah infrastruktur untuk kecurian kad kredit, sama dengan yang digunakan oleh Kumpulan 1, salah satu kumpulan pertama,
Dua fail ditemui pada hos keluarga penghidu CoffeMokko:
- mage.js β fail yang mengandungi kod penghidu Kumpulan 1 dengan alamat pintu masuk js-cdn.link
- mag.php β Skrip PHP bertanggungjawab untuk mengumpul data yang dicuri oleh penghidu
Kandungan fail mage.js
Ia juga ditentukan bahawa domain terawal yang digunakan oleh kumpulan di belakang keluarga penghidu CoffeMokko telah didaftarkan pada 17 Mei 2017:
- pautan-js[.]pautan
- pautan info-js[.].
- pautan track-js[.].
- pautan map-js[.].
- pautan smart-js[.].
Format nama domain ini sepadan dengan nama domain Kumpulan 1 yang digunakan dalam serangan 2016.
Berdasarkan fakta yang ditemui, boleh diandaikan bahawa terdapat kaitan antara pengendali penghidu CoffeMokko dengan kumpulan penjenayah Kumpulan 1. Mungkin, pengendali CoffeMokko boleh meminjam alat dan perisian daripada pendahulu mereka untuk mencuri kad. Walau bagaimanapun, berkemungkinan besar kumpulan penjenayah di sebalik penggunaan keluarga penghidu CoffeMokko adalah orang yang sama yang melakukan serangan Kumpulan 1. Berikutan penerbitan laporan pertama mengenai aktiviti kumpulan penjenayah itu, semua nama domain mereka telah disekat dan alatan dikaji secara terperinci dan diterangkan. Kumpulan itu terpaksa berehat, memperhalusi alatan dalamannya dan menulis semula kod penghidu untuk meneruskan serangannya dan kekal tidak dapat dikesan.
Infrastruktur
ΠΠΎΠΌΠ΅Π½ | Tarikh penemuan/kemunculan |
---|---|
pautan-js.pautan | 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 |
childrensplayclothing.org | 31.10.2017 |
jewsondirect.com | 05.11.2017 |
shop-rnib.org | 15.11.2017 |
closetlondon.org | 16.11.2017 |
misshaus.org | 28.11.2017 |
battery-force.org | 01.12.2017 |
kik-vape.org | 01.12.2017 |
greatfurnituretradingco.org | 02.12.2017 |
etradesupply.org | 04.12.2017 |
replacemyremote.org | 04.12.2017 |
all-about-sneakers.org | 05.12.2017 |
mage-checkout.org | 05.12.2017 |
nililotan.org | 07.12.2017 |
lamoodbighat.net | 08.12.2017 |
walletgear.org | 10.12.2017 |
dahlie.org | 12.12.2017 |
davidsfootwear.org | 20.12.2017 |
blackriverimaging.org | 23.12.2017 |
exrpesso.org | 02.01.2018 |
taman.su | 09.01.2018 |
pmtonline.su | 12.01.2018 |
otocap.org | 15.01.2018 |
christohperward.org | 27.01.2018 |
coffeetea.org | 31.01.2018 |
energycoffe.org | 31.01.2018 |
energytea.org | 31.01.2018 |
teacoffe.net | 31.01.2018 |
adaptivecss.org | 01.03.2018 |
coffeemokko.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 |
totogipay.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 |
swapastore.com | 15.09.2018 |
verywellfitnesse.com | 15.09.2018 |
elegrina.com | 18.11.2018 |
majorplus.com | 19.11.2018 |
top5value.com | 19.11.2018 |
Sumber: www.habr.com