Кампанія складається з трьох етапів, кожен з яких використовує легітимний сервіс для уникнення виявлення . Це робить атаку практично невидимою для стандартних засобів захисту.
Спочатку зловмисники компрометують контейнер Google Tag Manager (GTM) на цільовому сайті. Вони впроваджують шкідливий тег, який завантажується на кожній сторінці, включаючи сторінки оформлення замовлення. Оскільки скрипт походить з домену googletagmanager.com — добре знайомого і цілком довіреного для систем аналітики, — він без жодних перешкод оминає типові Політики безпеки контенту (CSP) та блокувальники реклами, не викликаючи жодних сповіщень . Таким чином, GTM стає ідеальним та неблокованим механізмом доставки, свого роду троянським конем у світі веб-аналітики.
На цьому етапі замість того, щоб звертатися до якогось підозрілого стороннього сервера, тег GTM робить запит до api.stripe.com. Саме там зловмисники зберігають повноцінний шкідливий JavaScript-скімер. Вони розміщують його в полі метаданих клієнта (Customer metadata field) у власному обліковому записі Stripe, використовуючи секретний ключ тестового режиму (sk_test_...) для запису та подальшого зчитування коду . Скімер завантажується з домену, який власники магазинів не просто вважають безпечним, а й критично необхідним для роботи їхнього платіжного стеку. Через це мережевий моніторинг та CSP-правила вкрай рідко позначають такі API-виклики як підозрілі.
Коли покупець вводить дані кредитної картки, особисту інформацію та платіжну адресу на сторінці оформлення замовлення, впроваджений скімер перехоплює ці дані. Після цього він відправляє їх назад до облікового запису зловмисників у Stripe через той самий API, записуючи інформацію у вигляді фіктивних записів клієнтів (Customer records) або нових метаданих . Оскільки весь трафік для витоку даних прямує назад до
api.stripe.com, він ідеально зливається з легітимними платіжними API-викликами, які постійно генерує сайт. Це робить крадіжку даних по суті невидимою для журналів брандмауера та інструментів виявлення аномалій, адже відрізнити злочинний запит від звичайного — надзвичайно складно .
Секретні ключі тестового режиму Stripe (sk_test_...) надають повний доступ на читання та запис у межах ізольованого тестового середовища (sandbox). Вони дозволяють безкоштовно створювати необмежену кількість фіктивних клієнтів, транзакцій та полів метаданих . Оскільки ці ключі ніколи не ініціюють справжніх списань коштів, їх нецільове використання дуже легко проґавити. Зловмисники розраховують на те, що багато організацій сприймають тестові ключі як малоризикові та не перевіряють активність у «пісочниці» з тією ж ретельністю, що й бойовий трафік.
Окремою, але пов’язаною загрозою є витік «живих» (live) секретних ключів. Це дало б атакуючому прямий доступ до реальних даних транзакцій, можливість оформлювати повернення коштів та навіть переказувати гроші . І хоча ця конкретна кампанія використовує тестові ключі для більшої скритності, принцип залишається тим самим: API-ключі Stripe в будь-якому режимі — це надзвичайно потужні облікові дані, які ніколи не повинні з’являтися у клієнтському коді, змінних Google Tag Manager або публічних репозиторіях
.
Поки кампанія Magecart через Stripe націлена на процеси оформлення замовлень, власники сайтів на WordPress стикаються з не менш нагальною загрозою — вразливістю у плагіні Everest Forms Pro, яка активно експлуатується з 13 квітня 2026 року .
CVE-2026-3300 — це вразливість, яка дозволяє неавтентифікованим зловмисникам віддалено виконати довільний код (Remote Code Execution, RCE). Вона стосується плагіна Everest Forms Pro, який має близько 4 000 активних встановлень . Вразливість оцінюється у 9.8 бала за шкалою CVSS і впливає на всі версії аж до 1.9.12 включно
.
Помилка криється у функції process_filter() в аддоні «Calculation» (Розрахунки). Коли ввімкнено функцію «Complex Calculation» (Складні обчислення), плагін бере значення, введені користувачем у текстові поля форми, безпосередньо вставляє їх у рядок PHP-коду і передає результат у функцію eval() без належного екранування . При цьому функція
sanitize_text_field(), яка застосовується до вхідних даних, не нейтралізує одинарні лапки та інші символи, що мають спеціальне значення в контексті PHP-коду. Це дозволяє зловмиснику «вирватися» за межі призначеного рядка та впровадити довільні команди .
Компанія Wordfence заблокувала понад 29 300 спроб експлойту і повідомляє, що після успішної атаки зловмисники часто створюють несанкціоновані облікові записи адміністраторів . Власникам сайтів слід звертати увагу на такі ознаки компрометації: поява нових адміністраторів з неочікуваними іменами, незвичні файли на сервері або підозрілі вихідні мережеві з’єднання
.
api.stripe.com до директиви script-src, якщо це не є абсолютно необхідним. Якщо доводиться це зробити, використовуйте хеші цілісності підресурсів (Sub-Resource Integrity, SRI). Блокування вбудованих скриптів (inline scripts) забезпечить додатковий рівень захисту eval() eval() та вихідні мережеві з’єднання з незнайомими IP-адресами. Після усунення вразливості критично важливо виконати повну перевірку цілісності файлів ядра, теми та плагінів WordPress
Comments
0 comments