Стиль StyleSmuggler использовал 0-day в Magento и ставил Linux-бэкдор

Стиль StyleSmuggler использовал 0-day в Magento и ставил Linux-бэкдор

Sansec сообщила об активной эксплуатации уязвимости StyleSmuggler в Magento и Adobe Commerce, которая позволяет внедрять вредоносный код через систему шаблонов и ставить Linux-бэкдор. Компания начала публиковать расследование раньше обычного, потому что магазины взламывали прямо во время анализа.

Первая попытка эксплуатации была зафиксирована 4 сентября и пришлась на сайт с уже установленными свежими обновлениями безопасности. Исследователи также восстановили полный цепочный эксплойт на чистых установках Magento Open Source 2.4.7, 2.4.8 и 2.4.9. В Adobe Enterprise Support 7 сентября подтвердили, что готовят патч, но сроков не назвали.

Уязвимость работает в два шага. Сначала атакующий внедряет PHP-код, в том числе через поддельный отчет об ошибке, а затем добивается его запуска через письмо о неудачной оплате. После успешной атаки на хосте появляется небольшой Rust-бэкдор, который маскируется под системный процесс и запускается в фоне.

Как скрывается StyleSmuggler

Sansec описывает несколько вариантов маскировки. В одних случаях процесс выдает себя за [kworker/u:8:0], в других за fc-cache, а затем копирует себя в ~/.cache/fontconfig/fc-cache. Для закрепления он может добавлять cron-задачу, которая запускает его два раза в час, а также записывать PID во временный lock-файл.

Смена хранилища сессий на Redis или базу данных атаку не останавливает. У одного из клиентов компании первая попытка не сработала против session storage, а через восемь секунд тот же оператор добился успеха уже через файл, загруженный через custom options Magento.

Читайте также:

Бэкдор связывается с командным сервером 99.84.67.186 и ждет команд. На момент публикации вредонос не был известен ни одной другой компании по безопасности. В одном из новых вариантов трафик маскируется под NTP: процесс раз в минуту обращается к доменам, похожим на службы синхронизации времени, и отправляет UDP-пакеты на порт 123.

Для обнаружения заражения Sansec советует искать не только подозрительные процессы, но и следы в cron, временных каталогах и отчетах Magento. На хостах, где веб-пользователь не может писать в crontab, попытки закрепления тоже оставляют записи в syslog: crontab command not allowed.

Отдельная атака, которую Sansec связала с теми же жертвами, использовала другой PHP-дроппер. Он писал web shell в каталог с кешем изображений товара и прятал его так, чтобы файл было трудно заметить среди хешированных директорий. Для проверки выполнения кода дроппер обращался к внешнему сервису, а сам shell отвечал 404 без правильного заголовка X-Cache-Token.

Sansec обнаружила кампанию 4 сентября в 22:40 UTC, а правила защиты Sansec Shield начали блокировать StyleSmuggler уже утром 5 сентября. Следующий выпуск обновлений Adobe был назначен на 8 сентября.

Источники: Sansec, Bleepingcomputer