Кампания Stealit: Node.js SEA, привилегии и похищение браузерных данных

Недавняя кампания вредоносного ПО Stealit демонстрирует рост изощренности атакующих: злоумышленники применяют новую технику — Node.js Single Executable Applications (SEA), — что позволяет обходить средства обнаружения и одновременно расширять функциональность вредоносного набора. Атака начинается с инсталлятора, который получает дополнительные компоненты с сервера управления (C2) и разворачивает их на целевой системе.
Как работает кампания
Инсталлятор служит начальной ступенью атаки: он загружает и готовит к развёртыванию ключевые модули вредоносного ПО. Встраивание и обфускация связанных Node.js scripts внутри отдельных исполняемых файлов заметно осложняет обратное проектирование и затрудняет анализ образцов.
Компоненты кампании распределены по ролям: привилегированное выполнение, кража данных из браузера и устойчивые каналы связи с C2.
Ключевые компоненты и их функции
- save_data.exe — выполняется только при наличии высоких привилегий у вредоносного процесса. Это компонент стратегически спроектирован для увеличения уровня доступа злоумышленников к системе.
- stats_db.exe — отвечает за извлечение конфиденциальной информации из браузеров, в том числе Google Chrome и Microsoft Edge. Извлечённые данные сохраняются в каталоге %Temp%/BrowserData, что указывает на фокус на кражу учетных данных и другой персональной информации.
- game_cache.exe — канал связи с сервером C2, выполняющий команды злоумышленников. Этот компонент использует ключ аутентификации для повышения скрытности и целенаправленности операций.
Эволюция и методы уклонения
Интересно, что через несколько недель после первоначального выявления образцы Stealit возвращались к использованию платформы Electron. В новых версиях злоумышленники применили шифрование пакетов Node.js scripts с помощью AES-256-GCM, что добавляет уровень защиты от статического анализа и затрудняет извлечение полезной нагрузки.
Использование функции SEA, которая всё ещё находится в стадии разработки, подчёркивает адаптивность и инновационность методов злоумышленников. Новизна механизма дает атакующим преимущество в борьбе с решениями безопасности и аналитиками вредоносного ПО.
Цели и последствия кампании
Основные цели кампании — эксфильтрация учетных данных и другого персонального контента из браузеров, расширение контроля над системой через привилегированное выполнение и обеспечение устойчивой коммуникации с C2. Стратегическое сочетание этих возможностей повышает шансы успешного проникновения и длительного присутствия на системе жертвы.
Рекомендации по защите
- Ограничить использование прав администратора и применять принцип наименьших привилегий для процессов.
- Мониторить аномальные записи в каталогах временных данных, в частности %Temp%/BrowserData.
- Отслеживать запуск нестандартных или подписанных неизвестным образом исполняемых файлов, созданных с помощью Node.js и Electron.
- Внедрять EDR/NGAV-решения с возможностью обнаружения обфусцированных Node.js scripts и подозрительной сетевой активности к C2.
- Блокировать или тщательно контролировать исходящие соединения к подозрительным доменам и IP, особенно если соединение использует аутентификацию или нестандартные протоколы.
- Применять многофакторную аутентификацию для учётных записей и регламентировать хранение и обработку браузерных профилей и паролей.
- Обновлять браузеры и расширения, а также использовать менеджеры паролей и защиту от эксплойтов.
Вывод
Кампания Stealit — яркий пример того, как злоумышленники комбинируют новые возможности платформ (Node.js SEA, Electron) с проверенными техниками (привилегированное выполнение, кража браузерных данных, C2-каналы). Переход на шифрование пакетов (AES-256-GCM) и использование аутентифицированных каналов связи делают обнаружение и анализ сложнее, поэтому организациям необходимо усилить контроль над правами, поведением процессов и сетевой активностью, чтобы снизить риск успешной компрометации.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.


