Веб-сайты Magento часто становятся целью киберпреступников из-за их широкого использования в электронной коммерции и ценных данных клиентов, которые они обрабатывают. В ходе планового расследования мы обнаружили вредоносную инъекцию JavaScript, нацеленную на веб-сайты Magento. Эта вредоносная программа динамически создает поддельную форму кредитной карты или извлекает поля оплаты напрямую в зависимости от варианта вредоносной программы, активируясь только на страницах оформления заказа. Затем украденные данные шифруются и передаются на удаленный сервер.
Два домена в настоящее время находятся в черном списке VirusTotal.
По данным publicwww.com, на момент написания статьи этим вредоносным ПО заражено 8 веб-сайтов.
Файл: ./app/design/frontend/Magento/[Redacted]/Magento_Theme/layout/default.xml.
База данных: Таблица core_config_data содержала ссылки на вредоносный скрипт.
Содержимое внешнего скрипта запутано, чтобы избежать обнаружения, что затрудняет его идентификацию с первого взгляда.
Вот внешний скрипт:
После выполнения скрипт активируется только на страницах, содержащих слово «checkout», но исключающих «cart» в URL-адресе.
Пример формы поддельной кредитной карты:
Чтобы защитить данные и сделать их труднообнаружимыми, информация сначала кодируется как JSON. Затем она шифруется XOR с ключом 'script', чтобы добавить дополнительный уровень обфускации. Наконец, зашифрованные данные кодируются Base64, чтобы обеспечить безопасную передачу, используя следующий код:
Сохом Датта, CC0, через Wikimedia Commons
URL-адрес в кодировке base64 (aHR0cHM6Ly9zdGF0aWNmb250cy5jb20=) декодируется в hxxps://staticfonts[.]com, куда отправляются украденные данные кредитной карты.
Метод маячков относится к методу, при котором скрипт или программа отправляет данные тихо и незаметно с клиента (например, браузера или устройства пользователя) на удаленный сервер, не предупреждая пользователя и не прерывая его деятельность. Он часто используется как легитимными приложениями (например, аналитическими инструментами), так и злоумышленниками (как в этом случае). Этот метод скрытный и его трудно обнаружить, что делает его излюбленным инструментом для кибератак.
Источник
Обзор инфекции:
Первоначально обнаруженное Уэстоном Генри, коллегой из нашей команды, вредоносное ПО предназначено для веб-сайтов электронной коммерции на базе Magento, в частности для их процессов оформления заказов. Инфекция представляет собой смесь вредоносного ПО для файловой системы и базы данных, а скиммер использует передовые методы обфускации, чтобы избежать обнаружения.
Задействованные домены:
- dynamicopenfonts[.]app
- staticfonts[.]com
- static-fonts[.]com
Два домена в настоящее время находятся в черном списке VirusTotal.
- https://www.virustotal.com/gui/url/...f093a190dce84874e6691d95f91dfae07a7?nocache=1
- https://www.virustotal.com/gui/url/...d08d073c6d9aaebfb539948f28419d8414a?nocache=1
По данным publicwww.com, на момент написания статьи этим вредоносным ПО заражено 8 веб-сайтов.
Как это было обнаружено
Вредоносный скрипт был помечен во время плановой проверки с помощью SiteCheck от Sucuri. Инструмент идентифицировал ресурс, происходящий из занесенного в черный список домена dynamicopenfonts.app. Дальнейшее расследование выявило его присутствие в двух местах:Файл: ./app/design/frontend/Magento/[Redacted]/Magento_Theme/layout/default.xml.
База данных: Таблица core_config_data содержала ссылки на вредоносный скрипт.

Подробности инфекции
Вредоносный скрипт был обнаружен в директиве <referenceContainer> XML-файла, предназначенной для загрузки ресурса JavaScript непосредственно перед закрывающим тегом <body>. Зараженный фрагмент кода выглядит следующим образом:
Содержимое внешнего скрипта запутано, чтобы избежать обнаружения, что затрудняет его идентификацию с первого взгляда.
Вот внешний скрипт:

После выполнения скрипт активируется только на страницах, содержащих слово «checkout», но исключающих «cart» в URL-адресе.
Code:
window.location.href.includes('checkout') && !window.location.href.includes('cart')
Пример формы поддельной кредитной карты:

Сбор данных пользователей, шифрование и сокрытие информации:
Скрипт предназначен для извлечения конфиденциальной информации о кредитной карте из определенных полей на странице оформления заказа. Затем вредоносная программа собирает дополнительные данные пользователя через API Magento, включая имя пользователя, адрес, адрес электронной почты, номер телефона и другую платежную информацию. Эти данные извлекаются через модели данных о клиентах и расценок Magento.
Чтобы защитить данные и сделать их труднообнаружимыми, информация сначала кодируется как JSON. Затем она шифруется XOR с ключом 'script', чтобы добавить дополнительный уровень обфускации. Наконец, зашифрованные данные кодируются Base64, чтобы обеспечить безопасную передачу, используя следующий код:

Процесс эксфильтрации данных: отправка украденной информации на удаленные серверы:
Как только пользователь отправляет свои платежные данные через скомпрометированную форму или захваченные поля, вредоносная программа извлекает и шифрует украденную информацию. Затем эти данные отправляются на удаленный сервер, расположенный по адресу staticfonts.com, с использованием метода маяка.
URL-адрес в кодировке base64 (aHR0cHM6Ly9zdGF0aWNmb250cy5jb20=) декодируется в hxxps://staticfonts[.]com, куда отправляются украденные данные кредитной карты.
Метод маячков относится к методу, при котором скрипт или программа отправляет данные тихо и незаметно с клиента (например, браузера или устройства пользователя) на удаленный сервер, не предупреждая пользователя и не прерывая его деятельность. Он часто используется как легитимными приложениями (например, аналитическими инструментами), так и злоумышленниками (как в этом случае). Этот метод скрытный и его трудно обнаружить, что делает его излюбленным инструментом для кибератак.
Заключение:
Этот сложный скиммер нацелен на страницы оформления заказа Magento, чтобы украсть конфиденциальные платежные данные, либо внедряя поддельные формы, либо извлекая живые поля ввода. Его динамический подход и механизмы шифрования затрудняют его обнаружение. Регулярные проверки безопасности, мониторинг необычной активности и развертывание надежного WAF имеют решающее значение для защиты вашей платформы электронной коммерции.Источник