PolinRider атакует разработчиков через Git, npm и VS Code

Кампания PolinRider, связанная с DPRK, нацелена на разработчиков программного обеспечения. Атаки осуществляются через поддельные собеседования, троянизированные пакеты разработчика и зараженные репозитории, pull-запросы, форки или коммиты.

Способы распространения

В ходе поддельных собеседований вредоносные файлы .vscode/tasks.json могут автоматически выполнять команды при открытии проекта в VS Code. Вредоносное ПО также распространяется через npm-пакеты с опечатками, такие как tailwindcss style-animate, которые внедряют загрузчик JavaScript во время сборки.

Сбор данных

После запуска PolinRider собирает:

  • учетные данные браузеров;
  • данные криптокошельков;
  • SSH-ключи;
  • учетные данные облачных сервисов;
  • переменные окружения;
  • API-ключи;
  • учетные данные Git;
  • данные менеджеров паролей;
  • токены npm;
  • учетные данные платформ CI/CD.

Локальное распространение

Вредоносное ПО распространяется локально, сканируя Git-репозитории на наличие файлов конфигурации JavaScript, включая postcss.config.mjs, eslint.config.mjs, tailwind.config.js и vite.config.js. Оно добавляет вредоносный код или создает файл конфигурации, а затем может изменить последний коммит с помощью git commit --amend --no-verify и отправить или принудительно отправить изменения.

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

Инфраструктура и обход защиты

PolinRider извлекает код через децентрализованные хранилища на базе блокчейна, преимущественно используя TRON, а иногда Aptos или Ethereum, вместо того чтобы полагаться исключительно на традиционные серверы. Подписи зловредного кода и инфраструктура со временем меняются, включая замену более ранних маркеров, таких как rmcej%otb%, на новые строки. Некоторые варианты также используют HTTP и Telegram для эксфильтрации.

Вредоносные модули Go могут оставаться доступными через proxy.golang.org после удаления репозитория, поскольку прокси кэширует загруженные версии.

Рекомендации по устранению

Устранение требует комплексного подхода:

  • остановить подозрительные процессы интерпретаторов;
  • проверить и очистить зараженные репозитории через GitHub;
  • проанализировать reflogs и активность force-push;
  • проверить агенты запуска, демоны, файлы запуска оболочек и запланированные задачи;
  • провести аудит каждого репозитория, доступного скомпрометированной учетной записи.

Все потенциально скомпрометированные учетные данные должны быть заменены, включая доступ GitHub, кэшированные учетные данные Git и CLI, OAuth и разрешения GitHub App, токены CI/CD, учетные данные облака и баз данных, пароли браузера, содержимое менеджера паролей, секреты .env и токены реестра пакетов.

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

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: