Северокорейская группировка Shifty Corsair запустила скоординированную атаку на криптосообщество: комбинированная стратегия с отравлением реестра пакетов npm

APT

В течение последнего месяца специалисты по информационной безопасности фиксировали разрозненные сообщения об атаках, совершаемых северокорейской государственной группой Shifty Corsair (также известной как FAMOUS CHOLLIMA). Отдельные вендоры описывали либо атаки на цепочки поставок, либо точечные фишинговые кампании. Однако аналитический центр Threat Fusion Cell компании BlueVoyant объединил эти данные в единую картину. В результате стало очевидно, что злоумышленники проводят масштабную скоординированную операцию.

Описание

Группировка Shifty Corsair традиционно ориентирована на кражу средств из сектора криптовалют для финансирования северокорейского режима. Раньше хакеры использовали методы социальной инженерии, например, приглашали разработчиков на фиктивные собеседования, чтобы те установили вредоносные программы. Но тактика изменилась, и теперь атаки стали гораздо сложнее.

Главный вывод аналитиков сводится к тому, что Shifty Corsair запустила две параллельные кампании. Первая - это точечные атаки на конкретных senior-разработчиков. Вторая - широкомасштабное отравление экосистемы пакетного менеджера Node.js (npm) с использованием эволюционировавшей версии стилера OtterCookie (вредоносная программа для кражи данных). Доклад аналитического центра TFCTI наглядно демонстрирует, как эти два направления дополняют друг друга.

В рамках первой линии атаки хакеры действуют как снайперы. Они создают подставные компании, регистрируют их в США и используют фиктивные тестовые задания, чтобы заманить жертв на установку троянизированных приложений. Например, одна из таких ловушек - поддельная трёхмерная шахматная игра, размещённая на платформе Bitbucket. В коде игры намеренно создана ошибка в блоке инициализации, которая незаметно загружает вредоносную нагрузку. Жертва сама запускает этот код, не подозревая об опасности.

Вторая линия - это ловушка с приманкой. Злоумышленники обещают пользователям высокодоходные торговые боты для криптовалют. Такое предложение привлекает широкую аудиторию криптоэнтузиастов. Когда человек скачивает проект и его зависимости автоматически разрешаются, срабатывает скрытый механизм заражения. Отравленные пакеты из реестра npm служат незаметной западнёй.

Техническая сторона атаки реализована с многоступенчатой системой обфускации (запутывания кода). Цепочка заражения начинается с обычного файла package.json. Злоумышленники злоупотребляют процессом автоматического разрешения зависимостей, вставляя в пакет вредоносный postinstall-скрипт. Как только пакет загружается, скрипт выполняется автоматически без каких-либо действий со стороны разработчика.

Сам код стилера OtterCookie претерпел серьёзную эволюцию. В феврале хакеры использовали стандартный обфускатор J2TEAM. Уже в марте они перешли на конструктор-обёртку с генераторными функциями и выравниванием потоков управления. Самое интересное - последняя версия вредоносной программы использует собственную кодировку, напоминающую Base91, с вращением алфавита для каждой функции. Одна и та же закодированная строка даёт совершенно разные результаты в зависимости от того, в какой области кода она находится. Это эффективно блокирует попытки статического извлечения данных из вредоносного файла.

После выполнения стилер запускает два параллельных процесса. Первый - это быстрая кража ключевых файлов: id.json (закрытые ключи кошельков Solana), config.toml (настройки Rust и Cargo) и файлов окружения .env. Все украденные данные немедленно отправляются на сервер управления, размещённый на платформе Vercel. Второй процесс - динамическое сканирование файловой системы: вредоносная программа получает с сервера конфигурационный файл, в котором перечислены новые типы файлов для кражи. Это позволяет злоумышленникам быстро менять список целей без обновления самого вредоносного пакета.

Архитектура управления атакой выстроена многоуровнево. Первичный сервер управления расположен на серверлесс-инфраструктуре Vercel. Злоумышленники выбирают поддомены, которые маскируются под сервисы Cloudflare (например, cloudflarefirewall). Это помогает смешивать вредоносный трафик с обычным легитимным трафиком облачных сервисов. После сбора данных они перенаправляют украденные ключи и переменные окружения на более постоянную серверную инфраструктуру.

Особого внимания заслуживает попытка закрепиться в скомпрометированных Linux-системах. Вредоносная программа загружает с сервера управления открытый ключ злоумышленника и добавляет его в файл ~/.ssh/authorized_keys. Это позволяет хакерам получать доступ к серверу по SSH. Кроме того, стилер пытается выполнить команду sudo ufw allow 22/tcp, чтобы открыть порт для SSH-соединений в межсетевом экране. Правда, эта команда сработает только в том случае, если у жертвы настроен доступ к sudo без ввода пароля.

Последствия такой атаки могут быть крайне серьёзными. Компрометация закрытых ключей криптовалютных кошельков ведёт к немедленной потере средств. Утечка переменных окружения и конфигурационных файлов может дать злоумышленникам доступ к облачной инфраструктуре, базам данных и API-ключам. А долговременный доступ через SSH позволяет организовать шпионаж или повторить атаку в будущем.

Для защиты от подобных угроз специалистам по безопасности стоит пересмотреть политику использования открытых зависимостей. Необходимо внедрить строгую проверку всех загружаемых пакетов и блокировать зависимости от непроверенных разработчиков. Ключи SSH больше нельзя считать надёжным методом аутентификации, поскольку злоумышленники научились их перехватывать. Следует внедрить многофакторную аутентификацию для всех SSH-подключений и рассмотреть переход на сертификаты с коротким сроком действия. Все учётные данные и ключи, которые могли оказаться в скомпрометированных файлах окружения, необходимо немедленно отозвать и заменить. И наконец, нужно внимательно отслеживать подозрительную активность: запуск Node.js процессов, которые быстро читают конфигурационные файлы или отправляют множество HTTPS-запросов на неожиданные поддомены Vercel.

Индикаторы компрометации

IPv4

  • 107.189.22.20
  • 144.172.116.22

Domains

  • cloudflarefirewall.vercel.app
  • cloudflareinsights.vercel.app
  • cloudflaresecurity.vercel.app

Комментарии: 0