Nulled BOT
Moderator
В реестр npm была размещена группа из почти 800 вредоносных пакетов в рамках новой кампании, направленной на распространение кроссплатформенного вредоносного ПО, нацеленного на системы Windows, Mac и Linux.
«Судя по всему, эти пакеты используют имена, сгенерированные с помощью технологии AI slop squatting, то есть случайно сгенерированные имена с опечатками, но все они доставляют мощный payload в виде RAT и программы для кражи данных», — заявил исследователь OpenSourceMalware Пол Маккарти.
В отличие от других атак на цепочку поставок программного обеспечения, ориентированных на npm, которые используют «крючки» жизненного цикла, такие как preinstall или postinstall, для запуска вредоносного кода, недавно обнаруженные пакеты сопровождаются файлом README, в котором разработчикам рекомендуется загружать их с помощью require() — встроенной функции для импорта модулей, локальных файлов и сторонних пакетов.
Атака приводит к запуску загрузчика под названием WEL1DROPPER, который при запуске определяет операционную систему хоста и архитектуру процессора, а затем загружает совместимый payload с одного из трёх хостов Cloudflare Workers. Ниже приведены три домена Cloudflare Workers:
На заключительном этапе payload записывается во временную папку и запускается либо с помощью «/bin/sh» в Linux и macOS, либо с помощью «cmd.exe» в Windows.
Компания Sonatype, которая также отслеживает эту кампанию под названием Flooding Dropper, сообщила, что заключительный этап запускается в виде отдельного процесса, причем версия для Windows предпринимает шаги по исправлению Event Tracing for Windows (ETW) и Antimalware Scan Interface (AMSI) с целью помешать мониторингу, проверяет наличие песочниц и виртуальных сред, обеспечивает постоянное присутствие в системе с помощью ключа «Run» в реестре и запланированной задачи, а также загружает зашифрованный payload («/pkg/update_win.exe») и запускает его.
Цепочка заражения в macOS аналогична: выполняется тот же набор действий по поиску отладчиков и артефактов анализа, после чего с удаленного сервера загружается совместимый payload («/pkg/beacon_mac.bin»). Если это не удается, используется упомянутая выше доставка через DNS-запись TXT, обеспечивается персистентность с помощью LaunchAgent, а затем исполняемый файл запускается в отдельном процессе.
Образец для Linux, с другой стороны, представляет собой упакованный с помощью UPX двоичный файл ELF, настроенный на загрузку вспомогательных payload с URL-адреса Cloudflare Worker («oob-worker[.]cf99-9b3.workers[.]dev»), что в конечном итоге приводит к развертыванию Sliver — фреймворка открытого исходного кода для управления и контроля (C2).
Также было обнаружено, что пакеты содержат файл с именем «lib/telemetry.js», который реализует внешне правдоподобный SDK для телеметрии, но при этом содержит ту же логику загрузчика.
«Точка входа пакета не импортирует этот файл, и он не содержит никакой дополнительной жестко запрограммированной инфраструктуры», — отмечает OpenSourceMalware. «Чрезмерно развернутая реализация телеметрии, по-видимому, предназначена для создания шума и придания вредоносному поведению вида встроенных функций профилирования или аналитики при беглом осмотре».
Также предполагается, что это продолжение кампании по подмене зависимостей под кодовым названием «Moika», которая была зафиксирована в начале апреля этого года и в ходе которой в реестр npm было опубликовано более 250 пакетов с целью кражи информации об окружении и доставки payload второго этапа, специфичной для конкретной операционной системы.
Это событие произошло после того, как подразделение Unit 42 компании Palo Alto Networks зафиксировало несколько кампаний, нацеленных на npm и репозиторий Python Package Index (PyPI):
Также было замечено, что злоумышленники используют расширения для Google Chrome, позиционируемые как игровые эмуляторы, менеджеры паролей, инструменты для повышения продуктивности, инспекторы CSS и конвертеры Markdown, чтобы превратить веб-браузер в прокси для сканирования веб-страниц. Команды сканирования принимаются удаленно через постоянное соединение WebSocket.
«Эти расширения содержат идентичный коммерческий SDK для совместного использования веб-пропускной способности, который подключает браузер пользователя к сторонней сети прокси-серверов для частных пользователей с целью сбора данных из веб-страниц», — сообщила Unit 42, добавив, что он сканирует страницы путем вставки скрытого iframe в активные вкладки браузера, преобразует содержимое страниц в формат Markdown в фоновом режиме и отправляет его на удаленный облачный сервер.
Компания, занимающаяся кибербезопасностью, отметила, что некоторые из этих расширений раскрывают эту практику в своих описаниях в Chrome Web Store и в политиках конфиденциальности на своих SaaS-сайтах. После установки сторонний SDK предлагает пользователям дать согласие на использование услуги.
«Хотя функции прокси и сканирования остаются неактивными, если пользователь отказывается, некоторые расширения представляют это согласие как необходимое условие для бесперебойной работы сервиса», — сообщила Unit 42. «Ярким примером является InstaSkip (mdondgockboebafloibbhjofmoedmnnn), в которое встроен этот SDK».
«Судя по всему, эти пакеты используют имена, сгенерированные с помощью технологии AI slop squatting, то есть случайно сгенерированные имена с опечатками, но все они доставляют мощный payload в виде RAT и программы для кражи данных», — заявил исследователь OpenSourceMalware Пол Маккарти.
В отличие от других атак на цепочку поставок программного обеспечения, ориентированных на npm, которые используют «крючки» жизненного цикла, такие как preinstall или postinstall, для запуска вредоносного кода, недавно обнаруженные пакеты сопровождаются файлом README, в котором разработчикам рекомендуется загружать их с помощью require() — встроенной функции для импорта модулей, локальных файлов и сторонних пакетов.
Атака приводит к запуску загрузчика под названием WEL1DROPPER, который при запуске определяет операционную систему хоста и архитектуру процессора, а затем загружает совместимый payload с одного из трёх хостов Cloudflare Workers. Ниже приведены три домена Cloudflare Workers:
- oob-worker.cf103-070.workers[.]dev
- oob-worker.cf102-baf.workers[.]dev
- oob-worker.cf99-9b3.workers[.]dev
- Linux x64 — sdk.dl.wel1[.]ru
- Linux ARM64 — ext.dl.wel1[.]ru
- macOS — pkg.dl.wel1[.]ru
- Windows — net.dl.wel1[.]ru
На заключительном этапе payload записывается во временную папку и запускается либо с помощью «/bin/sh» в Linux и macOS, либо с помощью «cmd.exe» в Windows.
Компания Sonatype, которая также отслеживает эту кампанию под названием Flooding Dropper, сообщила, что заключительный этап запускается в виде отдельного процесса, причем версия для Windows предпринимает шаги по исправлению Event Tracing for Windows (ETW) и Antimalware Scan Interface (AMSI) с целью помешать мониторингу, проверяет наличие песочниц и виртуальных сред, обеспечивает постоянное присутствие в системе с помощью ключа «Run» в реестре и запланированной задачи, а также загружает зашифрованный payload («/pkg/update_win.exe») и запускает его.
Цепочка заражения в macOS аналогична: выполняется тот же набор действий по поиску отладчиков и артефактов анализа, после чего с удаленного сервера загружается совместимый payload («/pkg/beacon_mac.bin»). Если это не удается, используется упомянутая выше доставка через DNS-запись TXT, обеспечивается персистентность с помощью LaunchAgent, а затем исполняемый файл запускается в отдельном процессе.
Образец для Linux, с другой стороны, представляет собой упакованный с помощью UPX двоичный файл ELF, настроенный на загрузку вспомогательных payload с URL-адреса Cloudflare Worker («oob-worker[.]cf99-9b3.workers[.]dev»), что в конечном итоге приводит к развертыванию Sliver — фреймворка открытого исходного кода для управления и контроля (C2).
Также было обнаружено, что пакеты содержат файл с именем «lib/telemetry.js», который реализует внешне правдоподобный SDK для телеметрии, но при этом содержит ту же логику загрузчика.
«Точка входа пакета не импортирует этот файл, и он не содержит никакой дополнительной жестко запрограммированной инфраструктуры», — отмечает OpenSourceMalware. «Чрезмерно развернутая реализация телеметрии, по-видимому, предназначена для создания шума и придания вредоносному поведению вида встроенных функций профилирования или аналитики при беглом осмотре».
Также предполагается, что это продолжение кампании по подмене зависимостей под кодовым названием «Moika», которая была зафиксирована в начале апреля этого года и в ходе которой в реестр npm было опубликовано более 250 пакетов с целью кражи информации об окружении и доставки payload второго этапа, специфичной для конкретной операционной системы.
Это событие произошло после того, как подразделение Unit 42 компании Palo Alto Networks зафиксировало несколько кампаний, нацеленных на npm и репозиторий Python Package Index (PyPI):
- Набор из 10 пакетов npm, которые загружают с внешнего сервера запутывающий код для кражи криптовалюты и троян удаленного доступа. «После установки пакеты экспортируют функцию „getPlugin“, которая формирует URL-адрес, с которого загружается payload, в виде запутываемого кода JavaScript типа IIFE (Immediately Invoked Function Expression), встроенного в объект JSON», — сообщила Unit 42. «Payload реализует программу для кражи криптовалюты и троян удаленного доступа (RAT), позволяющий злоумышленнику выполнять произвольные команды на зараженном хосте».
- Набор вредоносных пакетов в репозиториях npm и PyPI, способных осуществлять: экфильтрацию учетных данных из облачных сервисов; доставку дропперов C2 на основе блокчейна EtherHiding; кражу ключей криптовалютного кошелька Solana через Telegram; экфильтрацию секретных данных из файлов .env; удаленное выполнение кода с использованием социальной инженерии под видом CAPTCHA; а также кражу токенов Discord и экфильтрацию учетных данных CI/CD из GitHub Actions.
Также было замечено, что злоумышленники используют расширения для Google Chrome, позиционируемые как игровые эмуляторы, менеджеры паролей, инструменты для повышения продуктивности, инспекторы CSS и конвертеры Markdown, чтобы превратить веб-браузер в прокси для сканирования веб-страниц. Команды сканирования принимаются удаленно через постоянное соединение WebSocket.
«Эти расширения содержат идентичный коммерческий SDK для совместного использования веб-пропускной способности, который подключает браузер пользователя к сторонней сети прокси-серверов для частных пользователей с целью сбора данных из веб-страниц», — сообщила Unit 42, добавив, что он сканирует страницы путем вставки скрытого iframe в активные вкладки браузера, преобразует содержимое страниц в формат Markdown в фоновом режиме и отправляет его на удаленный облачный сервер.
Компания, занимающаяся кибербезопасностью, отметила, что некоторые из этих расширений раскрывают эту практику в своих описаниях в Chrome Web Store и в политиках конфиденциальности на своих SaaS-сайтах. После установки сторонний SDK предлагает пользователям дать согласие на использование услуги.
«Хотя функции прокси и сканирования остаются неактивными, если пользователь отказывается, некоторые расширения представляют это согласие как необходимое условие для бесперебойной работы сервиса», — сообщила Unit 42. «Ярким примером является InstaSkip (mdondgockboebafloibbhjofmoedmnnn), в которое встроен этот SDK».
