Четыре JavaScript-сниффера, которые подстерегают вас в интернет-магазинах



    Практически каждый из нас пользуется услугами онлайн-магазинов, а значит, рано или поздно рискует стать жертвой JavaScript-снифферов — специального кода, который злоумышленники внедряют на сайт для кражи данных банковских карт, адресов, логинов и паролей пользователей.

    От снифферов уже пострадали почти 400 000 пользователей сайта и мобильного приложения авиакомпании British Airways, а также посетители британского сайта спортивного гиганта FILA и американского дистрибьютора билетов Ticketmaster.

    Аналитик Threat Intelligence Group-IB Виктор Окороков рассказывает о том, как снифферы внедряются в код сайта и крадут платежную информацию, а также о том, какие CRM они атакуют.



    «Скрытая угроза»


    Так вышло, что долгое время JS-снифферы оставались вне поля зрения антивирусных аналитиков, а банки и платежные системы не видели в них серьезной угрозы. И совершенно напрасно. Эксперты Group-IB проанализировали 2440 зараженных онлайн-магазинов, посетители которых — суммарно около 1,5 миллионов человек в день — подвергались риску компрометации. Среди пострадавших — не только пользователи, но и онлайн-магазины, платежные системы и банки, выпустившие скомпрометированные карты.

    Отчет Group-IB стал первым исследованием даркнет-рынка снифферов, их инфраструктуры и способов монетизации, приносящей их создателям миллионы долларов. Мы выявили 38 семейств снифферов, из которых лишь 12 ранее были известны исследователям.

    Остановимся подробно на четырех семействах снифферов, изученных в ходе исследования.

    Семейство ReactGet


    Снифферы семейства ReactGet применяются для кражи данных банковских карт на сайтах онлайн-магазинов. Сниффер может работать с большим количеством разных платежных систем, использующихся на сайте: одно значение параметра соответствует одной платежной системе, а отдельные обнаруженные версии сниффера могут использоваться для кражи учетных данных, а также для кражи данных банковских карт из платежных форм сразу нескольких платежных систем, как так называемый универсальный сниффер. Было установлено, что в некоторых случаях атакующие проводят фишинговые атаки на администраторов онлайн-магазинов с целью получения доступа в административную панель сайта.

    Кампания с применением этого семейства снифферов началась в мае 2017 года, атаке подверглись сайты под управлением CMS и платформ Magento, Bigcommerce, Shopify.

    Как ReactGet внедряется в код онлайн-магазина


    Кроме «классического» внедрения скрипта по ссылке, операторы снифферов семейства ReactGet используют особую технику: при помощи JavaScript-кода проверяется, соответствует ли текущий адрес, на котором находится пользователь, определенным критериям. Вредоносный код будет запущен только в том случае, если в текущем URL-адресе присутствует подстрока checkout или onestepcheckout, onepage/, out/onepag, checkout/one, ckout/one. Таким образом, код сниффера исполнится именно в тот момент, когда пользователь перейдет к оплате покупок и введет платежную информацию в форму на сайте.


    Этот сниффер использует нестандартную технику. Платежные и персональные данные жертвы собираются вместе, кодируются при помощи base64, а затем полученная строка используется как параметр для отправки запроса на сайт злоумышленников. Чаще всего путь до гейта имитирует JavaScript-файл, к примеру resp.js, data.js и так далее, но также используются ссылки на файлы изображений, GIF и JPG. Особенность в том, что сниффер создает объект изображения размером 1 на 1 пиксель и использует полученную ранее ссылку как параметр src изображения. То есть для пользователя такой запрос в трафике будет выглядеть как запрос обычной картинки. Похожая техника была использована в снифферах семейства ImageID. Кроме того, техника с использованием изображения размером 1 на 1 пиксель применяется во многих легитимных скриптах онлайн-аналитики, что также может ввести пользователя в заблуждение.


    Анализ версий


    Анализ активных доменов, используемых операторами снифферов ReactGet, позволил обнаружить много разных версий снифферов этого семейства. Версии отличаются наличием или отсутствием обфускации, а кроме того, каждый сниффер предназначен для определенной платежной системы, обрабатывающей платежи по банковским картам для онлайн-магазинов. Перебрав значение параметра, соответствующего номеру версии, специалисты Group-IB получили полный список доступных вариаций снифферов, а по названиям полей форм, которые каждый сниффер ищет в коде страницы, определили платежные системы, на которые нацелен сниффер.

    Список снифферов и соответствующих им платежных систем
    URL сниффера
    Платежная система
    reactjsapi.com/react.js Authorize.Net
    ajaxstatic.com/api.js?v=2.1.1 Cardsave
    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 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 Pay
    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 Stripe
    apitstatus.com/api.js?v=3.0.2 Realex
    apitstatus.com/api.js?v=3.0.3 PayPal
    apitstatus.com/api.js?v=3.0.4 LinkPoint
    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 Pay
    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 Moneris
    cloudodesc.com/gtm.js?v=2.6
    Sage Pay
    cloudodesc.com/gtm.js?v=2.7 Sage Pay
    cloudodesc.com/gtm.js?v=2.8 Chase Paymentech
    cloudodesc.com/gtm.js?v=2.9 Authorize.Net
    cloudodesc.com/gtm.js?v=2.91 Adyen
    cloudodesc.com/gtm.js?v=2.92 PsiGate
    cloudodesc.com/gtm.js?v=2.93 CyberSource
    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 PayPal
    gtmproc.com/gtm.js?v=1.6 PayPal
    gtmproc.com/gtm.js?v=1.7 Realex
    livecheckpay.com/api.js?v=2.0 Sage Pay
    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 ANZ eGate
    livegetpay.com/pay.js?v=2.1.3 PayPal
    livegetpay.com/pay.js?v=2.1.5 CyberSource
    livegetpay.com/pay.js?v=2.1.7 Authorize.Net
    livegetpay.com/pay.js?v=2.1.8 Sage Pay
    livegetpay.com/pay.js?v=2.1.9 Realex
    livegetpay.com/pay.js?v=2.2.0 CyberSource
    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 Rapid
    livegetpay.com/pay.js?v=2.2.7 Sage Pay
    livegetpay.com/pay.js?v=2.2.8 Sage Pay
    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 First Data Global Gateway
    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 Stripe
    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 Sage Pay
    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 Pay
    mxcounter.com/c.js?v=2.31 Sage Pay
    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 Stripe
    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 Sage Pay
    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 Pay
    mxcounter.com/click.js?v=2.31 Sage Pay
    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 Pay
    newrelicnet.com/api.js?v=4.5 Sage Pay
    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 PayPal
    nr-public.com/api.js?v=2.2 Authorize.Net
    nr-public.com/api.js?v=2.3 Stripe
    nr-public.com/api.js?v=2.4 First Data Global Gateway
    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 Moneris
    nr-public.com/api.js?v=2.9 Authorize.Net
    nr-public.com/api.js?v=3.1 Sage Pay
    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 LinkPoint
    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 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 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 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 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 Sage Pay
    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 PayFort
    ordercheckpays.com/api.js?v=2.29 CyberSource
    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 Sage Pay
    ordercheckpays.com/api.js?v=3.4 Authorize.Net
    ordercheckpays.com/api.js?v=3.5 Stripe
    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 Pay
    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 PayPal
    reactjsapi.com/api.js?v=4.1.2 Flint
    reactjsapi.com/api.js?v=4.1.4 PayPal
    reactjsapi.com/api.js?v=4.1.5 Sage Pay
    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 Stripe
    reactjsapi.com/api.js?v=4.1.9 Fat Zebra
    reactjsapi.com/api.js?v=4.2.0 Sage Pay
    reactjsapi.com/api.js?v=4.2.1 Authorize.Net
    reactjsapi.com/api.js?v=4.2.2 First Data Global Gateway
    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 Adyen
    reactjsapi.com/api.js?v=4.2.7 PayPal
    reactjsapi.com/api.js?v=4.2.8 QuickBooks Merchant Services
    reactjsapi.com/api.js?v=4.2.9 Verisign
    reactjsapi.com/api.js?v=4.2.91 Sage Pay
    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 Sage Pay
    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 PayPal
    tagstracking.com/tag.js?v=2.1.5 CyberSource
    tagstracking.com/tag.js?v=2.1.7 Authorize.Net
    tagstracking.com/tag.js?v=2.1.8 Sage Pay
    tagstracking.com/tag.js?v=2.1.9 Realex
    tagstracking.com/tag.js?v=2.2.0 CyberSource
    tagstracking.com/tag.js?v=2.2.1 PayPal
    tagstracking.com/tag.js?v=2.2.2 PayPal
    tagstracking.com/tag.js?v=2.2.3 PayPal
    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 Sage Pay
    tagstracking.com/tag.js?v=2.2.8 Sage Pay
    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 First Data Global Gateway
    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 Moneris
    tagstracking.com/tag.js?v=2.3.6 Authorize.Net
    tagstracking.com/tag.js?v=2.3.8 PayPal


    Сниффер паролей


    Одним из преимуществ JavaScript-снифферов, работающих на клиентской стороне сайта, является универсальность: внедренный на сайт вредоносный код способен похитить данные любого типа, будь то платежные данные или логин и пароль от пользовательского аккаунта. Специалисты Group-IB обнаружили образец сниффера, относящегося к семейству ReactGet, предназначенный для кражи адресов электронной почты и паролей пользователей сайта.


    Пересечение со сниффером ImageID


    В ходе анализа одного из зараженных магазинов было установлено, что его сайт подвергся заражению дважды: помимо вредоносного кода сниффера семейства ReactGet, был обнаружен код сниффера семейства ImageID. Данное пересечение может быть свидетельством того, что операторы, стоящие за использованием обоих снифферов, применяют схожие техники для внедрения вредоносного кода.


    Универсальный сниффер


    В ходе анализа одного из доменных имен, относящихся к инфраструктуре снифферов ReactGet, было установлено, что тот же пользователь зарегистрировал три других доменных имени. Эти три домена имитировали домены реально существующих сайтов и ранее использовались для размещения снифферов. При анализе кода трех легитимных сайтов был обнаружен неизвестный сниффер, а дальнейший анализ показал, что это усовершенствованная версия сниффера ReactGet. Все ранее отслеженные версии снифферов этого семейства были нацелены на какую-то одну платежную систему, то есть для каждой платежной системы требовалась специальная версия сниффера. Однако в данном случае была обнаружена универсальная версия сниффера, способная похищать информацию из форм, относящихся к 15 разным платежным системам и модулям ecommerce-сайтов для проведения онлайн-платежей.

    Итак, в начале работы сниффер осуществлял поиск базовых полей формы, содержащих персональную информацию жертвы: полное имя, физический адрес, номер телефона.


    Затем сниффер осуществлял поиск более чем по 15 разным префиксам, соответствующим разным платежным системам и модулям для онлайн-платежей.


    Далее персональные данные жертвы и платежная информация собирались воедино и отправлялись на подконтрольный злоумышленнику сайт: в этом конкретном случае были обнаружены две версии универсального сниффера ReactGet, расположенные на двух разных взломанных сайтах. Однако обе версии отправляли украденные данные на один и тот же взломанный сайт zoobashop.com.


    Анализ префиксов, которые использовались сниффером для поиска полей, содержащих платежную информацию жертвы, позволил определить, что этот образец сниффера был нацелен на следующие платежные системы:

    • Authorize.Net
    • Verisign
    • First Data
    • USAePay
    • Stripe
    • PayPal
    • ANZ eGate
    • Braintree
    • DataCash (MasterCard)
    • Realex Payments
    • PsiGate
    • Heartland Payment Systems

    Какие инструменты используются для кражи платежной информации


    Первый инструмент, обнаруженный в ходе анализа инфраструктуры атакующих, служит для обфускации вредоносных скриптов, отвечающих за кражу банковских карт. На одном из хостов атакующих был обнаружен bash-скрипт, использующий CLI проекта javascript-obfuscator для автоматизации обфускации кода снифферов.


    Второй обнаруженный инструмент предназначен для генерации кода, отвечающего за подгрузку основного сниффера. Данный инструмент генерирует JavaScript-код, который проверяет, находится ли пользователь на странице оплаты, путем поиска в текущем адресе пользователя строк checkout, cart и так далее, и если результат положительный, то код подгружает основной сниффер с сервера злоумышленников. Для сокрытия вредоносной активности все строки, включая тестовые строки для определения платежной страницы, а также ссылку на сниффер, закодированы при помощи base64.


    Фишинговые атаки


    В ходе анализа сетевой инфраструктуры атакующих было установлено, что зачастую для получения доступа в административную панель целевого онлайн-магазина преступная группа использует фишинг. Атакующие регистрируют домен, визуально похожий на домен магазина, а затем разворачивают на нем поддельную форму входа административной панели Magento. В случае успеха атакующие получат доступ в административную панель CMS Magento, что дает им возможность редактировать компоненты сайта и внедрить сниффер для кражи данных кредитных карт.


    Инфраструктура
    Домен
    Дата обнаружения/появления
    mediapack.info 04.05.2017
    adsgetapi.com 15.06.2017
    simcounter.com 14.08.2017
    mageanalytics.com 22.12.2017
    maxstatics.com 16.01.2018
    reactjsapi.com 19.01.2018
    mxcounter.com 02.02.2018
    apitstatus.com 01.03.2018
    orderracker.com 20.04.2018
    tagstracking.com 25.06.2018
    adsapigate.com 12.07.2018
    trust-tracker.com 15.07.2018
    fbstatspartner.com 02.10.2018
    billgetstatus.com 12.10.2018
    aldenmlilhouse.com 20.10.2018
    balletbeautlful.com 20.10.2018
    bargalnjunkie.com 20.10.2018
    payselector.com 21.10.2018
    tagsmediaget.com 02.11.2018
    hs-payments.com 16.11.2018
    ordercheckpays.com 19.11.2018
    geisseie.com 24.11.2018
    gtmproc.com 29.11.2018
    livegetpay.com 18.12.2018
    sydneysalonsupplies.com 18.12.2018
    newrelicnet.com
    19.12.2018
    nr-public.com 03.01.2019
    cloudodesc.com 04.01.2019
    ajaxstatic.com 11.01.2019
    livecheckpay.com 21.01.2019
    asianfoodgracer.com 25.01.2019


    Семейство G-Analytics


    Это семейство снифферов используется для кражи карт клиентов онлайн-магазинов. Самое первое доменное имя, используемое группой, было зарегистрировано в апреле 2016 года, что может свидетельствовать о начале активности группы в середине 2016 года.

    В текущей кампании группа использует доменные имена, имитирующие реально существующие сервисы, такие как Google Analytics и jQuery, маскируя активность снифферов легитимными скриптами и похожими на легитимные доменными именами. Атаке подверглись сайты, работающие под управлением CMS Magento.

    Как G-Analytics внедряется в код онлайн-магазина


    Отличительная особенность этого семейства — использование различных способов похищения платежной информации пользователя. Помимо классического внедрения JavaScript-кода в клиентскую часть сайта, преступная группа также применяла технику внедрения кода в серверную часть сайта, а именно PHP-скрипты, обрабатывающие введенные пользователем данные. Эта техника опасна тем, что затрудняет обнаружение вредоносного кода сторонними исследователями. Специалистами Group-IB была обнаружена версия сниффера, внедренного в PHP-код сайта, использующая в качестве гейта домен dittm.org.


    Также была обнаружена ранняя версия сниффера, использующего для сбора украденных данных тот же домен dittm.org, но эта версия предназначена уже для установки на клиентской стороне онлайн-магазина.


    Позднее группа изменила свою тактику и начала уделять больше внимания сокрытию вредоносной активности и маскировке.

    В начале 2017 года группа стала использовать домен jquery-js.com, маскирующийся под CDN для jQuery: при переходе на сайт злоумышленников пользователя перенаправляет на легитимный сайт jquery.com.

    А в середине 2018 года группа взяла на вооружение доменное имя g-analytics.com и начала маскировать деятельность сниффера под легитимный сервис Google Analytics.



    Анализ версий


    В ходе анализа доменов, используемых для хранения кода снифферов, было установлено, что на сайте располагается большое количество версий, которые различаются наличием обфускации, а также наличием или отсутствием недостижимого кода, добавленного в файл для отвлечения внимания и сокрытия вредоносного кода.

    Всего на сайте jquery-js.com было выявлено шесть версий снифферов. Украденные данные эти снифферы отправляют на адрес, расположенный на том же сайте, что и сам сниффер: 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 разных версий сниффера. В этом случае гейт для отправки украденных данных был замаскирован под ссылку на изображение формата GIF: hxxp://g-analytics[.]com/__utm.gif?v=1&_v=j68&a=98811130&t=pageview&_s=1&sd=24-bit&sr=2560x1440&vp=2145x371&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 как магазин по продаже банковских карт, украденных при помощи сниффера.


    Анализируя домен analytic.is, расположенный на том же сервере, что и домены, используемые снифферами для сбора украденных данных, специалисты Group-IB обнаружили файл, содержащий логи Cookie-стиллера, который, похоже, позднее был заброшен разработчиком. Одна из записей в логе содержала домен iozoz.com, который ранее был использован в одном из снифферов, активных в 2016 году. Предположительно, этот домен ранее использовался злоумышленником для сбора украденных при помощи сниффера карт. Этот домен был зарегистрирован на email-адрес kts241@gmail.com, который также был использован для регистрации доменов cardz.su и cardz.vc, относящихся к кардинговому магазину Cardsurfs.

    Исходя из полученных даннных, можно сделать предположение, что семейство снифферов G-Analytics и подпольный магазин по продаже банковских карт Cardsurfs управляются одними и теми же людьми, а магазин используется для реализации банковских карт, украденных при помощи сниффера.

    Инфраструктура
    Домен
    Дата обнаружения/появления
    iozoz.com 08.04.2016
    dittm.org 10.09.2016
    jquery-js.com 02.01.2017
    g-analytics.com 31.05.2018
    google-analytics.is 21.11.2018
    analytic.to 04.12.2018
    google-analytics.to 06.12.2018
    google-analytics.cm 28.12.2018
    analytic.is 28.12.2018
    googlc-analytics.cm 17.01.2019


    Семейство Illum


    Illum — семейство снифферов, применяемое для атак на онлайн-магазины, работающие под управлением CMS Magento. Помимо внедрения вредоносного кода, операторы этого сниффера также используют внедрение полноценных поддельных форм оплаты, которые отправляют данные на подконтрольные злоумышленникам гейты.

    При анализе сетевой инфраструктуры, которую используют операторы этого сниффера, было отмечено большое количество вредоносных скриптов, эксплойтов, поддельных платежных форм, а также сборник примеров с вредоносными снифферами конкурентов. Исходя из информации о датах появления доменных имен, используемых группой, можно предположить, что начало кампании приходится на конец 2016 года.

    Как Illum внедряется в код онлайн-магазина


    Первые обнаруженные версии сниффера внедрялись прямо в код скомпрометированного сайта. Украденные данные отправлялись по адресу cdn.illum[.]pw/records.php, гейт же был закодирован при помощи base64.


    Позднее была обнаружена упакованная версия сниффера, использующая другой гейт — records.nstatistics[.]com/records.php.


    Согласно отчету Willem de Groot, такой же хост использовался в сниффере, который был внедрен на сайт магазина, принадлежащего немецкой политической партии CSU.

    Анализ сайта злоумышленников


    Специалисты Group-IB обнаружили и проанализировали сайт, используемый данной преступной группой для хранения инструментов и сбора украденной информации.


    Среди инструментов, обнаруженных на сервере злоумышленников, были найдены скрипты и эксплойты для повышения привилегий в ОС Linux: к примеру, Linux Privilege Escalation Check Script, разработанный Майком Чумаком (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=


    Хост paymentnow[.]tk, используемый как гейт в скрипте payment_forminsite.js, был обнаружен как subjectAltName в нескольких сертификатах, относящихся к сервису CloudFlare. Помимо этого, на хосте располагался скрипт evil.js. Судя по имени скрипта, он мог быть использован в рамках эксплуатации CVE-2016-4010, благодаря которой можно внедрить вредоносный код в footer сайта под управлением CMS Magento. В качестве гейта этот скрипт применил хост request.requestnet[.]tk, использующий тот же сертификат, что и хост paymentnow[.]tk.

    Поддельные платежные формы


    Ниже на рисунке показан пример формы для ввода данных карты. Эта форма использовалась для внедрения на сайт онлайн-магазина и кражи данных карт.


    На следующем рисунке — пример поддельной платежной формы PayPal, которую использовали злоумышленники для внедрения на сайты с этим методом оплаты.

    Инфраструктура
    Домен
    Дата обнаружения/появления
    cdn.illum.pw 27/11/2016
    records.nstatistics.com 06/09/2018
    request.payrightnow.cf 25/05/2018
    paymentnow.tk 16/07/2017
    payment-line.tk 01/03/2018
    paymentpal.cf 04/09/2017
    requestnet.tk 28/06/2017


    Семейство CoffeMokko


    Семейство снифферов CoffeMokko, предназначенных для кражи банковских карт пользователей интернет-магазинов, используется как минимум с мая 2017 года. Предположительно, операторами данного семейства снифферов является преступная группа Group 1, описанная специалистами RiskIQ в 2016 году. Атакам подверглись сайты под управлением таких CMS, как Magento, OpenCart, WordPress, osCommerce, Shopify.

    Как CoffeMokko внедряется в код онлайн-магазина


    Операторы этого семейства создают уникальные снифферы для каждого заражения: файл сниффера располагается в директории src или js на сервере злоумышленников. Внедрение в код сайта осуществляется по прямой ссылке на сниффер.


    В коде сниффера жестко закодированы названия полей формы, из которых необходимо украсть данные. Также сниффер проверяет, находится ли пользователь на странице оплаты, сверяя список ключевых слов с текущим адресом пользователя.


    Некоторые обнаруженные версии сниффера были обфусцированы и содержали зашифрованную строку, в которой хранился основной массив ресурсов: именно в нем были имена полей форм для различных платежных систем, а также адрес гейта, на который необходимо отправлять украденные данные.


    Украденная платежная информация отправлялась скрипту на сервере злоумышленников по пути /savePayment/index.php или /tr/index.php. Предположительно, этот скрипт служит для отправки данных с гейта на основной сервер, консолидирующий данные со всех снифферов. Для сокрытия передаваемых данных вся платежная информация жертвы кодируется при помощи base64, а затем происходит несколько замен символов:

    • символ «e» заменяется на «:»
    • символ «w» заменяется на «+»
    • символ «o» заменяется на «%»
    • символ «d» заменяется на «#»
    • символ «a» заменяется на «-»
    • символ «7» заменяется на «^»
    • символ «h» заменяется на «_»
    • символ «T» заменяется на «@»
    • символ «0» заменяется на «/»
    • символ «Y» заменяется на «*»

    В результате замен символов закодированные с помощью base64 данные невозможно декодировать, не проведя обратного преобразования.

    Так выглядит фрагмент кода сниффера, не подвергавшегося обфускации:


    Анализ инфраструктуры


    В ранних кампаниях злоумышленники регистрировали доменные имена, похожие на домены легитимных сайтов онлайн-магазинов. Их домен мог отличаться от легитимного одним символом или другим TLD. Зарегистрированные домены использовались для хранения кода сниффера, ссылка на который внедрялась в код магазина.

    Также данная группа использовала доменные имена, напоминающие название популярных плагинов для jQuery (slickjs[.]org для сайтов, использующих плагин slick.js), платежных шлюзов (sagecdn[.]org для сайтов, использующих платежную систему Sage Pay).

    Позднее группа начала создавать домены, название которых не имело ничего общего ни с доменом магазина, ни с тематикой магазина.


    Каждому домену соответствовал сайт, на котором создавалась директория /js или /src. В этой директории хранились скрипты снифферов: по одному снифферу на каждое новое заражение. Сниффер внедрялся в код сайта по прямой ссылке, но в редких случаях злоумышленники модифицировали один из файлов сайта и добавляли в него вредоносный код.

    Анализ кода


    Первый алгоритм обфускации


    В некоторых обнаруженных образцах снифферов этого семейства код был обфусцирован и содержал зашифрованные данные, необходимые для работы сниффера: в частности, адрес гейта сниффера, список полей платежной формы, а в некоторых случаях — код поддельной формы оплаты. В коде внутри функции ресурсы были зашифрованы при помощи XOR по ключу, который передавался аргументом этой же функции.


    Расшифровав строку соответствующим ключом, уникальным для каждого образца, можно получить строку, содержащую все строки из кода сниффера через символ-разделитель.


    Второй алгоритм обфускации


    В более поздних образцах снифферов этого семейства был использован другой механизм обфускации: в этом случае данные были зашифрованы при помощи самописного алгоритма. Строка, содержащая зашифрованные данные, необходимые для работы сниффера, передавалась аргументом функции расшифрования.


    При помощи консоли браузера можно расшифровать зашифрованные данные и получить массив, содержащий ресурсы сниффера.


    Связь с ранними атаками MageCart


    В ходе анализа одного из доменов, используемых группой в качестве гейта для сбора украденных данных, было установлено, что на этом домене развернута инфраструктура для кражи кредитных карт, идентичная той, которая использовалась Group 1 — одной из первых групп, обнаруженных специалистами RiskIQ.

    На хосте семейства снифферов CoffeMokko были обнаружены два файла:

    • mage.js — файл, содержащий код сниффера Group 1 с адресом гейта js-cdn.link
    • mag.php — PHP-скрипт, отвечающий за сбор украденных сниффером данных

    Содержимое файла mage.js

    Также было установлено, что самые ранние домены, используемые группой, стоящей за семейством снифферов CoffeMokko, были зарегистрированы 17 мая 2017 года:

    • link-js[.]link
    • info-js[.]link
    • track-js[.]link
    • map-js[.]link
    • smart-js[.]link

    Формат этих доменных имен совпадает с доменными именами Group 1, которые были использованы в атаках 2016 года.

    На основе обнаруженных фактов можно сделать предположение, что между операторами снифферов CoffeMokko и преступной группой Group 1 есть связь. Предположительно, операторы CoffeMokko могли позаимствовать у своих предшественников инструменты и программное обеспечение для кражи карт. Однако более вероятно, что преступная группа, стоящая за использованием снифферов семейства CoffeMokko, — это те же люди, что осуществляли атаки в рамках деятельности Group 1. После публикации первого отчета о деятельности преступной группы все их доменные имена были заблокированы, а инструменты подробно изучены и описаны. Группа была вынуждена взять перерыв, доработать свои внутренние инструменты и переписать код снифферов для того, чтобы продолжить свои атаки и оставаться незамеченными.

    Инфраструктура
    Домен Дата обнаружения/появления
    link-js.link 17.05.2017
    info-js.link 17.05.2017
    track-js.link 17.05.2017
    map-js.link 17.05.2017
    smart-js.link 17.05.2017
    adorebeauty.org 03.09.2017
    security-payment.su 03.09.2017
    braincdn.org 04.09.2017
    sagecdn.org 04.09.2017
    slickjs.org 04.09.2017
    oakandfort.org 10.09.2017
    citywlnery.org 15.09.2017
    dobell.su 04.10.2017
    childsplayclothing.org 31.10.2017
    jewsondirect.com 05.11.2017
    shop-rnib.org 15.11.2017
    closetlondon.org 16.11.2017
    misshaus.org 28.11.2017
    battery-force.org 01.12.2017
    kik-vape.org 01.12.2017
    greatfurnituretradingco.org 02.12.2017
    etradesupply.org 04.12.2017
    replacemyremote.org 04.12.2017
    all-about-sneakers.org 05.12.2017
    mage-checkout.org 05.12.2017
    nililotan.org 07.12.2017
    lamoodbighats.net 08.12.2017
    walletgear.org 10.12.2017
    dahlie.org 12.12.2017
    davidsfootwear.org 20.12.2017
    blackriverimaging.org 23.12.2017
    exrpesso.org 02.01.2018
    parks.su 09.01.2018
    pmtonline.su 12.01.2018
    ottocap.org 15.01.2018
    christohperward.org 27.01.2018
    coffetea.org 31.01.2018
    energycoffe.org 31.01.2018
    energytea.org 31.01.2018
    teacoffe.net 31.01.2018
    adaptivecss.org 01.03.2018
    coffemokko.com 01.03.2018
    londontea.net 01.03.2018
    ukcoffe.com 01.03.2018
    labbe.biz 20.03.2018
    batterynart.com 03.04.2018
    btosports.net 09.04.2018
    chicksaddlery.net 16.04.2018
    paypaypay.org 11.05.2018
    ar500arnor.com 26.05.2018
    authorizecdn.com 28.05.2018
    slickmin.com 28.05.2018
    bannerbuzz.info 03.06.2018
    kandypens.net 08.06.2018
    mylrendyphone.com 15.06.2018
    freshchat.info 01.07.2018
    3lift.org 02.07.2018
    abtasty.net 02.07.2018
    mechat.info 02.07.2018
    zoplm.com 02.07.2018
    zapaljs.com 02.09.2018
    foodandcot.com 15.09.2018
    freshdepor.com 15.09.2018
    swappastore.com 15.09.2018
    verywellfitnesse.com 15.09.2018
    elegrina.com 18.11.2018
    majsurplus.com 19.11.2018
    top5value.com 19.11.2018

    • +12
    • 6,6k
    • 9
    Group-IB
    80,24
    Компания
    Поделиться публикацией

    Комментарии 9

      0
      И как это всё ловить со стороны пользователя? Скажем, есть условная моя мама, которая где-то на сайте что-то пытается купить. Как ей понять, что её кредитку на этой платежной форме никто не свистнет?
        +3
        Завести виртуальную карту и платить только с неё.
        +3
        Может я что-то упустил, но ни в одном примере не увидел ответа на вопрос «Как *** внедряется в код онлайн-магазина». То есть, написано, куда внедряется, но не написано, как.

        И да, что пользователям делать, тоже не ясно. Разве только использовать виртуальные карты на каждый платёж или использовать только доверенные платёжные шлюзы…
          +1
          Зачастую установить способ заражения сайта без проведения криминалистической экспертизы почти невозможно. Как было описано в части «Анализ сайта злоумышленников» для сниффера Illum, на их сайте мы обнаружили два эксплоита, которые могут применяться для внедрения вредоносного кода в Magento-сайты. Также, помимо эксплоитов, злоумышленники используют брутфорс-атаки на phpMyAdmin и административные панели Magento.

          К сожалению, пользователь перед этой угрозой почти беззащитен, вы правы. Мы рекомендуем для платежей в Интернете использовать либо виртуальную карту, либо отдельную карту для онлайн-платежей, на которой всегда будет только та сумма, которая необходима для конкретного онлайн-платежа.
            0
            Это всё очевидно. По крайней мере тем, кто хоть немного сечёт в сайтостроительстве и хостинге.
            Но вот в статье заголовки не сходятся с содержанием. Под тот набор информации, который выложен тут, годнее были бы советы пользователям, кроме очевидных про карты, как, например, настроить какой-нибудь адблок для фильтрации сомнительных скриптов… Или ещё что придумать в том же роде.
            А саму статью назвать бы в духе «подробный анализ самых популярных снифферов в зарубежных онлайн-магазинах» :)
              0
              учитывая, что заражается и серверный скрипт, со стороны клиента вообще ничего не увидеть.

              uBlock с блокировкой по умолчанию всех скриптов и изображений и ручным разрешением только минимально необходимого конкретному сайту — немного повысит шансы уцелеть
                0
                Все эти снифферы должны куда-то отправлять данные, много загружаются с внешних сайтов. Эту вот деятельность как-то пресечь бы…
          +2
          Работаю с магазинами на Magento 1/2. Так вот был клиент из Дании, ему пришел эмайл от гугл что у него на сайте был, как они написали, «Unwanted script». Линк у него был такой: api.ustore.pw/statistics.js
          На сайте у клиента была открыта страница PhpMyAdmin и у кого-то, судя по всему, был к ней логин и пароль. Через базу данных они просто вставили код <script src="…
          Клиент сказал что вообще не знал про ПхпМайАдмин и просто попросил его удалить. На мои предложения потратить пару часов на более глубоке изучение того что еще могло быть украденно клиент просто проигнорировал сказав сухое «Сэнкс». Хозяин барин.
          Но из логов было видно что там далеко не один запрос к базе данных был. Каждый день. В течении несольких месяцов.
          Скрипт был на половину обфусцирован. Все что я смог разобрать это, что скрипт реагировал на input'ы паролей, инфорцации кредитной карты и т.д.
            0
            Вы правы, этот скрипт — представитель одного из семейств JS-снифферов. Брутфорс-атаки на административные панели CMS и веб-интерфейсы систем управления БД (phpMyAdmin) являются одним из способов установки снифферов на целевой сайт, это достигается за счет того, что многие структурные элементы сайта хранятся именно в БД, к примеру, нам известны случаи, когда атакующие перезаписывали в базе данных сайта элемент, соответствующий footer-у и внедряли в него вредоносный скрипт для кражи карт. Именно поэтому так важно использовать стойкие пароли, регулярно ставить обновления и ответственно относиться к безопасности, особенно когда пользователи доверяют магазину свои платежные данные.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое