Исследователи в области кибербезопасности обнаружили серию вредоносных PHP-пакетов в официальном репозитории Packagist, замаскированных под утилиты для фреймворка Laravel. Эти пакеты автоматически развёртывают на целевых системах удалённый троян-доступ (RAT), позволяющий злоумышленникам полностью контролировать машину, будь то сервер с Linux, macOS или Windows.
Как работает атака и что за пакеты
Атакующая сторона под псевдонимом nhattuanbl опубликовала как минимум шесть Laravel-ориентированных пакетов на Packagist в период с июня по декабрь 2024 года. Три из них выглядели безобидно, а ещё три скрывали опасную функциональность:
nhattuanbl/lara-helper - содержит вредоносный пакет с RAT-кодом.
nhattuanbl/simple-queue - также включает тот же троян.
nhattuanbl/lara-swagger - сам по себе чист, но напрямую требует
lara-helperкак зависимость, что вызывает установку трояна.
Оставшиеся три пакета (nhattuanbl/lara-media, nhattuanbl/snooze и nhattuanbl/syslog) не содержали вредоносного кода, скорее служили для повышения доверия к автору.
Как вредоносный код начинает работу
Вредоносные модули, обнаруженные в lara-helper и simple-queue, содержат файл src/helper.php, который с помощью сложных техник запутывания (обфускации), шифрования строк и случайных имён скрывает свою истинную функциональность.
После подключения файл выполняется при запуске Laravel-приложения через автозагрузку и устанавливает TCP-соединение с командно-контрольным (C2) сервером по адресу helper.leuleu[.]net:2096. Там троян передаёт базовую информацию о системе и ждёт команд от злоумышленника.
Список поддерживаемых команд включает:
ping- отправка каждые 60 секунд.info- сбор подробной информации о системе.cmd/powershell- выполнение команд оболочки или PowerShell.run- выполнение команды в фоне.screenshot- захват изображения экрана.download/upload- скачивание или загрузка файлов с диска.stop- завершение работы.
Для выполнения команд троян динамически выбирает доступный способ запуска (например, popen, exec и другие), что делает его устойчивым к типичным настройкам защиты PHP.
Ключевой опасностью здесь является поставка трояна вместе с легитимными зависимостями: так как Laravel-пакеты устанавливаются через Composer и запускаются автоматически при загрузке приложения, злоумышленник получает постоянный доступ в тот же процесс и с теми же правами, что и приложение.
Это означает, что троян видит те же переменные окружения, ключи API, данные базы и файлы конфигурации, которые доступны вашему Laravel-проекту. Даже если сейчас C2-сервер не отвечает, вредоносный код остаётся на диске и будет пытаться переподключиться каждые 15 секунд.
Что делать, если установлены эти пакеты
Эксперты по безопасности рекомендуют предпринять следующие действия:
Предположить компрометацию хоста или среды, где были установлены эти пакеты.
Удалить заражённые пакеты.
Идентифицировать и удалить все файлы, связанные с вредоносным кодом (например,
helper.php).Поменять все секреты, ключи и пароли, доступные приложению.
Проанализировать исходящий трафик на попытки подключения к helper.leuleu[.]net:2096.
Также рекомендуется избегать использования нестабильных веток (например, dev-master) в зависимостях, особенно в боевых проектах, и по возможности внедрить автоматизированный сканер зависимостей для раннего выявления подозрительных пакетов.
Источник: Cyber Security News