Злоумышленники спрятали вирус для кражи данных кредиток в SVG-изображении размером 1 пиксель

Читать в полной версии

Почти 100 интернет-магазинов, работающих на платформе электронной коммерции Magento, стали целью кампании по краже данных кредитных карт. Злоумышленники прячут вредоносный код в SVG-изображении размером 1 × 1 пиксель и запускают его при переходе жертвы к оплате заказа. Исследователи Sansec связывают атаку с уязвимостью PolyShell, обнаруженной в середине марта и затронувшей все установки Magento Open Source и Adobe Commerce стабильных версий ветки 2.

Источник изображения: Wesley Tingey / unsplash.com

При переходе к оплате на скомпрометированном сайте вредоносный код перехватывает нажатие кнопки оформления заказа и выводит правдоподобную поддельную форму Secure Checkout с полями для реквизитов карты и данных плательщика. Сведения, введённые в эту форму, проверяются, после чего отправляются злоумышленнику в формате JSON-данных, зашифрованных с помощью XOR и дополнительно замаскированных кодированием base64.

Злоумышленники внедряют вредоносный код непосредственно в HTML-код сайта в виде SVG-элемента размером 1 × 1 пиксель с обработчиком события onload. «Обработчик onload содержит всю вредоносную нагрузку: она закодирована в base64 внутри вызова atob() и запускается через setTimeout», — пояснила Sansec. Такой способ позволяет не подключать внешние сценарии, на которые защитные сканеры обычно реагируют как на подозрительные: весь вредоносный код остаётся встроенным в страницу и помещается в значении одного строкового атрибута.

Источник изображения: sansec.io

Sansec полагает, что злоумышленники получили доступ, эксплуатируя уязвимость PolyShell. Она позволяет выполнять код без прохождения проверки подлинности и получать контроль над учётными записями. Ранее компания предупреждала, что атакам с использованием PolyShell подверглись более половины всех уязвимых магазинов. В части случаев злоумышленники внедряли перехватчики данных платёжных карт и использовали WebRTC для скрытой передачи похищенных сведений.

Sansec выявила шесть доменов, на которые выводятся похищенные данные. Все они размещены у IncogNet LLC (AS40663) в Нидерландах, причём на каждый из них поступает информация от 10 до 15 подтверждённых жертв. Для защиты от взлома компания рекомендует проверить файлы сайта на наличие скрытых SVG-элементов с атрибутом onload, использующим atob(), убедиться, что в локальном хранилище браузера localStorage отсутствует ключ _mgx_cv, отслеживать и блокировать обращения к fb_metrics.php и незнакомым доменам, маскирующимся под аналитические службы, а также полностью блокировать трафик к IP-адресу 23.137.249.67 и связанным с ним доменам.

Adobe к моменту публикации не выпустила обновление безопасности для устранения PolyShell в рабочих версиях Magento. Исправление доступно только в предварительной версии 2.4.9-alpha3+. Владельцам и администраторам сайтов Sansec рекомендует применить все доступные меры защиты и по возможности перейти на последний бета-выпуск Magento.