Исследователи «Лаборатории Касперского» сообщают, что хакеры злоупотребляют Google Analytics для реализации атак типа MageCart (говоря проще, веб-скимминга). Таким образом злоумышленники скрытно извлекают украденные данные банковских карт с зараженных сайтов интернет-магазинов.
Принцип таких атак довольно прост: на взломанный сайт внедряется вредоносный код, который собирает данные, вводимые пользователем, и отправляет их на контролируемый злоумышленником ресурс. В случае успешной атаки злоумышленник, заразивший сайт, получает доступ к платежным данным посетителей.
Эксперты рассказывают, что для отправки данных на сторонний ресурс, чтобы сделать ее менее заметной, мошенники часто регистрируют домены, напоминающие имена популярных веб-сервисов, в частности Google Analytics: google-anatytics[.]com, google-analytcsapi[.]com, google-analytc[.]com, google-anaiytlcs[.]com, google-analytics[.]top, google-analytics[.]cm, google-analytics[.]to, google-analytics-js[.]com, googlc-analytics[.]com и так далее.
И, как удалось установить экспертам, в атаках такого рода может быть использован и оригинальный сервис.
Чтобы с помощью Google Analytics собирать данные о посетителях, владелец сайта должен настроить параметры отслеживания в личном кабинете на analytics.google.com, получить код отслеживания (trackingId — строка вида UA-XXXX-Y) и вставить на страницы ресурса трекинг-код с ним. При этом на одном сайте могут уживаться несколько трекинг-кодов, отправляющих данные о посетителях в разные аккаунты «аналитики».
Исследователи выявили несколько случаев нецелевого использования сервиса Google: атакующий внедрял на сайт вредоносный код, который собирал все данные, вводимые пользователями, и затем отправлял их с помощью протокола «аналитики». В результате атакующий получал доступ к украденным данным в своем личном кабинете Google Analytics. Было обнаружено порядка двух десятков зараженных сайтов по всему миру. Среди жертв — магазины из Европы, Северной и Южной Америки, торгующие цифровой техникой, косметикой, продуктами питания и запчастями.
Как выглядит «инфекция», можно увидеть на скриншоте ниже — вредоносный код с трекинг-кодом и trackingId злоумышленника:
Отмечается, что в некоторых случаях такой инжект может быть обфусцирован, а вредоносный код может загружаться со стороннего ресурса.
По сути, атакующий старается скрыть вредоносную активность с помощью классической техники антиотладки. На скриншоте ниже видна проверка, — не включен ли в браузере посетителя режим разработчика. То есть код на скриншоте выше выполнится только в случае, если она пройдена.
Исследователи отмечают, что злоумышленник оставил себе лазейку — возможность наблюдать работу скрипта в режиме отладки. Если в локальном хранилище браузера (Local Storage) есть значение ‘debug_mode’==’11’, вредоносный код отработает и при открытых инструментах разработчика и даже будет писать в консоль комментарии на корявом (с ошибками) английском языке. На иллюстрации ниже — строка с проверкой ‘debug_mode’ следует за реализацией алгоритма шифрования RC4 (который используется для шифрования собранных данных перед отправкой).
Если антиотладка пройдена, скрипт собирает все введенное пользователем на сайте (а также данные о нем самом, такие как IP-адрес, UserAgent, временная зона пользователя). Собранные данные шифруются и отправляются при помощи протокола измерений Google Analytics (Google Analytics Measurement Protocol).
Исследователи предупреждают, что опасность велика, ведь Google Analytics — крайне популярный сервис (по данным BuiltWith, он используется более чем на 29 миллионах сайтов), которому пользователи доверяют: администраторы прописывают *.google-analytics.com в заголовке Content-Security-Policy (служит для перечисления ресурсов, с которых может загружаться сторонний код), разрешая сбор данных этому сервису. Кроме того, атака может быть реализована и без загрузки кода «со стороны».