Фейковые собеседования Next.js: бэкдор-разработчиков тестируют на уязвимость устройств

next.js Rce вредоносные репозитории безопасность Javascript Microsoft Defender bleepingcomputer.com

Команда Microsoft Defender обнаружила скоординированную кампанию, нацеленную на разработчиков ПО через вредоносные репозитории, маскирующиеся под проекты Next.js и материалы тех. оценок, включая тестовые задания. Цель — RCE и кража данных. — bleepingcomputer.com

Скоординированная кампания, нацеленная на разработчиков программного обеспечения с использованием приманок в виде предложений о работе, задействует вредоносные репозитории, маскирующиеся под легитимные проекты Next.js и материалы для технических оценок, включая тестовые задания для найма.

Цель злоумышленника — добиться удаленного выполнения кода (RCE) на машинах разработчиков, эксфильтрации конфиденциальных данных и внедрения дополнительных полезных нагрузок в скомпрометированные системы.

Множественные триггеры выполнения

Next.js — это популярный JavaScript-фреймворк, используемый для создания веб-приложений. Он работает поверх React и использует Node.js для бэкенда.

Команда Microsoft Defender сообщает, что злоумышленник создал поддельные проекты веб-приложений на Next.js и замаскировал их под проекты для кодирования, чтобы делиться ими с разработчиками во время собеседований или технических оценок.

Исследователи изначально обнаружили репозиторий, размещенный на Bitbucket — облачном сервисе для хостинга и совместной работы с Git-репозиториями. Однако они обнаружили несколько репозиториев с общей структурой кода, логикой загрузчика и шаблонами именования.

Когда целевой пользователь клонирует репозиторий и открывает его локально, следуя стандартному рабочему процессу, он запускает вредоносный JavaScript, который выполняется автоматически при запуске приложения.

Скрипт загружает дополнительный вредоносный код (JavaScript-бэкдор) с сервера злоумышленника и выполняет его непосредственно в памяти с помощью запущенного процесса Node.js, что позволяет удаленно выполнять код на машине.

Чтобы повысить уровень заражения, злоумышленники внедрили несколько триггеров выполнения в свои вредоносные репозитории, как пояснили в Microsoft в статье. Они суммируются следующим образом:

  1. Триггер VS Code – Файл .vscode/tasks.json с параметром runOn: “folderOpen” выполняет скрипт Node, как только папка проекта открывается (и ей доверяют).
  2. Триггер Dev server – Когда разработчик выполняет команду npm run dev, зараженный актив (например, измененная JS-библиотека) декодирует скрытый URL, получает загрузчик с удаленного сервера и выполняет его в памяти.
  3. Триггер запуска бэкенда – При запуске сервера бэкенд-модуль декодирует конечную точку base64 из .env, отправляет process.env злоумышленнику, получает в ответ JavaScript и выполняет его с помощью new Function().

Процесс заражения оставляет JavaScript-полезную нагрузку (Этап 1), которая профилирует хост и регистрируется в конечной точке командно-контрольного центра (C2), опрашивая сервер через фиксированные интервалы.

Затем заражение переходит на контроллер задач (Этап 2), который подключается к отдельному C2-серверу, проверяет наличие задач, выполняет предоставленный JavaScript в памяти и отслеживает запущенные процессы. Полезная нагрузка также поддерживает перечисление файлов, просмотр каталогов и поэтапную эксфильтрацию файлов.

Фейковые собеседования Next.js: бэкдор-разработчиков тестируют на уязвимость устройств
Функция опроса сервера Этапа 2. Источник: Microsoft

Microsoft обнаружила, что кампания включала несколько репозиториев с общими соглашениями об именовании, структурой загрузчика и инфраструктурой развертывания, что указывает на скоординированные действия, а не на единичную атаку.

Помимо технического анализа, исследователи не предоставили никаких подробностей о злоумышленнике или масштабах операции.

Технологический гигант советует разработчикам относиться к стандартным рабочим процессам как к высокорисковым поверхностям атаки и принимать соответствующие меры предосторожности.

Рекомендуемые меры смягчения последствий включают принудительное использование режима доверия/ограниченного режима рабочих областей VS Code, использование правил снижения поверхности атаки (ASR) и мониторинг рискованных входов в систему с помощью Entra ID Protection.

Секреты, хранящиеся на конечных точках разработчиков, должны быть сведены к минимуму, а там, где это возможно, следует использовать краткосрочные токены с минимально необходимыми привилегиями.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: