چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند

تقریباً همه ما از خدمات فروشگاه‌های آنلاین استفاده می‌کنیم، به این معنی که دیر یا زود در معرض خطر قرار گرفتن قربانی جاوا اسکریپت‌ها قرار می‌گیریم - کد ویژه‌ای که مهاجمان برای سرقت داده‌های کارت بانکی، آدرس، لاگین و رمز عبور کاربران در یک وب‌سایت پیاده‌سازی می‌کنند. .

تقریباً 400 کاربر وب‌سایت و برنامه تلفن همراه British Airways و همچنین بازدیدکنندگان وب‌سایت بریتانیایی غول ورزشی FILA و توزیع‌کننده بلیط آمریکایی Ticketmaster، قبلاً تحت تأثیر اسنایفرها قرار گرفته‌اند. PayPal، Chase Paymenttech، USAePay، Moneris - اینها و بسیاری از سیستم های پرداخت دیگر آلوده شدند.

ویکتور اوکوروکوف، تحلیلگر Threat Intelligence Group-IB در مورد نحوه نفوذ اسنایفرها به کد وب سایت و سرقت اطلاعات پرداخت و همچنین به CRMهایی که آنها حمله می کنند صحبت می کند.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند

"تهدید پنهان"

این اتفاق افتاد که برای مدت طولانی اسنیفرهای JS دور از دید تحلیلگران ضد ویروس باقی ماندند و بانک ها و سیستم های پرداخت آنها را به عنوان یک تهدید جدی نمی دیدند. و کاملا بیهوده کارشناسان Group-IB تجزیه و تحلیل کرد 2440 فروشگاه اینترنتی آلوده که بازدیدکنندگان آنها - در مجموع حدود 1,5 میلیون نفر در روز - در معرض خطر قرار داشتند. در میان قربانیان نه تنها کاربران، بلکه فروشگاه‌های آنلاین، سیستم‌های پرداخت و بانک‌هایی هستند که کارت‌های مخدوش صادر کرده‌اند.

گزارش Group-IB اولین مطالعه در مورد بازار تاریک‌نت برای اسنیفرها، زیرساخت‌های آنها و روش‌های کسب درآمد بود که میلیون‌ها دلار برای سازندگان آنها به ارمغان می‌آورد. ما 38 خانواده از مواد یاب را شناسایی کردیم که تنها 12 خانواده قبلاً برای محققان شناخته شده بودند.

اجازه دهید به تفصیل در مورد چهار خانواده انبوه کننده های مورد مطالعه در طول مطالعه صحبت کنیم.

خانواده ReactGet

Sniffer های خانواده ReactGet برای سرقت اطلاعات کارت های بانکی در سایت های خرید آنلاین استفاده می شوند. sniffer می تواند با تعداد زیادی از سیستم های پرداخت مختلف مورد استفاده در سایت کار کند: یک مقدار پارامتر مربوط به یک سیستم پرداخت است و نسخه های شناسایی شده فردی از sniffer می تواند برای سرقت اطلاعات کاربری و همچنین برای سرقت داده های کارت بانکی از پرداخت استفاده شود. اشکال چندین سیستم پرداخت به طور همزمان، مانند به اصطلاح sniffer جهانی. مشخص شد که در برخی موارد، مهاجمان برای دسترسی به پنل مدیریت سایت، حملات فیشینگ را بر روی مدیران فروشگاه آنلاین انجام می دهند.

کمپینی با استفاده از این خانواده از اسنیفرها در می 2017 آغاز شد؛ سایت هایی که دارای سیستم عامل های CMS و Magento، Bigcommerce و Shopify هستند مورد حمله قرار گرفتند.

چگونه ReactGet در کد یک فروشگاه آنلاین پیاده سازی می شود

علاوه بر اجرای "کلاسیک" یک اسکریپت از طریق پیوند، اپراتورهای خانواده ReactGet از sniffer ها از تکنیک خاصی استفاده می کنند: با استفاده از کد جاوا اسکریپت، بررسی می کنند که آیا آدرس فعلی که کاربر در آن قرار دارد با معیارهای خاصی مطابقت دارد یا خیر. کد مخرب فقط در صورتی اجرا می شود که رشته فرعی در URL فعلی وجود داشته باشد وارسی یا پرداخت یک مرحله ای, یک صفحه/, بیرون/onepag, تسویه حساب/یک, کاوت/یک. بنابراین، کد sniffer دقیقا در لحظه ای که کاربر اقدام به پرداخت هزینه خرید کرده و اطلاعات پرداخت را در فرم موجود در سایت وارد می کند، اجرا می شود.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
این اسنیفر از یک تکنیک غیر استاندارد استفاده می کند. پرداخت و داده های شخصی قربانی با هم جمع آوری و با استفاده از کدگذاری می شوند base64و سپس رشته به دست آمده به عنوان پارامتری برای ارسال درخواست به وب سایت مهاجمان استفاده می شود. به عنوان مثال، اغلب، مسیر ورودی از یک فایل جاوا اسکریپت تقلید می کند resp.js, data.js و غیره، اما از پیوندهای فایل های تصویری نیز استفاده می شود، GIF и JPG. ویژگی این است که sniffer یک شی تصویر با اندازه 1 در 1 پیکسل ایجاد می کند و از پیوند دریافت شده قبلی به عنوان پارامتر استفاده می کند. " تصاویر. یعنی برای کاربر چنین درخواستی در ترافیک مانند درخواست یک عکس معمولی خواهد بود. تکنیک مشابهی در خانواده sniffers ImageID استفاده شد. علاوه بر این، تکنیک استفاده از یک تصویر 1 در 1 پیکسل در بسیاری از اسکریپت های تحلیل آنلاین قانونی استفاده می شود که می تواند کاربر را نیز گمراه کند.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند

تجزیه و تحلیل نسخه

تجزیه و تحلیل دامنه های فعال مورد استفاده توسط اپراتورهای sniffer ReactGet، نسخه های مختلفی از این خانواده از sniffer ها را نشان داد. نسخه ها در وجود یا عدم وجود مبهم متفاوت هستند، و علاوه بر این، هر sniffer برای یک سیستم پرداخت خاص طراحی شده است که پرداخت های کارت بانکی را برای فروشگاه های آنلاین پردازش می کند. متخصصان Group-IB پس از مرتب سازی مقدار پارامتر مربوط به شماره نسخه، لیست کاملی از تغییرات sniffer موجود را دریافت کردند و با نام فیلدهای فرمی که هر sniffer در کد صفحه جستجو می کند، سیستم های پرداخت را شناسایی کردند. که معتاد به سمت آن نشانه رفته است.

فهرست اسنیفرها و سیستم های پرداخت مربوط به آنها

آدرس اینترنتی Sniffer سیستم پرداخت
reactjsapi.com/react.js Authorize.Net
ajaxstatic.com/api.js?v=2.1.1 کارت ذخیره
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 Rapid
ajaxstatic.com/api.js?v=2.1.5 Authorize.Net
ajaxstatic.com/api.js?v=2.1.6 آدین
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 مونریس
apitstatus.com/api.js?v=2.1.5 USAEPAY
apitstatus.com/api.js?v=2.1.6 پی پال
apitstatus.com/api.js?v=2.1.7 حکیم پرداخت
apitstatus.com/api.js?v=2.1.8 زیرمجموعه Verisign
apitstatus.com/api.js?v=2.1.9 پی پال
apitstatus.com/api.js?v=2.3.0 خط خطی
apitstatus.com/api.js?v=3.0.2 Realex
apitstatus.com/api.js?v=3.0.3 پی پال
apitstatus.com/api.js?v=3.0.4 لینک پوینت
apitstatus.com/api.js?v=3.0.5 پی پال
apitstatus.com/api.js?v=3.0.7 پی پال
apitstatus.com/api.js?v=3.0.8 دیتا کش
apitstatus.com/api.js?v=3.0.9 پی پال
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 مونریس
billgetstatus.com/api.js?v=1.8 حکیم پرداخت
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 ANZ eGate
cloudodesc.com/gtm.js?v=2.3 Authorize.Net
cloudodesc.com/gtm.js?v=2.4 مونریس
cloudodesc.com/gtm.js?v=2.6 حکیم پرداخت
cloudodesc.com/gtm.js?v=2.7 حکیم پرداخت
cloudodesc.com/gtm.js?v=2.8 پیمنتک را تعقیب کنید
cloudodesc.com/gtm.js?v=2.9 Authorize.Net
cloudodesc.com/gtm.js?v=2.91 آدین
cloudodesc.com/gtm.js?v=2.92 PsiGate
cloudodesc.com/gtm.js?v=2.93 منبع سایبری
cloudodesc.com/gtm.js?v=2.95 ANZ eGate
cloudodesc.com/gtm.js?v=2.97 Realex
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 ANZ eGate
gtmproc.com/gtm.js?v=1.5 پی پال
gtmproc.com/gtm.js?v=1.6 پی پال
gtmproc.com/gtm.js?v=1.7 Realex
livecheckpay.com/api.js?v=2.0 حکیم پرداخت
livecheckpay.com/api.js?v=2.1 پی پال
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 ANZ eGate
livegetpay.com/pay.js?v=2.1.3 پی پال
livegetpay.com/pay.js?v=2.1.5 منبع سایبری
livegetpay.com/pay.js?v=2.1.7 Authorize.Net
livegetpay.com/pay.js?v=2.1.8 حکیم پرداخت
livegetpay.com/pay.js?v=2.1.9 Realex
livegetpay.com/pay.js?v=2.2.0 منبع سایبری
livegetpay.com/pay.js?v=2.2.1 پی پال
livegetpay.com/pay.js?v=2.2.2 پی پال
livegetpay.com/pay.js?v=2.2.3 پی پال
livegetpay.com/pay.js?v=2.2.4 زیرمجموعه Verisign
livegetpay.com/pay.js?v=2.2.5 eWAY Rapid
livegetpay.com/pay.js?v=2.2.7 حکیم پرداخت
livegetpay.com/pay.js?v=2.2.8 حکیم پرداخت
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 اولین دروازه جهانی داده
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 مونریس
livegetpay.com/pay.js?v=2.3.6 Authorize.Net
livegetpay.com/pay.js?v=2.3.8 پی پال
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 پی پال
mxcounter.com/c.js?v=1.3 Authorize.Net
mxcounter.com/c.js?v=1.4 خط خطی
mxcounter.com/c.js?v=1.6 Authorize.Net
mxcounter.com/c.js?v=1.7 eWAY Rapid
mxcounter.com/c.js?v=1.8 حکیم پرداخت
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 پی پال
mxcounter.com/c.js?v=2.3 حکیم پرداخت
mxcounter.com/c.js?v=2.31 حکیم پرداخت
mxcounter.com/c.js?v=2.32 Authorize.Net
mxcounter.com/c.js?v=2.33 پی پال
mxcounter.com/c.js?v=2.34 Authorize.Net
mxcounter.com/c.js?v=2.35 زیرمجموعه Verisign
mxcounter.com/click.js?v=1.2 پی پال
mxcounter.com/click.js?v=1.3 Authorize.Net
mxcounter.com/click.js?v=1.4 خط خطی
mxcounter.com/click.js?v=1.6 Authorize.Net
mxcounter.com/click.js?v=1.7 eWAY Rapid
mxcounter.com/click.js?v=1.8 حکیم پرداخت
mxcounter.com/click.js?v=2.0 Authorize.Net
mxcounter.com/click.js?v=2.1 Braintree
mxcounter.com/click.js?v=2.2 پی پال
mxcounter.com/click.js?v=2.3 حکیم پرداخت
mxcounter.com/click.js?v=2.31 حکیم پرداخت
mxcounter.com/click.js?v=2.32 Authorize.Net
mxcounter.com/click.js?v=2.33 پی پال
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 حکیم پرداخت
newrelicnet.com/api.js?v=4.5 حکیم پرداخت
newrelicnet.com/api.js?v=4.6 Westpac PayWay
nr-public.com/api.js?v=2.0 PayFort
nr-public.com/api.js?v=2.1 پی پال
nr-public.com/api.js?v=2.2 Authorize.Net
nr-public.com/api.js?v=2.3 خط خطی
nr-public.com/api.js?v=2.4 اولین دروازه جهانی داده
nr-public.com/api.js?v=2.5 PsiGate
nr-public.com/api.js?v=2.6 Authorize.Net
nr-public.com/api.js?v=2.7 Authorize.Net
nr-public.com/api.js?v=2.8 مونریس
nr-public.com/api.js?v=2.9 Authorize.Net
nr-public.com/api.js?v=3.1 حکیم پرداخت
nr-public.com/api.js?v=3.2 زیرمجموعه Verisign
nr-public.com/api.js?v=3.3 مونریس
nr-public.com/api.js?v=3.5 پی پال
nr-public.com/api.js?v=3.6 لینک پوینت
nr-public.com/api.js?v=3.7 Westpac PayWay
nr-public.com/api.js?v=3.8 Authorize.Net
nr-public.com/api.js?v=4.0 مونریس
nr-public.com/api.js?v=4.0.2 پی پال
nr-public.com/api.js?v=4.0.3 آدین
nr-public.com/api.js?v=4.0.4 پی پال
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 EBizCharge
nr-public.com/api.js?v=4.0.8 Authorize.Net
nr-public.com/api.js?v=4.0.9 زیرمجموعه Verisign
nr-public.com/api.js?v=4.1.2 زیرمجموعه Verisign
ordercheckpays.com/api.js?v=2.11 Authorize.Net
ordercheckpays.com/api.js?v=2.12 پی پال
ordercheckpays.com/api.js?v=2.13 مونریس
ordercheckpays.com/api.js?v=2.14 Authorize.Net
ordercheckpays.com/api.js?v=2.15 پی پال
ordercheckpays.com/api.js?v=2.16 پی پال
ordercheckpays.com/api.js?v=2.17 Westpac PayWay
ordercheckpays.com/api.js?v=2.18 Authorize.Net
ordercheckpays.com/api.js?v=2.19 Authorize.Net
ordercheckpays.com/api.js?v=2.21 حکیم پرداخت
ordercheckpays.com/api.js?v=2.22 زیرمجموعه Verisign
ordercheckpays.com/api.js?v=2.23 Authorize.Net
ordercheckpays.com/api.js?v=2.24 پی پال
ordercheckpays.com/api.js?v=2.25 PayFort
ordercheckpays.com/api.js?v=2.29 منبع سایبری
ordercheckpays.com/api.js?v=2.4 PayPal Payflow 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 حکیم پرداخت
ordercheckpays.com/api.js?v=3.4 Authorize.Net
ordercheckpays.com/api.js?v=3.5 خط خطی
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 پی پال
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 حکیم پرداخت
ordercheckpays.com/api.js?v=4.3 Authorize.Net
reactjsapi.com/api.js?v=0.1.0 Authorize.Net
reactjsapi.com/api.js?v=0.1.1 پی پال
reactjsapi.com/api.js?v=4.1.2 سنگ چخماق
reactjsapi.com/api.js?v=4.1.4 پی پال
reactjsapi.com/api.js?v=4.1.5 حکیم پرداخت
reactjsapi.com/api.js?v=4.1.51 زیرمجموعه Verisign
reactjsapi.com/api.js?v=4.1.6 Authorize.Net
reactjsapi.com/api.js?v=4.1.7 Authorize.Net
reactjsapi.com/api.js?v=4.1.8 خط خطی
reactjsapi.com/api.js?v=4.1.9 گورخر چاق
reactjsapi.com/api.js?v=4.2.0 حکیم پرداخت
reactjsapi.com/api.js?v=4.2.1 Authorize.Net
reactjsapi.com/api.js?v=4.2.2 اولین دروازه جهانی داده
reactjsapi.com/api.js?v=4.2.3 Authorize.Net
reactjsapi.com/api.js?v=4.2.4 eWAY Rapid
reactjsapi.com/api.js?v=4.2.5 آدین
reactjsapi.com/api.js?v=4.2.7 پی پال
reactjsapi.com/api.js?v=4.2.8 خدمات تجاری QuickBooks
reactjsapi.com/api.js?v=4.2.9 زیرمجموعه Verisign
reactjsapi.com/api.js?v=4.2.91 حکیم پرداخت
reactjsapi.com/api.js?v=4.2.92 زیرمجموعه Verisign
reactjsapi.com/api.js?v=4.2.94 Authorize.Net
reactjsapi.com/api.js?v=4.3.97 Authorize.Net
reactjsapi.com/api.js?v=4.5 حکیم پرداخت
reactjsapi.com/react.js Authorize.Net
sydneysalonsupplies.com/gtm.js eWAY Rapid
tagsmediaget.com/react.js Authorize.Net
tagstracking.com/tag.js?v=2.1.2 ANZ eGate
tagstracking.com/tag.js?v=2.1.3 پی پال
tagstracking.com/tag.js?v=2.1.5 منبع سایبری
tagstracking.com/tag.js?v=2.1.7 Authorize.Net
tagstracking.com/tag.js?v=2.1.8 حکیم پرداخت
tagstracking.com/tag.js?v=2.1.9 Realex
tagstracking.com/tag.js?v=2.2.0 منبع سایبری
tagstracking.com/tag.js?v=2.2.1 پی پال
tagstracking.com/tag.js?v=2.2.2 پی پال
tagstracking.com/tag.js?v=2.2.3 پی پال
tagstracking.com/tag.js?v=2.2.4 زیرمجموعه Verisign
tagstracking.com/tag.js?v=2.2.5 eWAY Rapid
tagstracking.com/tag.js?v=2.2.7 حکیم پرداخت
tagstracking.com/tag.js?v=2.2.8 حکیم پرداخت
tagstracking.com/tag.js?v=2.2.9 زیرمجموعه Verisign
tagstracking.com/tag.js?v=2.3.0 Authorize.Net
tagstracking.com/tag.js?v=2.3.1 Authorize.Net
tagstracking.com/tag.js?v=2.3.2 اولین دروازه جهانی داده
tagstracking.com/tag.js?v=2.3.3 Authorize.Net
tagstracking.com/tag.js?v=2.3.4 Authorize.Net
tagstracking.com/tag.js?v=2.3.5 مونریس
tagstracking.com/tag.js?v=2.3.6 Authorize.Net
tagstracking.com/tag.js?v=2.3.8 پی پال

ردیابی رمز عبور

یکی از مزایای جاوا اسکریپت های جاوا اسکریپت که در سمت کلاینت یک وب سایت کار می کنند، تطبیق پذیری آنهاست: کدهای مخرب تعبیه شده در یک وب سایت می تواند هر نوع داده ای را به سرقت ببرد، خواه داده های پرداخت یا ورود به سیستم و رمز عبور حساب کاربری. متخصصان Group-IB نمونه ای از یک sniffer متعلق به خانواده ReactGet را کشف کردند که برای سرقت آدرس های ایمیل و رمز عبور کاربران سایت طراحی شده بود.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند

تقاطع با sniffer ImageID

در طول تجزیه و تحلیل یکی از فروشگاه های آلوده، مشخص شد که وب سایت آن دو بار آلوده شده است: علاوه بر کد مخرب sniffer خانواده ReactGet، کد sniffer خانواده ImageID نیز شناسایی شد. این همپوشانی می تواند شواهدی باشد که اپراتورهای پشت هر دو sniffer از تکنیک های مشابه برای تزریق کد مخرب استفاده می کنند.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند

معتاد یونیورسال

تجزیه و تحلیل یکی از نام های دامنه مرتبط با زیرساخت ردیابی ReactGet نشان داد که همان کاربر سه نام دامنه دیگر را ثبت کرده است. این سه دامنه از دامنه‌های وب‌سایت‌های واقعی تقلید می‌کردند و قبلاً برای میزبانی sniffers استفاده می‌شدند. هنگام تجزیه و تحلیل کد سه سایت قانونی، یک sniffer ناشناخته شناسایی شد و تجزیه و تحلیل بیشتر نشان داد که نسخه بهبود یافته sniffer ReactGet است. تمام نسخه‌های نظارت شده قبلی این خانواده از snifferها یک سیستم پرداخت واحد را هدف قرار داده بودند، یعنی هر سیستم پرداخت نیاز به نسخه خاصی از Sniffer داشت. با این حال، در این مورد، یک نسخه جهانی از sniffer کشف شد که قادر به سرقت اطلاعات از فرم های مربوط به 15 سیستم پرداخت مختلف و ماژول های سایت های تجارت الکترونیک برای انجام پرداخت های آنلاین است.

بنابراین، در ابتدای کار، sniffer فیلدهای فرم اصلی حاوی اطلاعات شخصی قربانی را جستجو کرد: نام کامل، آدرس فیزیکی، شماره تلفن.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
سپس sniffer بیش از 15 پیشوند مختلف مربوط به سیستم های پرداخت مختلف و ماژول های پرداخت آنلاین را جستجو کرد.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
در مرحله بعد، داده‌های شخصی قربانی و اطلاعات پرداخت با هم جمع‌آوری شد و به سایتی که توسط مهاجم کنترل می‌شود فرستاده شد: در این مورد خاص، دو نسخه از sniffer جهانی ReactGet کشف شد که در دو سایت مختلف هک شده قرار داشت. با این حال، هر دو نسخه اطلاعات سرقت شده را به همان سایت هک شده ارسال کردند zoobashop.com.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
تجزیه و تحلیل پیشوندهایی که sniffer برای جستجوی فیلدهای حاوی اطلاعات پرداخت قربانی استفاده می کرد به ما این امکان را داد تا مشخص کنیم که این نمونه sniffer سیستم های پرداخت زیر را هدف قرار داده است:

  • Authorize.Net
  • زیرمجموعه Verisign
  • اول داده
  • USAEPAY
  • خط خطی
  • پی پال
  • ANZ eGate
  • Braintree
  • DataCash (MasterCard)
  • Realex Payments
  • PsiGate
  • سیستم های پرداخت هارتلند

از چه ابزارهایی برای سرقت اطلاعات پرداخت استفاده می شود؟

اولین ابزار که در جریان تجزیه و تحلیل زیرساخت مهاجمان کشف شد، برای مخفی کردن اسکریپت های مخرب مسئول سرقت کارت های بانکی استفاده می شود. یک اسکریپت bash با استفاده از CLI پروژه در یکی از میزبان های مهاجم کشف شد javascript-obfuscator برای خودکارسازی مبهم سازی کد sniffer.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
دومین ابزار کشف شده برای تولید کد مسئول بارگیری sniffer اصلی طراحی شده است. این ابزار کد جاوا اسکریپت را تولید می کند که بررسی می کند کاربر در صفحه پرداخت با جستجو در آدرس فعلی کاربر برای رشته ها است یا خیر. وارسی, گاری و غیره، و اگر نتیجه مثبت باشد، کد sniffer اصلی را از سرور مهاجمان بارگیری می کند. برای پنهان کردن فعالیت های مخرب، تمام خطوط، از جمله خطوط آزمایشی برای تعیین صفحه پرداخت، و همچنین پیوند به sniffer، با استفاده از کدگذاری می شوند. base64.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند

حملات فیشینگ

تجزیه و تحلیل زیرساخت شبکه مهاجمان نشان داد که این گروه جنایی اغلب از فیشینگ برای دسترسی به پنل اداری فروشگاه آنلاین هدف استفاده می کند. مهاجمان دامنه‌ای را ثبت می‌کنند که از نظر بصری شبیه به دامنه فروشگاه است، و سپس یک فرم ورود پنل مدیریت مجنتو جعلی را روی آن مستقر می‌کنند. در صورت موفقیت، مهاجمان به پنل مدیریتی Magento CMS دسترسی خواهند داشت، که به آنها فرصت ویرایش اجزای وب‌سایت و پیاده‌سازی sniffer برای سرقت داده‌های کارت اعتباری را می‌دهد.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
شالوده

Домен تاریخ کشف / ظهور
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
www.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

این خانواده اسنیفر برای سرقت کارت های مشتریان از فروشگاه های آنلاین استفاده می شود. اولین نام دامنه استفاده شده توسط این گروه در آوریل 2016 ثبت شد، که ممکن است نشان دهنده شروع فعالیت گروه در اواسط سال 2016 باشد.

در کمپین فعلی، این گروه از نام‌های دامنه‌ای استفاده می‌کند که خدمات واقعی را تقلید می‌کنند، مانند Google Analytics و jQuery، و فعالیت sniffers را با اسکریپت‌های قانونی و نام‌های دامنه مشابه با موارد قانونی پنهان می‌کند. سایت هایی که دارای سیستم مدیریت محتوا مجنتو هستند مورد حمله قرار گرفتند.

چگونه G-Analytics در کد یک فروشگاه آنلاین پیاده سازی می شود

از ویژگی های بارز این خانواده استفاده از روش های مختلف برای سرقت اطلاعات پرداخت کاربران است. علاوه بر تزریق کلاسیک کد جاوا اسکریپت به سمت کلاینت سایت، این گروه جنایی از تکنیک های تزریق کد به سمت سرور سایت، یعنی اسکریپت های PHP که داده های وارد شده توسط کاربر را پردازش می کند، استفاده کردند. این تکنیک خطرناک است زیرا شناسایی کدهای مخرب را برای محققان شخص ثالث دشوار می کند. متخصصان Group-IB نسخه ای از یک sniffer را کشف کردند که در کد PHP سایت با استفاده از یک دامنه به عنوان دروازه تعبیه شده بود. dittm.org.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
نسخه اولیه یک sniffer نیز کشف شد که از همان دامنه برای جمع آوری داده های سرقت شده استفاده می کند dittm.org، اما این نسخه برای نصب در سمت مشتری یک فروشگاه آنلاین در نظر گرفته شده است.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
این گروه بعداً تاکتیک های خود را تغییر داد و شروع به تمرکز بیشتر روی پنهان کردن فعالیت های مخرب و استتار کرد.

در ابتدای سال 2017، گروه شروع به استفاده از دامنه کرد jquery-js.com، به عنوان یک CDN برای jQuery: هنگام رفتن به سایت مهاجمان، کاربر به یک سایت قانونی هدایت می شود. jquery.com.

و در اواسط سال 2018، این گروه نام دامنه را پذیرفت g-analytics.com و شروع به پنهان کردن فعالیت های sniffer به عنوان یک سرویس Google Analytics قانونی کرد.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند

تجزیه و تحلیل نسخه

در طی تجزیه و تحلیل دامنه‌های مورد استفاده برای ذخیره کد sniffer، مشخص شد که سایت دارای تعداد زیادی نسخه است که از نظر وجود مبهم بودن و همچنین وجود یا عدم وجود کد غیرقابل دسترس برای منحرف کردن توجه به فایل اضافه شده است. و کدهای مخرب را مخفی کنید.

مجموع در سایت jquery-js.com شش نسخه از sniffers شناسایی شد. این sniffer ها داده های دزدیده شده را به آدرسی که در همان وب سایت خود sniffer قرار دارد ارسال می کنند: 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

دامنه بعد g-analytics.com، که از اواسط سال 2018 توسط این گروه در حملات استفاده می شود، به عنوان یک مخزن برای اسنیفرهای بیشتر عمل می کند. در مجموع، 16 نسخه مختلف از sniffer کشف شد. در این مورد، دروازه برای ارسال داده های سرقت شده به عنوان پیوندی به فرمت تصویر مبدل شد 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

کسب درآمد از داده های سرقت شده

این گروه جنایی با فروش کارت از طریق یک فروشگاه زیرزمینی که به کارتداران خدمات ارائه می دهد، از داده های سرقت شده درآمد کسب می کند. تجزیه و تحلیل دامنه های استفاده شده توسط مهاجمان به ما این امکان را داد که آن را تعیین کنیم google-analytics.cm توسط همان کاربر دامنه ثبت شده است cardz.vc. دامنه cardz.vc به فروشگاهی اشاره دارد که کارت های بانکی دزدیده شده Cardsurfs (Flysurfs) را می فروشد، که در روزهای فعالیت پلت فرم معاملات زیرزمینی AlphaBay به عنوان یک فروشگاه فروش کارت های بانکی دزدیده شده با استفاده از sniffer محبوبیت پیدا کرد.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
تجزیه و تحلیل دامنه تحلیلی استمتخصصان Group-IB، در همان سروری که دامنه‌های مورد استفاده توسط sniffers برای جمع‌آوری داده‌های دزدیده شده استفاده می‌شود، یک فایل حاوی گزارش‌های دزد کوکی‌ها را کشف کردند که به نظر می‌رسد بعداً توسط توسعه‌دهنده رها شده است. یکی از ورودی های لاگ حاوی یک دامنه بود iozoz.comکه قبلا در یکی از اسنیفرهای فعال در سال 2016 استفاده شده بود. احتمالاً، این دامنه قبلاً توسط یک مهاجم برای جمع آوری کارت های دزدیده شده با استفاده از sniffer استفاده می شده است. این دامنه در یک آدرس ایمیل ثبت شده است [ایمیل محافظت شده]که برای ثبت دامنه نیز استفاده می شد cardz.su и cardz.vc، مربوط به فروشگاه کارتینگ Cardsurfs.

بر اساس داده‌های به‌دست‌آمده، می‌توان فرض کرد که خانواده Sniffers G-Analytics و فروشگاه زیرزمینی فروش کارت‌های بانکی Cardsurfs توسط همین افراد مدیریت می‌شوند و فروشگاه برای فروش کارت‌های بانکی سرقت شده با استفاده از Sniffer استفاده می‌شود.

شالوده

Домен تاریخ کشف / ظهور
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
تحلیلی.به 04.12.2018
google-analytics.to 06.12.2018
google-analytics.cm 28.12.2018
تحلیلی است 28.12.2018
googlc-analytics.cm 17.01.2019

خانواده ایلوم

Illum خانواده ای از sniffers است که برای حمله به فروشگاه های آنلاین دارای CMS Magento استفاده می شود. اپراتورهای این sniffer علاوه بر معرفی کدهای مخرب، از معرفی فرم های پرداخت جعلی تمام عیار نیز استفاده می کنند که داده ها را به دروازه های کنترل شده توسط مهاجمان ارسال می کند.

هنگام تجزیه و تحلیل زیرساخت شبکه مورد استفاده توسط اپراتورهای این sniffer، تعداد زیادی اسکریپت مخرب، سوء استفاده، فرم های پرداخت جعلی و همچنین مجموعه ای از نمونه هایی با sniffer های مخرب از رقبا مورد توجه قرار گرفت. بر اساس اطلاعات مربوط به تاریخ ظهور نام های دامنه استفاده شده توسط گروه، می توان فرض کرد که این کمپین در پایان سال 2016 آغاز شده است.

چگونه Illum در کد یک فروشگاه آنلاین پیاده سازی می شود

اولین نسخه های کشف شده sniffer مستقیماً در کد سایت در معرض خطر قرار داده شد. اطلاعات دزدیده شده ارسال شد cdn.illum[.]pw/records.php، گیت با استفاده از کدگذاری شد base64.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
بعداً یک نسخه بسته بندی شده از sniffer کشف شد که از یک دروازه متفاوت استفاده می کند - records.nstatistics[.]com/records.php.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
طبق گزارش Willem de Groot، همان میزبان در sniffer استفاده شد که در آن پیاده سازی شد سایت مجله، متعلق به حزب سیاسی آلمان CSU.

تجزیه و تحلیل وب سایت مهاجمان

متخصصان Group-IB وب سایتی را که توسط این گروه جنایتکار برای ذخیره ابزار و جمع آوری اطلاعات سرقتی استفاده می شد، کشف و تجزیه و تحلیل کردند.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
از جمله ابزارهای یافت شده در سرور مهاجمان، اسکریپت ها و سوء استفاده هایی برای افزایش امتیازات در سیستم عامل لینوکس بود: به عنوان مثال، اسکریپت بررسی افزایش امتیاز لینوکس که توسط Mike Czumak توسعه یافته است، و همچنین یک سوء استفاده برای CVE-2009-1185.

مهاجمان از دو سوء استفاده مستقیم برای حمله به فروشگاه های آنلاین استفاده کردند: первый قادر به تزریق کد مخرب به core_config_data با استفاده از CVE-2016-4010، دوم از یک آسیب‌پذیری RCE در افزونه‌ها برای CMS Magento سوء استفاده می‌کند و اجازه می‌دهد کد دلخواه روی یک وب سرور آسیب‌پذیر اجرا شود.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
همچنین در جریان تجزیه و تحلیل سرور، نمونه‌های مختلفی از اسنیفرها و فرم‌های پرداخت جعلی که توسط مهاجمان برای جمع‌آوری اطلاعات پرداخت از سایت‌های هک شده استفاده می‌شد، کشف شد. همانطور که از لیست زیر می بینید، برخی از اسکریپت ها به صورت جداگانه برای هر سایت هک شده ایجاد شده اند، در حالی که یک راه حل جهانی برای CMS های خاص و درگاه های پرداخت استفاده شده است. به عنوان مثال، اسکریپت ها segapay_standart.js и segapay_onpage.js برای پیاده سازی در سایت هایی با استفاده از درگاه پرداخت Sage Pay طراحی شده است.

لیستی از اسکریپت ها برای درگاه های پرداخت مختلف

اسکریپت درگاه پرداخت
sr.illum[.]pw/mjs_special/visiondirect.co.uk.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/topdierenshop.nl.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/tiendalenovo.es.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/pro-bolt.com.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/plae.co.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/ottolenghi.co.uk.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/oldtimecandy.com.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/mylook.ee.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/luluandsky.com.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/julep.com.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs_special/gymcompany.es.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/grotekadoshop.nl.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs_special/fushi.co.uk.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/fareastflora.com.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs_special/compuindia.com.js //request.payrightnow[.]cf/alldata.php
sr.illum[.]pw/mjs/segapay_standart.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/segapay_onpage.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/replace_standart.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/mjs/all_inputs.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/mjs/add_inputs_standart.js //request.payrightnow[.]cf/checkpayment.php
sr.illum[.]pw/magento/payment_standart.js //cdn.illum[.]pw/records.php
sr.illum[.]pw/magento/payment_redirect.js //payrightnow[.]cf/?payment=
sr.illum[.]pw/magento/payment_redcrypt.js //payrightnow[.]cf/?payment=
sr.illum[.]pw/magento/payment_forminsite.js //paymentnow[.]tk/?payment=

میزبان paynow[.]tk، به عنوان دروازه در یک اسکریپت استفاده می شود pay_forminsite.js، کشف شد به عنوان subjectAltName در چندین گواهی مربوط به سرویس CloudFlare. علاوه بر این، میزبان حاوی یک اسکریپت بود evil.js. با قضاوت بر اساس نام اسکریپت، می توان از آن به عنوان بخشی از بهره برداری از CVE-2016-4010 استفاده کرد، که به لطف آن می توان کدهای مخرب را به پاورقی سایتی که CMS Magento را اجرا می کند، تزریق کرد. میزبان از این اسکریپت به عنوان دروازه استفاده کرد request.requestnet[.]tkبا استفاده از همان گواهینامه میزبان paynow[.]tk.

فرم های پرداخت جعلی

شکل زیر نمونه ای از فرم برای وارد کردن اطلاعات کارت را نشان می دهد. این فرم برای نفوذ به یک فروشگاه آنلاین و سرقت اطلاعات کارت استفاده شده است.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
شکل زیر نمونه ای از فرم پرداخت جعلی PayPal را نشان می دهد که توسط مهاجمان برای نفوذ به سایت ها با این روش پرداخت استفاده شده است.
چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
شالوده

Домен تاریخ کشف / ظهور
cdn.illum.pw 27/11/2016
records.nstatistics.com 06/09/2018
request.payrightnow.cf 25/05/2018
paynow.tk 16/07/2017
Pay-line.tk 01/03/2018
paypal.cf 04/09/2017
requestnet.tk 28/06/2017

خانواده CoffeeMokko

خانواده sniffers CoffeMokko که برای سرقت کارت های بانکی از کاربران فروشگاه های آنلاین طراحی شده اند، حداقل از ماه می 2017 مورد استفاده قرار گرفته اند. احتمالا اپراتورهای این خانواده از مواد یاب، گروه جنایی گروه 1 هستند که توسط متخصصان RiskIQ در سال 2016 توصیف شده است. سایت هایی که دارای CMS هستند مانند Magento، OpenCart، WordPress، osCommerce و Shopify مورد حمله قرار گرفتند.

چگونه CoffeMokko در کد یک فروشگاه آنلاین پیاده سازی می شود

اپراتورهای این خانواده برای هر عفونت، sniffer های منحصر به فردی ایجاد می کنند: فایل sniffer در دایرکتوری قرار دارد. " یا js روی سرور مهاجمان الحاق به کد سایت از طریق پیوند مستقیم به sniffer انجام می شود.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
کد sniffer نام فیلدهای فرم را که داده ها باید از آنها به سرقت برود، کدهای سخت می کند. Sniffer همچنین با بررسی لیست کلمات کلیدی با آدرس فعلی کاربر بررسی می کند که آیا کاربر در صفحه پرداخت است یا خیر.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
برخی از نسخه های کشف شده sniffer مبهم بودند و حاوی یک رشته رمزگذاری شده بودند که در آن آرایه اصلی منابع ذخیره می شد: شامل نام فیلدهای فرم برای سیستم های پرداخت مختلف و همچنین آدرس دروازه ای بود که داده های سرقت شده باید به آن ارسال شوند.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
اطلاعات پرداخت سرقت شده در طول مسیر به اسکریپتی در سرور مهاجمان ارسال شد /savePayment/index.php یا /tr/index.php. احتمالاً از این اسکریپت برای ارسال داده ها از گیت به سرور اصلی استفاده می شود که داده های همه sniffer ها را ادغام می کند. برای پنهان کردن داده های ارسال شده، تمام اطلاعات پرداخت قربانی با استفاده از رمزگذاری می شود base64، و سپس چندین جایگزین کاراکتر رخ می دهد:

  • کاراکتر "e" با ":" جایگزین می شود.
  • نماد "w" با "+" جایگزین می شود
  • کاراکتر "o" با "%" جایگزین می شود
  • کاراکتر "d" با "#" جایگزین می شود
  • کاراکتر "a" با "-" جایگزین می شود
  • نماد "7" با "^" جایگزین می شود
  • کاراکتر "h" با "_" جایگزین می شود
  • نماد "T" با "@" جایگزین می شود.
  • کاراکتر "0" با "/" جایگزین می شود
  • کاراکتر "Y" با "*" جایگزین می شود

به عنوان یک نتیجه از جایگزینی کاراکتر رمزگذاری شده با استفاده از base64 داده ها را نمی توان بدون انجام تبدیل معکوس رمزگشایی کرد.

بخشی از کد sniffer که مبهم نشده است به این صورت است:

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند

تجزیه و تحلیل زیرساخت

در کمپین های اولیه، مهاجمان نام های دامنه مشابه با سایت های خرید آنلاین قانونی را ثبت می کردند. دامنه آنها می تواند با نماد قانونی یک به یک یا TLD دیگر متفاوت باشد. از دامنه های ثبت شده برای ذخیره کد sniffer استفاده شد که پیوندی به آن در کد فروشگاه تعبیه شده بود.

این گروه همچنین از نام های دامنه یادآور افزونه های محبوب جی کوئری (slickjs[.]org برای سایت هایی که از افزونه استفاده می کنند slick.js، درگاه های پرداخت (sagecdn[.]org برای سایت هایی که از سیستم پرداخت Sage Pay استفاده می کنند).

بعداً این گروه شروع به ایجاد دامنه هایی کرد که نام آنها هیچ ارتباطی با دامنه فروشگاه یا موضوع فروشگاه نداشت.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
هر دامنه مربوط به سایتی بود که دایرکتوری در آن ایجاد شده بود /js یا / src. اسکریپت های Sniffer در این دایرکتوری ذخیره می شدند: یک sniffer برای هر عفونت جدید. sniffer از طریق یک لینک مستقیم در کد وب سایت جاسازی شده بود، اما در موارد نادر، مهاجمان یکی از فایل های وب سایت را تغییر داده و کدهای مخرب را به آن اضافه کردند.

تجزیه و تحلیل کد

اولین الگوریتم مبهم سازی

در برخی از نمونه‌های کشف‌شده از این خانواده، کد مبهم بود و حاوی داده‌های رمزگذاری‌شده لازم برای کار کردن sniffer بود: به‌ویژه، آدرس دروازه sniffer، فهرستی از فیلدهای فرم پرداخت و در برخی موارد، کد یک جعلی. فرم پرداخت. در کد داخل تابع، منابع با استفاده از رمزگذاری شدند XOR توسط کلیدی که به عنوان آرگومان به همان تابع ارسال شد.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
با رمزگشایی رشته با کلید مناسب، منحصر به فرد برای هر نمونه، می‌توانید رشته‌ای حاوی تمام رشته‌ها را از کد sniffer که با یک کاراکتر جداکننده جدا شده‌اند، دریافت کنید.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند

الگوریتم مبهم سازی دوم

در نمونه‌های بعدی اسنیفرهای این خانواده، از مکانیسم مبهم‌سازی متفاوتی استفاده شد: در این مورد، داده‌ها با استفاده از یک الگوریتم خودنویس رمزگذاری شدند. رشته ای حاوی داده های رمزگذاری شده لازم برای عملکرد sniffer به عنوان آرگومان به تابع رمزگشایی ارسال شد.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
با استفاده از کنسول مرورگر، می توانید داده های رمزگذاری شده را رمزگشایی کنید و یک آرایه حاوی منابع sniffer بدست آورید.

چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند

اتصال به حملات MageCart اولیه

در طی تجزیه و تحلیل یکی از دامنه های مورد استفاده توسط گروه به عنوان دروازه برای جمع آوری داده های دزدیده شده، مشخص شد که این دامنه دارای زیرساختی برای سرقت کارت اعتباری است، مشابه زیرساخت مورد استفاده توسط گروه 1، یکی از اولین گروه ها، کشف شده توسط متخصصان RiskIQ

دو فایل در میزبان خانواده CoffeMokko sniffers پیدا شد:

  • mage.js - فایل حاوی کد sniffer گروه 1 با آدرس گیت js-cdn.link
  • mag.php - اسکریپت PHP مسئول جمع آوری داده های سرقت شده توسط sniffer است

محتویات فایل mage.js چهار اسنیفر جاوا اسکریپت که در فروشگاه های آنلاین در کمین شما نشسته اند
همچنین مشخص شد که اولین دامنه های مورد استفاده توسط گروه پشتیبان خانواده CoffeMokko sniffers در 17 می 2017 به ثبت رسیده است:

  • link-js[.]پیوند
  • لینک info-js[.]
  • track-js[.] پیوند
  • map-js[.] پیوند
  • smart-js[.] پیوند

قالب این نام های دامنه با نام های دامنه گروه 1 که در حملات 2016 استفاده شده بودند مطابقت دارد.

بر اساس حقایق کشف شده، می توان حدس زد که بین اپراتورهای مواد یاب CoffeMokko و گروه جنایی گروه 1 ارتباط وجود دارد. احتمالا اپراتورهای CoffeMokko می توانستند ابزارها و نرم افزارهایی را از پیشینیان خود برای سرقت کارت قرض بگیرند. با این حال، به احتمال زیاد گروه جنایتکار پشت استفاده از مواد یاب خانواده CoffeMokko، همان افرادی هستند که حملات گروه 1 را انجام داده‌اند. پس از انتشار اولین گزارش از فعالیت‌های این گروه جنایتکار، نام دامنه‌های آن‌ها اعلام شد. مسدود شد و ابزارها به تفصیل مورد مطالعه و تشریح قرار گرفتند. این گروه برای ادامه حملات خود و ناشناخته ماندن مجبور به استراحت، اصلاح ابزارهای داخلی و بازنویسی کد sniffer شد.

شالوده

Домен تاریخ کشف / ظهور
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
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
جایگزین myremote.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
parks.su 09.01.2018
pmtonline.su 12.01.2018
otocap.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
autorizecdn.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
verywellfitness.com 15.09.2018
elegrina.com 18.11.2018
majsurplus.com 19.11.2018
top5value.com 19.11.2018

منبع: www.habr.com

اضافه کردن نظر