Empat sniffer JavaScript yang menunggu Anda di toko online

Empat sniffer JavaScript yang menunggu Anda di toko online

Hampir semua dari kita menggunakan layanan toko online, yang berarti cepat atau lambat kita berisiko menjadi korban sniffer JavaScript - kode khusus yang diterapkan penyerang di situs web untuk mencuri data kartu bank, alamat, login, dan kata sandi pengguna. .

Hampir 400 pengguna situs web dan aplikasi seluler British Airways telah terpengaruh oleh sniffer, serta pengunjung situs web raksasa olahraga Inggris FILA dan distributor tiket Amerika Ticketmaster. PayPal, Chase Paymenttech, USAePay, Moneris - sistem ini dan banyak sistem pembayaran lainnya terinfeksi.

Analis Threat Intelligence Group-IB Viktor Okorokov berbicara tentang bagaimana sniffer menyusup ke kode situs web dan mencuri informasi pembayaran, serta CRM apa yang mereka serang.

Empat sniffer JavaScript yang menunggu Anda di toko online

"Ancaman tersembunyi"

Kebetulan untuk waktu yang lama, sniffer JS tidak terlihat oleh analis anti-virus, dan bank serta sistem pembayaran tidak melihatnya sebagai ancaman serius. Dan sia-sia belaka. Pakar Grup-IB dianalisis 2440 toko online yang terinfeksi, yang pengunjungnya – total sekitar 1,5 juta orang per hari – berisiko disusupi. Di antara para korban tidak hanya pengguna, tetapi juga toko online, sistem pembayaran, dan bank yang menerbitkan kartu yang disusupi.

Laporan Group-IB menjadi studi pertama tentang pasar darknet untuk sniffer, infrastrukturnya, dan metode monetisasinya, yang menghasilkan jutaan dolar bagi pembuatnya. Kami mengidentifikasi 38 keluarga sniffer, dimana hanya 12 di antaranya yang sebelumnya diketahui para peneliti.

Mari kita membahas secara rinci empat keluarga sniffer yang dipelajari selama penelitian.

Keluarga ReactGet

Sniffer dari keluarga ReactGet digunakan untuk mencuri data kartu bank di situs belanja online. Sniffer dapat bekerja dengan sejumlah besar sistem pembayaran berbeda yang digunakan di situs: satu nilai parameter sesuai dengan satu sistem pembayaran, dan masing-masing versi sniffer yang terdeteksi dapat digunakan untuk mencuri kredensial, serta mencuri data kartu bank dari pembayaran bentuk beberapa sistem pembayaran sekaligus, seperti yang disebut universal sniffer. Ditemukan bahwa dalam beberapa kasus, penyerang melakukan serangan phishing terhadap administrator toko online untuk mendapatkan akses ke panel administratif situs.

Kampanye yang menggunakan kelompok sniffer ini dimulai pada Mei 2017; situs yang menjalankan platform CMS dan Magento, Bigcommerce, dan Shopify diserang.

Bagaimana ReactGet diimplementasikan ke dalam kode toko online

Selain implementasi skrip "klasik" melalui tautan, operator dari keluarga sniffer ReactGet menggunakan teknik khusus: menggunakan kode JavaScript, mereka memeriksa apakah alamat tempat pengguna saat ini berada memenuhi kriteria tertentu. Kode berbahaya hanya akan dieksekusi jika substring ada di URL saat ini pemeriksaan ΠΈΠ»ΠΈ pembayaran satu langkah, satu halaman/, keluar/onehalaman, checkout/satu, ckout/satu. Dengan demikian, kode sniffer akan dieksekusi tepat pada saat pengguna mulai membayar pembelian dan memasukkan informasi pembayaran ke dalam formulir di situs.

Empat sniffer JavaScript yang menunggu Anda di toko online
Sniffer ini menggunakan teknik non-standar. Pembayaran dan data pribadi korban dikumpulkan bersama dan dikodekan menggunakan base64, lalu string yang dihasilkan digunakan sebagai parameter untuk mengirim permintaan ke situs web penyerang. Paling sering, jalur menuju gerbang meniru file JavaScript, misalnya resp.js, data.js dan seterusnya, namun link ke file gambar juga digunakan, GIF ΠΈ JPG. Keunikannya adalah sniffer membuat objek gambar berukuran 1 kali 1 piksel dan menggunakan tautan yang diterima sebelumnya sebagai parameter src Gambar-gambar. Artinya, bagi pengguna, permintaan lalu lintas seperti itu akan terlihat seperti permintaan gambar biasa. Teknik serupa digunakan dalam keluarga sniffer ImageID. Selain itu, teknik penggunaan gambar 1 per 1 piksel digunakan di banyak skrip analisis online yang sah, yang juga dapat menyesatkan pengguna.

Empat sniffer JavaScript yang menunggu Anda di toko online

Analisis Versi

Analisis domain aktif yang digunakan oleh operator sniffer ReactGet mengungkapkan banyak versi berbeda dari keluarga sniffer ini. Versi berbeda dalam ada atau tidaknya kebingungan, dan sebagai tambahan, setiap sniffer dirancang untuk sistem pembayaran tertentu yang memproses pembayaran kartu bank untuk toko online. Setelah mengurutkan nilai parameter yang sesuai dengan nomor versi, spesialis Grup-IB menerima daftar lengkap variasi sniffer yang tersedia, dan berdasarkan nama bidang formulir yang dicari setiap sniffer di kode halaman, mereka mengidentifikasi sistem pembayaran yang dituju oleh sniffer.

Daftar sniffer dan sistem pembayaran terkait

URL pelacak sistem pembayaran
reactjsapi.com/react.js Authorize.Net
ajaxstatic.com/api.js?v=2.1.1 Simpan kartu
ajaxstatic.com/api.js?v=2.1.2 Authorize.Net
ajaxstatic.com/api.js?v=2.1.3 Authorize.Net
ajaxstatic.com/api.js?v=2.1.4 eWAY Cepat
ajaxstatic.com/api.js?v=2.1.5 Authorize.Net
ajaxstatic.com/api.js?v=2.1.6 Adyen
ajaxstatic.com/api.js?v=2.1.7 USAePay
ajaxstatic.com/api.js?v=2.1.9 Authorize.Net
apitstatus.com/api.js?v=2.1.1 USAePay
apitstatus.com/api.js?v=2.1.2 Authorize.Net
apitstatus.com/api.js?v=2.1.3 moneris
apitstatus.com/api.js?v=2.1.5 USAePay
apitstatus.com/api.js?v=2.1.6 PayPal
apitstatus.com/api.js?v=2.1.7 Sage Bayar
apitstatus.com/api.js?v=2.1.8 VeriSign
apitstatus.com/api.js?v=2.1.9 PayPal
apitstatus.com/api.js?v=2.3.0 Garis
apitstatus.com/api.js?v=3.0.2 realeks
apitstatus.com/api.js?v=3.0.3 PayPal
apitstatus.com/api.js?v=3.0.4 Titik Tautan
apitstatus.com/api.js?v=3.0.5 PayPal
apitstatus.com/api.js?v=3.0.7 PayPal
apitstatus.com/api.js?v=3.0.8 DataCash
apitstatus.com/api.js?v=3.0.9 PayPal
asianfoodgracer.com/footer.js Authorize.Net
billgetstatus.com/api.js?v=1.2 Authorize.Net
billgetstatus.com/api.js?v=1.3 Authorize.Net
billgetstatus.com/api.js?v=1.4 Authorize.Net
billgetstatus.com/api.js?v=1.5 VeriSign
billgetstatus.com/api.js?v=1.6 Authorize.Net
billgetstatus.com/api.js?v=1.7 moneris
billgetstatus.com/api.js?v=1.8 Sage Bayar
billgetstatus.com/api.js?v=2.0 USAePay
billgetstatus.com/react.js Authorize.Net
cloudodesc.com/gtm.js?v=1.2 Authorize.Net
cloudodesc.com/gtm.js?v=1.3 Gerbang ANZ
cloudodesc.com/gtm.js?v=2.3 Authorize.Net
cloudodesc.com/gtm.js?v=2.4 moneris
cloudodesc.com/gtm.js?v=2.6 Sage Bayar
cloudodesc.com/gtm.js?v=2.7 Sage Bayar
cloudodesc.com/gtm.js?v=2.8 Mengejar Teknologi Pembayaran
cloudodesc.com/gtm.js?v=2.9 Authorize.Net
cloudodesc.com/gtm.js?v=2.91 Adyen
cloudodesc.com/gtm.js?v=2.92 Gerbang Psi
cloudodesc.com/gtm.js?v=2.93 Sumber Cyber
cloudodesc.com/gtm.js?v=2.95 Gerbang ANZ
cloudodesc.com/gtm.js?v=2.97 realeks
geisseie.com/gs.js USAePay
gtmproc.com/age.js Authorize.Net
gtmproc.com/gtm.js?v=1.2 Authorize.Net
gtmproc.com/gtm.js?v=1.3 Gerbang ANZ
gtmproc.com/gtm.js?v=1.5 PayPal
gtmproc.com/gtm.js?v=1.6 PayPal
gtmproc.com/gtm.js?v=1.7 realeks
livecheckpay.com/api.js?v=2.0 Sage Bayar
livecheckpay.com/api.js?v=2.1 PayPal
livecheckpay.com/api.js?v=2.2 VeriSign
livecheckpay.com/api.js?v=2.3 Authorize.Net
livecheckpay.com/api.js?v=2.4 VeriSign
livecheckpay.com/react.js Authorize.Net
livegetpay.com/pay.js?v=2.1.2 Gerbang ANZ
livegetpay.com/pay.js?v=2.1.3 PayPal
livegetpay.com/pay.js?v=2.1.5 Sumber Cyber
livegetpay.com/pay.js?v=2.1.7 Authorize.Net
livegetpay.com/pay.js?v=2.1.8 Sage Bayar
livegetpay.com/pay.js?v=2.1.9 realeks
livegetpay.com/pay.js?v=2.2.0 Sumber Cyber
livegetpay.com/pay.js?v=2.2.1 PayPal
livegetpay.com/pay.js?v=2.2.2 PayPal
livegetpay.com/pay.js?v=2.2.3 PayPal
livegetpay.com/pay.js?v=2.2.4 VeriSign
livegetpay.com/pay.js?v=2.2.5 eWAY Cepat
livegetpay.com/pay.js?v=2.2.7 Sage Bayar
livegetpay.com/pay.js?v=2.2.8 Sage Bayar
livegetpay.com/pay.js?v=2.2.9 VeriSign
livegetpay.com/pay.js?v=2.3.0 Authorize.Net
livegetpay.com/pay.js?v=2.3.1 Authorize.Net
livegetpay.com/pay.js?v=2.3.2 Gerbang Global Data Pertama
livegetpay.com/pay.js?v=2.3.3 Authorize.Net
livegetpay.com/pay.js?v=2.3.4 Authorize.Net
livegetpay.com/pay.js?v=2.3.5 moneris
livegetpay.com/pay.js?v=2.3.6 Authorize.Net
livegetpay.com/pay.js?v=2.3.8 PayPal
livegetpay.com/pay.js?v=2.4.0 VeriSign
maxstatics.com/site.js USAePay
mediapack.info/track.js?d=funlove.com USAePay
mediapack.info/track.js?d=qbedding.com Authorize.Net
mediapack.info/track.js?d=vseyewear.com VeriSign
mxcounter.com/c.js?v=1.2 PayPal
mxcounter.com/c.js?v=1.3 Authorize.Net
mxcounter.com/c.js?v=1.4 Garis
mxcounter.com/c.js?v=1.6 Authorize.Net
mxcounter.com/c.js?v=1.7 eWAY Cepat
mxcounter.com/c.js?v=1.8 Sage Bayar
mxcounter.com/c.js?v=2.0 Authorize.Net
mxcounter.com/c.js?v=2.1 Braintree
mxcounter.com/c.js?v=2.10 Braintree
mxcounter.com/c.js?v=2.2 PayPal
mxcounter.com/c.js?v=2.3 Sage Bayar
mxcounter.com/c.js?v=2.31 Sage Bayar
mxcounter.com/c.js?v=2.32 Authorize.Net
mxcounter.com/c.js?v=2.33 PayPal
mxcounter.com/c.js?v=2.34 Authorize.Net
mxcounter.com/c.js?v=2.35 VeriSign
mxcounter.com/click.js?v=1.2 PayPal
mxcounter.com/click.js?v=1.3 Authorize.Net
mxcounter.com/click.js?v=1.4 Garis
mxcounter.com/click.js?v=1.6 Authorize.Net
mxcounter.com/click.js?v=1.7 eWAY Cepat
mxcounter.com/click.js?v=1.8 Sage Bayar
mxcounter.com/click.js?v=2.0 Authorize.Net
mxcounter.com/click.js?v=2.1 Braintree
mxcounter.com/click.js?v=2.2 PayPal
mxcounter.com/click.js?v=2.3 Sage Bayar
mxcounter.com/click.js?v=2.31 Sage Bayar
mxcounter.com/click.js?v=2.32 Authorize.Net
mxcounter.com/click.js?v=2.33 PayPal
mxcounter.com/click.js?v=2.34 Authorize.Net
mxcounter.com/click.js?v=2.35 VeriSign
mxcounter.com/cnt.js Authorize.Net
mxcounter.com/j.js Authorize.Net
newrelicnet.com/api.js?v=1.2 Authorize.Net
newrelicnet.com/api.js?v=1.4 Authorize.Net
newrelicnet.com/api.js?v=1.8 Sage Bayar
newrelicnet.com/api.js?v=4.5 Sage Bayar
newrelicnet.com/api.js?v=4.6 Pembayaran Westpac
nr-public.com/api.js?v=2.0 Pembayaran
nr-public.com/api.js?v=2.1 PayPal
nr-public.com/api.js?v=2.2 Authorize.Net
nr-public.com/api.js?v=2.3 Garis
nr-public.com/api.js?v=2.4 Gerbang Global Data Pertama
nr-public.com/api.js?v=2.5 Gerbang Psi
nr-public.com/api.js?v=2.6 Authorize.Net
nr-public.com/api.js?v=2.7 Authorize.Net
nr-public.com/api.js?v=2.8 moneris
nr-public.com/api.js?v=2.9 Authorize.Net
nr-public.com/api.js?v=3.1 Sage Bayar
nr-public.com/api.js?v=3.2 VeriSign
nr-public.com/api.js?v=3.3 moneris
nr-public.com/api.js?v=3.5 PayPal
nr-public.com/api.js?v=3.6 Titik Tautan
nr-public.com/api.js?v=3.7 Pembayaran Westpac
nr-public.com/api.js?v=3.8 Authorize.Net
nr-public.com/api.js?v=4.0 moneris
nr-public.com/api.js?v=4.0.2 PayPal
nr-public.com/api.js?v=4.0.3 Adyen
nr-public.com/api.js?v=4.0.4 PayPal
nr-public.com/api.js?v=4.0.5 Authorize.Net
nr-public.com/api.js?v=4.0.6 USAePay
nr-public.com/api.js?v=4.0.7 Biaya EBiz
nr-public.com/api.js?v=4.0.8 Authorize.Net
nr-public.com/api.js?v=4.0.9 VeriSign
nr-public.com/api.js?v=4.1.2 VeriSign
ordercheckpays.com/api.js?v=2.11 Authorize.Net
ordercheckpays.com/api.js?v=2.12 PayPal
ordercheckpays.com/api.js?v=2.13 moneris
ordercheckpays.com/api.js?v=2.14 Authorize.Net
ordercheckpays.com/api.js?v=2.15 PayPal
ordercheckpays.com/api.js?v=2.16 PayPal
ordercheckpays.com/api.js?v=2.17 Pembayaran Westpac
ordercheckpays.com/api.js?v=2.18 Authorize.Net
ordercheckpays.com/api.js?v=2.19 Authorize.Net
ordercheckpays.com/api.js?v=2.21 Sage Bayar
ordercheckpays.com/api.js?v=2.22 VeriSign
ordercheckpays.com/api.js?v=2.23 Authorize.Net
ordercheckpays.com/api.js?v=2.24 PayPal
ordercheckpays.com/api.js?v=2.25 Pembayaran
ordercheckpays.com/api.js?v=2.29 Sumber Cyber
ordercheckpays.com/api.js?v=2.4 Aliran Pembayaran PayPal Pro
ordercheckpays.com/api.js?v=2.7 Authorize.Net
ordercheckpays.com/api.js?v=2.8 Authorize.Net
ordercheckpays.com/api.js?v=2.9 VeriSign
ordercheckpays.com/api.js?v=3.1 Authorize.Net
ordercheckpays.com/api.js?v=3.2 Authorize.Net
ordercheckpays.com/api.js?v=3.3 Sage Bayar
ordercheckpays.com/api.js?v=3.4 Authorize.Net
ordercheckpays.com/api.js?v=3.5 Garis
ordercheckpays.com/api.js?v=3.6 Authorize.Net
ordercheckpays.com/api.js?v=3.7 Authorize.Net
ordercheckpays.com/api.js?v=3.8 VeriSign
ordercheckpays.com/api.js?v=3.9 PayPal
ordercheckpays.com/api.js?v=4.0 Authorize.Net
ordercheckpays.com/api.js?v=4.1 Authorize.Net
ordercheckpays.com/api.js?v=4.2 Sage Bayar
ordercheckpays.com/api.js?v=4.3 Authorize.Net
reaksijsapi.com/api.js?v=0.1.0 Authorize.Net
reaksijsapi.com/api.js?v=0.1.1 PayPal
reaksijsapi.com/api.js?v=4.1.2 Batu api
reaksijsapi.com/api.js?v=4.1.4 PayPal
reaksijsapi.com/api.js?v=4.1.5 Sage Bayar
reaksijsapi.com/api.js?v=4.1.51 VeriSign
reaksijsapi.com/api.js?v=4.1.6 Authorize.Net
reaksijsapi.com/api.js?v=4.1.7 Authorize.Net
reaksijsapi.com/api.js?v=4.1.8 Garis
reaksijsapi.com/api.js?v=4.1.9 Zebra gemuk
reaksijsapi.com/api.js?v=4.2.0 Sage Bayar
reaksijsapi.com/api.js?v=4.2.1 Authorize.Net
reaksijsapi.com/api.js?v=4.2.2 Gerbang Global Data Pertama
reaksijsapi.com/api.js?v=4.2.3 Authorize.Net
reaksijsapi.com/api.js?v=4.2.4 eWAY Cepat
reaksijsapi.com/api.js?v=4.2.5 Adyen
reaksijsapi.com/api.js?v=4.2.7 PayPal
reaksijsapi.com/api.js?v=4.2.8 Layanan Pedagang QuickBooks
reaksijsapi.com/api.js?v=4.2.9 VeriSign
reaksijsapi.com/api.js?v=4.2.91 Sage Bayar
reaksijsapi.com/api.js?v=4.2.92 VeriSign
reaksijsapi.com/api.js?v=4.2.94 Authorize.Net
reaksijsapi.com/api.js?v=4.3.97 Authorize.Net
reaksijsapi.com/api.js?v=4.5 Sage Bayar
reactjsapi.com/react.js Authorize.Net
sydneysalonsupplies.com/gtm.js eWAY Cepat
tagmediaget.com/react.js Authorize.Net
tagtracking.com/tag.js?v=2.1.2 Gerbang ANZ
tagtracking.com/tag.js?v=2.1.3 PayPal
tagtracking.com/tag.js?v=2.1.5 Sumber Cyber
tagtracking.com/tag.js?v=2.1.7 Authorize.Net
tagtracking.com/tag.js?v=2.1.8 Sage Bayar
tagtracking.com/tag.js?v=2.1.9 realeks
tagtracking.com/tag.js?v=2.2.0 Sumber Cyber
tagtracking.com/tag.js?v=2.2.1 PayPal
tagtracking.com/tag.js?v=2.2.2 PayPal
tagtracking.com/tag.js?v=2.2.3 PayPal
tagtracking.com/tag.js?v=2.2.4 VeriSign
tagtracking.com/tag.js?v=2.2.5 eWAY Cepat
tagtracking.com/tag.js?v=2.2.7 Sage Bayar
tagtracking.com/tag.js?v=2.2.8 Sage Bayar
tagtracking.com/tag.js?v=2.2.9 VeriSign
tagtracking.com/tag.js?v=2.3.0 Authorize.Net
tagtracking.com/tag.js?v=2.3.1 Authorize.Net
tagtracking.com/tag.js?v=2.3.2 Gerbang Global Data Pertama
tagtracking.com/tag.js?v=2.3.3 Authorize.Net
tagtracking.com/tag.js?v=2.3.4 Authorize.Net
tagtracking.com/tag.js?v=2.3.5 moneris
tagtracking.com/tag.js?v=2.3.6 Authorize.Net
tagtracking.com/tag.js?v=2.3.8 PayPal

Pelacak kata sandi

Salah satu keuntungan dari sniffer JavaScript yang bekerja di sisi klien situs web adalah keserbagunaannya: kode berbahaya yang tertanam di situs web dapat mencuri semua jenis data, baik itu data pembayaran atau login dan kata sandi akun pengguna. Spesialis Group-IB menemukan sampel sniffer milik keluarga ReactGet, yang dirancang untuk mencuri alamat email dan kata sandi pengguna situs.

Empat sniffer JavaScript yang menunggu Anda di toko online

Persimpangan dengan sniffer ImageID

Selama analisis salah satu toko yang terinfeksi, ditemukan bahwa situsnya terinfeksi dua kali: selain kode berbahaya dari sniffer keluarga ReactGet, kode sniffer keluarga ImageID juga terdeteksi. Tumpang tindih ini bisa menjadi bukti bahwa operator di belakang kedua sniffer menggunakan teknik serupa untuk memasukkan kode berbahaya.

Empat sniffer JavaScript yang menunggu Anda di toko online

Pengendus universal

Analisis terhadap salah satu nama domain yang terkait dengan infrastruktur sniffer ReactGet mengungkapkan bahwa pengguna yang sama telah mendaftarkan tiga nama domain lainnya. Ketiga domain ini meniru domain situs web di kehidupan nyata dan sebelumnya digunakan untuk menghosting sniffer. Saat menganalisis kode dari tiga situs yang sah, sniffer yang tidak dikenal terdeteksi, dan analisis lebih lanjut menunjukkan bahwa itu adalah versi perbaikan dari sniffer ReactGet. Semua versi keluarga sniffer yang dipantau sebelumnya ditujukan untuk satu sistem pembayaran, yaitu, setiap sistem pembayaran memerlukan versi sniffer khusus. Namun, dalam kasus ini, ditemukan versi universal dari sniffer yang mampu mencuri informasi dari formulir yang terkait dengan 15 sistem pembayaran berbeda dan modul situs e-niaga untuk melakukan pembayaran online.

Jadi, pada awal pekerjaannya, sniffer mencari kolom formulir dasar yang berisi informasi pribadi korban: nama lengkap, alamat fisik, nomor telepon.

Empat sniffer JavaScript yang menunggu Anda di toko online
Sniffer kemudian mencari lebih dari 15 awalan berbeda yang sesuai dengan sistem pembayaran dan modul pembayaran online yang berbeda.

Empat sniffer JavaScript yang menunggu Anda di toko online
Selanjutnya, data pribadi korban dan informasi pembayaran dikumpulkan bersama dan dikirim ke situs yang dikendalikan oleh penyerang: dalam kasus khusus ini, dua versi sniffer ReactGet universal ditemukan, terletak di dua situs berbeda yang diretas. Namun, kedua versi mengirimkan data curian ke situs yang diretas sama zoobashop.com.

Empat sniffer JavaScript yang menunggu Anda di toko online
Analisis awalan yang digunakan sniffer untuk mencari bidang yang berisi informasi pembayaran korban memungkinkan kami menentukan bahwa sampel sniffer ini ditujukan untuk sistem pembayaran berikut:

  • Authorize.Net
  • VeriSign
  • Data Pertama
  • USAePay
  • Garis
  • PayPal
  • Gerbang ANZ
  • Braintree
  • DataCash (MasterCard)
  • Pembayaran Realex
  • Gerbang Psi
  • Sistem Pembayaran Heartland

Alat apa yang digunakan untuk mencuri informasi pembayaran?

Alat pertama, yang ditemukan selama analisis infrastruktur penyerang, digunakan untuk mengaburkan skrip jahat yang bertanggung jawab atas pencurian kartu bank. Skrip bash yang menggunakan CLI proyek ditemukan di salah satu host penyerang javascript-obfuscator untuk mengotomatiskan kebingungan kode sniffer.

Empat sniffer JavaScript yang menunggu Anda di toko online
Alat kedua yang ditemukan dirancang untuk menghasilkan kode yang bertanggung jawab untuk memuat sniffer utama. Alat ini menghasilkan kode JavaScript yang memeriksa apakah pengguna berada di halaman pembayaran dengan mencari string di alamat pengguna saat ini pemeriksaan, gerobak dan seterusnya, dan jika hasilnya positif, maka kode tersebut memuat sniffer utama dari server penyerang. Untuk menyembunyikan aktivitas jahat, semua baris, termasuk baris pengujian untuk menentukan halaman pembayaran, serta tautan ke sniffer, dikodekan menggunakan base64.

Empat sniffer JavaScript yang menunggu Anda di toko online

Serangan phishing

Analisis terhadap infrastruktur jaringan penyerang mengungkapkan bahwa kelompok kriminal sering menggunakan phishing untuk mendapatkan akses ke panel administratif toko online target. Penyerang mendaftarkan domain yang secara visual mirip dengan domain toko, lalu menyebarkan formulir login panel administrasi Magento palsu di dalamnya. Jika berhasil, penyerang akan mendapatkan akses ke panel administratif CMS Magento, yang memberi mereka kesempatan untuk mengedit komponen situs web dan menerapkan sniffer untuk mencuri data kartu kredit.

Empat sniffer JavaScript yang menunggu Anda di toko online
Infrastruktur

Π”ΠΎΠΌΠ΅Π½ Tanggal penemuan/penampakan
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
reaksijsapi.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
kepercayaan-tracker.com 15.07.2018
fbstatspartner.com 02.10.2018
billgetstatus.com 12.10.2018
www.aldenmlilhouse.com 20.10.2018
baletbeautlful.com 20.10.2018
bargalnjunkie.com 20.10.2018
payselector.com 21.10.2018
tagmediaget.com 02.11.2018
hs-pembayaran.com 16.11.2018
pesanancheckpays.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-publik.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 sniffer ini digunakan untuk mencuri kartu pelanggan dari toko online. Nama domain pertama yang digunakan oleh grup tersebut didaftarkan pada bulan April 2016, yang mungkin menunjukkan bahwa grup tersebut memulai aktivitasnya pada pertengahan tahun 2016.

Dalam kampanye saat ini, grup tersebut menggunakan nama domain yang meniru layanan di kehidupan nyata, seperti Google Analytics dan jQuery, menutupi aktivitas sniffer dengan skrip sah dan nama domain serupa dengan yang sah. Situs yang menjalankan CMS Magento diserang.

Bagaimana G-Analytics diimplementasikan ke dalam kode toko online

Ciri khas keluarga ini adalah penggunaan berbagai metode untuk mencuri informasi pembayaran pengguna. Selain menyuntikkan kode JavaScript klasik ke sisi klien situs, kelompok kriminal juga menggunakan teknik injeksi kode ke sisi server situs, yaitu skrip PHP yang memproses data yang dimasukkan pengguna. Teknik ini berbahaya karena menyulitkan peneliti pihak ketiga untuk mendeteksi kode berbahaya. Spesialis Group-IB menemukan versi sniffer yang tertanam dalam kode PHP situs, menggunakan domain sebagai gerbang dittm.org.

Empat sniffer JavaScript yang menunggu Anda di toko online
Versi awal dari sniffer juga ditemukan yang menggunakan domain yang sama untuk mengumpulkan data yang dicuri dittm.org, tetapi versi ini ditujukan untuk instalasi di sisi klien toko online.

Empat sniffer JavaScript yang menunggu Anda di toko online
Kelompok ini kemudian mengubah taktiknya dan mulai lebih fokus menyembunyikan aktivitas jahat dan kamuflase.

Pada awal tahun 2017, grup tersebut mulai menggunakan domain tersebut jquery-js.com, menyamar sebagai CDN untuk jQuery: saat membuka situs penyerang, pengguna dialihkan ke situs yang sah jquery.com.

Dan pada pertengahan tahun 2018, grup tersebut mengadopsi nama domain tersebut g-analytics.com dan mulai menyamarkan aktivitas sniffer sebagai layanan Google Analytics yang sah.

Empat sniffer JavaScript yang menunggu Anda di toko online
Empat sniffer JavaScript yang menunggu Anda di toko online

Analisis Versi

Selama analisis domain yang digunakan untuk menyimpan kode sniffer, ditemukan bahwa situs tersebut berisi sejumlah besar versi, yang berbeda dengan adanya kebingungan, serta ada tidaknya kode yang tidak dapat dijangkau yang ditambahkan ke file untuk mengalihkan perhatian. dan menyembunyikan kode berbahaya.

Total di situs jquery-js.com Enam versi sniffer diidentifikasi. Sniffer ini mengirimkan data yang dicuri ke alamat yang terletak di situs web yang sama dengan sniffer 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 selanjutnya g-analytics.com, yang digunakan oleh kelompok tersebut dalam serangan sejak pertengahan tahun 2018, berfungsi sebagai gudang bagi lebih banyak sniffer. Secara total, 16 versi sniffer berbeda ditemukan. Dalam kasus ini, gerbang pengiriman data yang dicuri disamarkan sebagai tautan ke format gambar 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

Monetisasi data yang dicuri

Kelompok kriminal memonetisasi data yang dicuri dengan menjual kartu melalui toko bawah tanah yang dibuat khusus yang menyediakan layanan kepada carder. Analisis terhadap domain yang digunakan oleh penyerang memungkinkan kami menentukan hal tersebut google-analytics.cm didaftarkan oleh pengguna yang sama dengan domain cardz.vc. Domain cardz.vc mengacu pada toko yang menjual kartu bank curian Cardsurfs (Flysurfs), yang mendapatkan popularitas pada masa aktivitas platform perdagangan bawah tanah AlphaBay sebagai toko yang menjual kartu bank yang dicuri menggunakan sniffer.

Empat sniffer JavaScript yang menunggu Anda di toko online
Menganalisis domain analitis.is, terletak di server yang sama dengan domain yang digunakan oleh sniffer untuk mengumpulkan data yang dicuri, spesialis Group-IB menemukan file yang berisi log pencuri cookie, yang tampaknya kemudian ditinggalkan oleh pengembang. Salah satu entri dalam log berisi domain iozoz.com, yang sebelumnya digunakan di salah satu sniffer yang aktif pada tahun 2016. Agaknya, domain ini sebelumnya digunakan oleh penyerang untuk mengumpulkan kartu yang dicuri menggunakan sniffer. Domain ini telah didaftarkan ke alamat email [email dilindungi], yang juga digunakan untuk mendaftarkan domain cardz.su ΠΈ cardz.vc, terkait dengan toko carding Cardsurfs.

Berdasarkan data yang diperoleh, dapat diasumsikan bahwa keluarga sniffer G-Analytics dan toko bawah tanah yang menjual kartu bank Cardsurfs dikelola oleh orang yang sama, dan toko tersebut digunakan untuk menjual kartu bank yang dicuri menggunakan sniffer.

Infrastruktur

Π”ΠΎΠΌΠ΅Π½ Tanggal penemuan/penampakan
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
analitis.ke 04.12.2018
google-analytics.to 06.12.2018
google-analytics.cm 28.12.2018
analitis.is 28.12.2018
googlc-analytics.cm 17.01.2019

keluarga Ilum

Illum adalah keluarga sniffer yang digunakan untuk menyerang toko online yang menjalankan CMS Magento. Selain memasukkan kode berbahaya, operator sniffer ini juga menggunakan formulir pembayaran palsu lengkap yang mengirimkan data ke gerbang yang dikendalikan oleh penyerang.

Saat menganalisis infrastruktur jaringan yang digunakan oleh operator sniffer ini, sejumlah besar skrip berbahaya, eksploitasi, formulir pembayaran palsu, serta kumpulan contoh sniffer jahat dari pesaing dicatat. Berdasarkan informasi tanggal kemunculan nama domain yang digunakan grup tersebut, dapat diasumsikan bahwa kampanye dimulai pada akhir tahun 2016.

Bagaimana Illum diimplementasikan ke dalam kode toko online

Versi pertama dari sniffer yang ditemukan ditanamkan langsung ke dalam kode situs yang disusupi. Data yang dicuri telah dikirim ke cdn.illum[.]pw/records.php, gerbang itu dikodekan menggunakan base64.

Empat sniffer JavaScript yang menunggu Anda di toko online
Kemudian, versi paket dari sniffer ditemukan menggunakan gerbang yang berbeda - catatan.nstatistics[.]com/records.php.

Empat sniffer JavaScript yang menunggu Anda di toko online
Menurut melaporkan Willem de Groot, host yang sama digunakan dalam sniffer, yang diimplementasikan situs web toko, dimiliki oleh partai politik Jerman CSU.

Analisis situs web penyerang

Spesialis Group-IB menemukan dan menganalisis situs web yang digunakan oleh kelompok kriminal ini untuk menyimpan alat dan mengumpulkan informasi curian.

Empat sniffer JavaScript yang menunggu Anda di toko online
Di antara alat yang ditemukan di server penyerang adalah skrip dan eksploitasi untuk meningkatkan hak istimewa di OS Linux: misalnya, Skrip Pemeriksaan Eskalasi Hak Istimewa Linux yang dikembangkan oleh Mike Czumak, serta eksploitasi untuk CVE-2009-1185.

Para penyerang menggunakan dua eksploitasi secara langsung untuk menyerang toko online: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ mampu menyuntikkan kode berbahaya ke dalamnya core_config_data dengan memanfaatkan CVE-2016-4010, kedua mengeksploitasi kerentanan RCE di plugin untuk CMS Magento, memungkinkan kode arbitrer dieksekusi di server web yang rentan.

Empat sniffer JavaScript yang menunggu Anda di toko online
Selain itu, selama analisis server, berbagai sampel sniffer dan formulir pembayaran palsu ditemukan, yang digunakan oleh penyerang untuk mengumpulkan informasi pembayaran dari situs yang diretas. Seperti yang Anda lihat dari daftar di bawah, beberapa skrip dibuat secara individual untuk setiap situs yang diretas, sementara solusi universal digunakan untuk CMS dan gateway pembayaran tertentu. Misalnya saja skrip segapay_standart.js ΠΈ segapay_onpage.js dirancang untuk diterapkan di situs yang menggunakan gateway pembayaran Sage Pay.

Daftar skrip untuk berbagai gateway pembayaran

Skrip Gerbang pembayaran
sr.illum[.]pw/mjs_special/visiondirect.co.uk.js //request.payrightnow[.]cf/checkpembayaran.php
sr.illum[.]pw/mjs_special/topdierenshop.nl.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/tiendalenovo.es.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/pro-bolt.com.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/plae.co.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/ottolenghi.co.uk.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/oldtimecandy.com.js //request.payrightnow[.]cf/checkpembayaran.php
sr.illum[.]pw/mjs_special/mylook.ee.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/luluandsky.com.js //request.payrightnow[.]cf/checkpembayaran.php
sr.illum[.]pw/mjs_special/julep.com.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/gymcompany.es.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/grotekadoshop.nl.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/fushi.co.uk.js //request.payrightnow[.]cf/checkpembayaran.php
sr.illum[.]pw/mjs_special/fareastflora.com.js //request.payrightnow[.]cf/checkpembayaran.php
sr.illum[.]pw/mjs_special/compuindia.com.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs/segapay_standart.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/segapay_onpage.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/replace_standart.js //request.payrightnow[.]cf/checkpembayaran.php
sr.illum[.]pw/mjs/all_inputs.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/add_inputs_standart.js //request.payrightnow[.]cf/checkpembayaran.php
sr.illum[.]pw/magento/pembayaran_standart.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/magento/pembayaran_redirect.js //bayar sekarang[.]cf/?pembayaran=
sr.illum[.]pw/magento/pembayaran_redcrypt.js //bayar sekarang[.]cf/?pembayaran=
sr.illum[.]pw/magento/pembayaran_forminsite.js //pembayaransekarang[.]tk/?pembayaran=

Tuan rumah pembayaran sekarang[.]tk, digunakan sebagai gerbang dalam skrip pembayaran_forminsite.js, ditemukan sebagai subjekAltName di beberapa sertifikat yang terkait dengan layanan CloudFlare. Selain itu, host berisi skrip jahat.js. Dilihat dari nama skripnya, skrip ini dapat digunakan sebagai bagian dari eksploitasi CVE-2016-4010, yang memungkinkan untuk memasukkan kode berbahaya ke footer situs yang menjalankan CMS Magento. Tuan rumah menggunakan skrip ini sebagai gerbang permintaan.requestnet[.]tkmenggunakan sertifikat yang sama dengan host pembayaran sekarang[.]tk.

Formulir pembayaran palsu

Gambar di bawah ini menunjukkan contoh form pemasukan data kartu. Formulir ini digunakan untuk menyusup ke toko online dan mencuri data kartu.

Empat sniffer JavaScript yang menunggu Anda di toko online
Gambar berikut menunjukkan contoh formulir pembayaran PayPal palsu yang digunakan penyerang untuk menyusup ke situs dengan metode pembayaran ini.
Empat sniffer JavaScript yang menunggu Anda di toko online
Infrastruktur

Π”ΠΎΠΌΠ΅Π½ Tanggal penemuan/penampakan
cdn.illum.pw 27/11/2016
catatan.nstatistics.com 06/09/2018
request.payrightnow.cf 25/05/2018
pembayaran sekarang.tk 16/07/2017
jalur pembayaran.tk 01/03/2018
pembayaranpal.cf 04/09/2017
requestnet.tk 28/06/2017

Keluarga KopiMokko

Keluarga sniffer CoffeMokko, yang dirancang untuk mencuri kartu bank dari pengguna toko online, telah digunakan setidaknya sejak Mei 2017. Agaknya, operator dari keluarga sniffer ini adalah kelompok kriminal Grup 1, yang dijelaskan oleh spesialis RiskIQ pada tahun 2016. Situs yang menjalankan CMS seperti Magento, OpenCart, WordPress, osCommerce, dan Shopify diserang.

Bagaimana CoffeMokko diimplementasikan ke dalam kode toko online

Operator keluarga ini membuat sniffer unik untuk setiap infeksi: file sniffer terletak di direktori src ΠΈΠ»ΠΈ js di server penyerang. Penggabungan ke dalam kode situs dilakukan melalui tautan langsung ke sniffer.

Empat sniffer JavaScript yang menunggu Anda di toko online
Kode sniffer melakukan hardcode pada nama kolom formulir yang datanya perlu dicuri. Sniffer juga memeriksa apakah pengguna berada di halaman pembayaran dengan memeriksa daftar kata kunci dengan alamat pengguna saat ini.

Empat sniffer JavaScript yang menunggu Anda di toko online
Beberapa versi sniffer yang ditemukan dikaburkan dan berisi string terenkripsi yang menyimpan rangkaian sumber daya utama: berisi nama bidang formulir untuk berbagai sistem pembayaran, serta alamat gerbang tujuan pengiriman data yang dicuri.

Empat sniffer JavaScript yang menunggu Anda di toko online
Informasi pembayaran yang dicuri dikirim ke skrip di server penyerang sepanjang perjalanan /savePayment/index.php atau /tr/index.php. Agaknya skrip ini digunakan untuk mengirim data dari gerbang ke server utama, yang menggabungkan data dari semua sniffer. Untuk menyembunyikan data yang dikirimkan, semua informasi pembayaran korban dienkripsi menggunakan base64, dan kemudian terjadi beberapa pergantian karakter:

  • karakter "e" diganti dengan ":"
  • simbol "w" diganti dengan "+"
  • karakter "o" diganti dengan "%"
  • karakter "d" diganti dengan "#"
  • karakter "a" diganti dengan "-"
  • simbol "7" diganti dengan "^"
  • karakter "h" diganti dengan "_"
  • simbol "T" diganti dengan "@"
  • karakter "0" diganti dengan "/"
  • karakter "Y" diganti dengan "*"

Sebagai hasil dari substitusi karakter yang dikodekan menggunakan base64 Data tidak dapat didekodekan tanpa konversi terbalik.

Ini penampakan potongan kode sniffer yang belum dikaburkan:

Empat sniffer JavaScript yang menunggu Anda di toko online

Analisis Infrastruktur

Pada kampanye awal, penyerang mendaftarkan nama domain yang mirip dengan situs belanja online yang sah. Domain mereka dapat berbeda dari yang sah satu per satu simbol atau TLD lainnya. Domain terdaftar digunakan untuk menyimpan kode sniffer, tautan yang tertanam dalam kode penyimpanan.

Grup ini juga menggunakan nama domain yang mengingatkan pada plugin jQuery populer (slickjs[.]org untuk situs yang menggunakan plugin licin.js), gateway pembayaran (sagecdn[.]org untuk situs yang menggunakan sistem pembayaran Sage Pay).

Kemudian, kelompok tersebut mulai membuat domain yang namanya tidak ada hubungannya dengan domain toko atau tema toko.

Empat sniffer JavaScript yang menunggu Anda di toko online
Setiap domain berhubungan dengan situs tempat direktori tersebut dibuat /js ΠΈΠ»ΠΈ / src. Skrip sniffer disimpan di direktori ini: satu sniffer untuk setiap infeksi baru. Sniffer tertanam dalam kode situs web melalui tautan langsung, namun dalam kasus yang jarang terjadi, penyerang memodifikasi salah satu file situs web dan menambahkan kode berbahaya ke dalamnya.

Analisis Kode

Algoritma kebingungan pertama

Dalam beberapa sampel sniffer keluarga ini yang ditemukan, kodenya dikaburkan dan berisi data terenkripsi yang diperlukan agar sniffer dapat bekerja: khususnya, alamat gerbang sniffer, daftar kolom formulir pembayaran, dan dalam beberapa kasus, kode palsu formulir pembayaran. Dalam kode di dalam fungsi, sumber daya dienkripsi menggunakan XOR dengan kunci yang diteruskan sebagai argumen ke fungsi yang sama.

Empat sniffer JavaScript yang menunggu Anda di toko online
Dengan mendekripsi string dengan kunci unik yang sesuai untuk setiap sampel, Anda bisa mendapatkan string yang berisi semua string dari kode sniffer yang dipisahkan oleh karakter pemisah.

Empat sniffer JavaScript yang menunggu Anda di toko online

Algoritma kebingungan kedua

Dalam sampel sniffer selanjutnya dari keluarga ini, mekanisme kebingungan yang berbeda digunakan: dalam hal ini, data dienkripsi menggunakan algoritma yang ditulis sendiri. Sebuah string yang berisi data terenkripsi yang diperlukan agar sniffer dapat beroperasi diteruskan sebagai argumen ke fungsi dekripsi.

Empat sniffer JavaScript yang menunggu Anda di toko online
Dengan menggunakan konsol browser, Anda dapat mendekripsi data terenkripsi dan mendapatkan array yang berisi sumber daya sniffer.

Empat sniffer JavaScript yang menunggu Anda di toko online

Koneksi ke serangan awal MageCart

Selama analisis salah satu domain yang digunakan oleh grup sebagai gerbang untuk mengumpulkan data yang dicuri, ditemukan bahwa domain ini menghosting infrastruktur untuk pencurian kartu kredit, identik dengan yang digunakan oleh Grup 1, salah satu grup pertama, telah menemukan oleh spesialis RiskIQ.

Dua file ditemukan di host keluarga sniffer CoffeMokko:

  • mage.js β€” file yang berisi kode sniffer Grup 1 dengan alamat gerbang js-cdn.link
  • mag.php β€” Skrip PHP bertanggung jawab mengumpulkan data yang dicuri oleh sniffer

Isi file mage.js Empat sniffer JavaScript yang menunggu Anda di toko online
Ditentukan juga bahwa domain paling awal yang digunakan oleh kelompok di balik keluarga sniffer CoffeMokko telah didaftarkan pada 17 Mei 2017:

  • tautan-js[.]tautan
  • info-js[.]tautan
  • track-js[.]tautan
  • tautan peta-js[.]
  • tautan pintar-js[.]

Format nama domain ini cocok dengan nama domain Grup 1 yang digunakan dalam serangan tahun 2016.

Berdasarkan fakta yang ditemukan, dapat diasumsikan adanya keterkaitan antara operator sniffer CoffeMokko dengan kelompok kriminal Grup 1. Agaknya, operator CoffeMokko meminjam alat dan perangkat lunak dari pendahulunya untuk mencuri kartu. Namun, kemungkinan besar kelompok kriminal di balik penggunaan keluarga sniffer CoffeMokko adalah orang yang sama yang melakukan serangan Grup 1. Setelah publikasi laporan pertama tentang aktivitas kelompok kriminal tersebut, semua nama domain mereka adalah diblokir dan alat-alatnya dipelajari secara rinci dan dijelaskan. Kelompok ini terpaksa beristirahat, menyempurnakan alat internalnya, dan menulis ulang kode sniffer agar dapat melanjutkan serangannya dan tetap tidak terdeteksi.

Infrastruktur

Π”ΠΎΠΌΠ΅Π½ Tanggal penemuan/penampakan
link-js.link 17.05.2017
info-js.link 17.05.2017
track-js.link 17.05.2017
peta-js.link 17.05.2017
smart-js.link 17.05.2017
adorebeauty.org 03.09.2017
keamanan-pembayaran.su 03.09.2017
braincdn.org 04.09.2017
sagecdn.org 04.09.2017
slickjs.org 04.09.2017
oakandfort.org 10.09.2017
kotawlnery.org 15.09.2017
dobell.su 04.10.2017
pakaian anak-anak.org 31.10.2017
jewsondirect.com 05.11.2017
toko-rnib.org 15.11.2017
lemarilondon.org 16.11.2017
misshaus.org 28.11.2017
baterai-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
semua-tentang-sneakers.org 05.12.2017
mage-checkout.org 05.12.2017
nililotan.org 07.12.2017
lamoodbighat.net 08.12.2017
dompetgear.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
kopi.org 31.01.2018
energicoffe.org 31.01.2018
energitea.org 31.01.2018
kopi teh.net 31.01.2018
adaptivecss.org 01.03.2018
kopimokko.com 01.03.2018
londontea.net 01.03.2018
ukcoffe.com 01.03.2018
labbe.biz 20.03.2018
baterainart.com 03.04.2018
btosports.net 09.04.2018
chicksaddlery.net 16.04.2018
paypaypay.org 11.05.2018
ar500arnor.com 26.05.2018
mengotorisasicdn.com 28.05.2018
slickmin.com 28.05.2018
bannerbuzz.info 03.06.2018
kandypens.net 08.06.2018
mylrendyphone.com 15.06.2018
obrolan segar.info 01.07.2018
3lift.org 02.07.2018
abtasty.net 02.07.2018
mechat.info 02.07.2018
zoplm.com 02.07.2018
zapajs.com 02.09.2018
foodandcot.com 15.09.2018
segardepor.com 15.09.2018
swappastore.com 15.09.2018
sangatwellfitnesse.com 15.09.2018
elegrina.com 18.11.2018
majsurplus.com 19.11.2018
top5value.com 19.11.2018

Sumber: www.habr.com

Tambah komentar