На сайтах с устаревшей CMS Magento проснулся цепкий веб-скиммер

На сайтах с устаревшей CMS Magento проснулся цепкий веб-скиммер

На сайтах с устаревшей CMS Magento проснулся цепкий веб-скиммер

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

По свидетельству Sansec, злоумышленники начали готовиться к новой кампании еще в апреле и хорошо позаботились о скрытности операций. Разбор текущих атак показал, что все скомпрометированные сайты используют Magento ветки 2.2, снятой с поддержки в декабре 2019 года. Пользователей еще тогда призывали произвести апгрейд, однако многие этого до сих пор не сделали.

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

  1. Получение URL консоли администратора через эксплойт уязвимости раскрытия информации.
  2. Перехват сессионного ключа залогинившегося администратора посредством SQL-инъекции.
  3. Вход в админ-панель и создание пригодного для эксплуатации шаблона email с целью загрузки и исполнения вредоносного PHP-кода.
  4. Установка бэкдора.
  5. Установка веб-скиммера.

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

Веб-скиммер в данном случае разделен на две части — клиентскую и серверную. На стороне клиента вредоносный код внедряется в какой-нибудь статичный JavaScript-файл (например, require.js); в этом виде он может показывать поддельную форму оплаты покупки — для каждого магазина свою. Вводимые покупателем данные скрипт отсылает на сервер для проверки, и такое действие подозрений не вызывает: оно обычно при проведении платежных транзакций.

За сбор и сохранение краденой информации отвечает вторая половина стилера — добавленный на бэкенд-сервер код PHP. Оператор в этом случае получает ворованные данные через запрос HTTP POST.

Бэкдор, установленный посредством PHP-инъекции (PHP Object Injection, POI), злоумышленники активируют вызовом функции сравнения товаров — Product Compare. Один из таких вредоносных объектов вполне тривиален, и его легко обнаружить. Второй более опасен: он добавляет на сервер функцию десериализации PHP — она по стандарту не рекомендуется к использованию, так как позволяет захватить контроль над сервером посредством POI-атаки. К счастью, вызов этой функции всегда можно отследить по журналу событий.

Одновременно на сервере в фоновом режиме запускается сторожевой процесс, отвечающий за сохранность бэкдора. Этот сторож маскируется под легитимные системные процессы — dnsadmin dormant, sshd [net], php-fpm: pool www. Если бэкдор нашли и вычистили, зловредный процесс за пару дней установит новую копию (она вшита в код). Более того, он откатит временные метки всех файлов законного пользователя, чтобы возврат вредоносного кода остался незамеченным.

Присутствие зловредной службы, со слов экспертов, можно обнаружить на TCP-порту 9000 — по всей видимости, это резервный канал связи, по которому операторы могут подавать команды. Наличие стороннего сторожа также выявит поиск по списку запущенных процессов с помощью утилиты командной строки (sudo grep -l Magento.Catalog /proc/*/exe).

К сожалению, операторы зловреда предусмотрели и такой сценарий. Они дополнительно устанавливают на сервер PHP-код, способный на лету воровать пароли администратора и отсылать их на сторонний коллектор. Если доступ к взломанному серверу потерян и сторожевой процесс прибит, у злоумышленников останутся ключи, с помощью которых можно будет вернуть утраченные позиции.

Энтузиаст запустил чат-бот на процессоре Z80 1976 года

Легендарный процессор Zilog Z80, которому в этом году почти 50 лет, внезапно получил собственный «ИИ». Разработчик под ником HarryR представил проект Z80-μLM — крошечную «разговорную модель», которая реально работает на 8-битном Z80 с 64 КБ памяти.

Сразу расставим точки над i: тест Тьюринга этот ИИ не пройдёт, мир не захватит и цены на Z80 из-за него не взлетят. Сам автор честно говорит, что это эксперимент и «развлечение для души». Но эксперимент крайне изящный, именно этим он и цепляет.

Z80-μLM — это минималистичная «разговорная ИИ-модель», которая генерирует ответы посимвольно. Вся система, включая инференс и простой чат-интерфейс, уместилась примерно в 40 КБ. Для наглядности: это обычный .COM-файл, который спокойно запускается в CP/M и помещается в стандартную область памяти TPA.

Внутри сплошная инженерная магия старой школы. Никаких чисел с плавающей точкой, только целочисленная арифметика, заточенная под возможности Z80. Веса квантованы до 2 бит (значения от −2 до +1), четыре веса упакованы в один байт.

Входной текст кодируется через хеширование триграмм в 128 «корзин» — это делает модель устойчивой к опечаткам и нечувствительной к порядку слов. Всё максимально просто, жёстко и эффективно.

HarryR подчёркивает, что его цель была не «ум», а минимальный размер при сохранении ощущения характера. И, как ни странно, это работает. Ответы у чат-бота короткие, иногда нарочито сухие или уклончивые:

  • OK — нейтральное подтверждение,
  • WHY? — сомнение в вашем вопросе,
  • R U? — философский ответ с намёком,
  • MAYBE — честная неопределённость,
  • AM I? — вопрос в ответ.

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

В проекте есть два готовых примера. Первый — Tinychat, простой чат-бот, который отвечает на приветствия и вопросы о себе. Второй — Guess, вариация игры «20 вопросов», где модель загадывает нечто, а пользователь пытается это угадать. Оба варианта доступны в виде готовых бинарников: для CP/M — стандартные .COM-файлы, для ZX Spectrum — .TAP-образы кассет, которые можно загрузить в эмулятор или даже на реальное железо.

Отдельная ирония ситуации в том, что Z80 как раз недавно официально отправили «на пенсию». В апреле 2024 года Zilog объявила о прекращении поддержки чипа (PDF) из-за закрытия производства на стороне фабрики. Правда, почти сразу энтузиасты взялись за замену, и в рамках проекта Tiny Tapeout появился рабочий совместимый клон.

RSS: Новости на портале Anti-Malware.ru