Как экспериментальная функция Node.js стала основой для вируса Stealit?

Исследователи безопасности из Fortinet FortiGuard Labs, Эдуардо Альтарес и Хойе Сальвио, обнаружили и проанализировали вредоносную кампанию под названием Stealit. Данная операция распространяет одноименный троян, совмещающий в себе функции похитителя информации и инструмента для удаленного доступа (RAT). Кампания нацелена на операционные системы Windows и Android, а результаты исследования были переданы изданию The Hacker News.
Как экспериментальная функция Node.js стала основой для вируса Stealit?
Изображение носит иллюстративный характер

Ключевой особенностью кампании Stealit является использование экспериментальной функции Node.js, известной как Single Executable Application (SEA). Эта технология позволяет разработчикам упаковывать приложение Node.js в единый исполняемый файл. Для злоумышленников это означает, что их вредоносное ПО может работать на целевой системе без предварительно установленного Node.js и каких-либо дополнительных зависимостей, что значительно расширяет круг потенциальных жертв. В качестве альтернативного метода упаковки операторы вируса также используют открытый фреймворк Electron.

Распространение вредоноса осуществляется через поддельные установщики популярных игр и VPN-приложений. Эти файлы размещаются на общедоступных файлообменных сайтах, таких как Mediafire, а также распространяются через платформу Discord. Пользователи, скачивая и запуская такие файлы, инициируют процесс заражения своей системы.

Операторы Stealit работают по модели «Вредоносное ПО как услуга» (Malware-as-a-Service), предлагая свои продукты через специализированный веб-сайт под видом «профессиональных решений для извлечения данных». Подписка на стилер для Windows стоит $29.99 в неделю, а пожизненная лицензия — $499.99. Стоимость RAT для Android варьируется от $99.99 до $1,999.99.

После запуска поддельного установщика вредоносная программа сначала проводит проверку, чтобы убедиться, что она не запущена в виртуальной или изолированной среде («песочнице»). Если проверка пройдена успешно, программа связывается с командно-контрольным сервером (C2) для загрузки основных компонентов вируса.

Для аутентификации на C2-сервере на зараженной машине создается файл %temp%\cache.json, в который записывается 12-значный буквенно-цифровой ключ в кодировке Base64. Этот ключ служит для двух целей: для идентификации зараженного устройства на сервере и для предоставления доступа подписчику вредоносного ПО к панели управления своими жертвами. Для обхода защиты вирус настраивает исключения в антивирусе Microsoft Defender, чтобы папка с его компонентами не сканировалась.

Полезная нагрузка Stealit состоит из нескольких исполняемых файлов. Компонент cache.exe запускается только при наличии у вредоноса повышенных (администраторских) прав и предназначен для извлечения данных из браузеров на основе Chromium. Его код основан на открытом проекте ChromElevator.

Другой компонент, stats_db.exe, является основным похитителем информации. Он нацелен на широкий спектр приложений, включая мессенджеры Telegram и WhatsApp, криптовалютные кошельки Atomic и Exodus (в том числе их браузерные расширения), а также игровые приложения, такие как Steam, Minecraft, GrowTopia и Epic Games Launcher.

За обеспечение постоянного присутствия в системе и функции удаленного доступа отвечает файл game_cache.exe. Он создает скрипт на Visual Basic, который запускает вредоносное ПО при каждой перезагрузке системы. В качестве RAT этот компонент способен в реальном времени транслировать экран жертвы, выполнять произвольные команды, загружать и выгружать файлы, а также менять обои рабочего стола.

Аналитики Fortinet отмечают, что злоумышленники, стоящие за Stealit, целенаправленно используют новую и экспериментальную технологию Node.js SEA. Они рассчитывают на «эффект неожиданности», поскольку многие средства защиты и специалисты по безопасности могут быть еще не готовы к анализу и обнаружению угроз, упакованных таким нестандартным способом.


Новое на сайте

20868Уязвимости Plex открыли путь майнерам и Linux-бэкдору 20867Взлом OpenCode Console: под угрозой могли оказаться ключи OpenAI, Anthropic и Google 20866Rank Math PRO: заражённое обновление оставило на сайтах самовосстанавливающийся бэкдор 20865Как исследовательские модели OpenAI обходили ограничения и присваивали чужие данные 20864Атака на BeyondTrust: шпионская группа получила доступ к серверам поддержки 20863Как пакет imgdecode превращает npm-зависимость в загрузчик вредоносного кода? 20862Как PEERSTITCH обходит проверки VPN-сессий FortiOS? 20861Что происходит, когда ИИ-агент выходит за пределы тестовой среды? 20860Как 37-летняя ошибка открыла путь к root в OpenBSD 7.9? 20859ИИ-модели для SOC: точный ответ зависит от улик 20858Как одна учётная запись ConnectWise открыла доступ к 173 арендаторам Microsoft 365? 20857Пять минут до заражения: как подменили обновления AOMEI Backupper 20856Ловушка под видом регистрации: как UAT-11985 крадёт аккаунты Google 20855Может ли виртуальная машина прочитать память хоста? 20854Как дешёвые Android-смартфоны превращаются в чужие прокси?
Ссылка