Атака на npm: четыре вредоносных пакета от одного аккаунта угрожают цепочкам поставок

information security

Экосистема открытых пакетов для Node.js снова стала ареной для киберпреступников. За последние сутки специалисты компании OX Security обнаружили четыре новых вредоносных пакета в реестре npm. Все они содержат код для кражи данных. Примечательно, что все пакеты загружены с одного аккаунта, а один из них представляет собой почти точную копию недавно опубликованного исходного кода вредоносной программы Shai-Hulud.

Описание

Эта атака примечательна не только разнообразием используемых техник, но и тем, как быстро злоумышленники адаптируют открытые инструменты. Речь идёт о явном признаке новой тенденции: преступники всё активнее применяют концепцию так называемого "виб-кодинга", когда готовый вредоносный код берётся из открытых источников и без изменений загружается в реестры пакетов.

Четыре пакета - @deadcode09284814/axios-util, axois-utils, chalk-tempalte и color-style-utils - маскируются под популярные библиотеки. Это классическая тактика опечаток в доменных именах, когда название пакета слегка изменяется, чтобы обмануть разработчика. Например, chalk-tempalte призван имитировать популярную библиотеку chalk, а axois-utils - широко используемый HTTP-клиент Axios.

Наибольший интерес представляет пакет chalk-tempalte. В отчёте OX Security указано, что он содержит клон вредоносного кода Shai-Hulud, исходники которого на прошлой неделе опубликовала группа TeamPCP. Мотивом, вероятно, послужил своеобразный конкурс по атакам на цепочки поставок, объявленный на форуме BreachForums. Но есть важное отличие: если TeamPCP использовала обфускацию (запутывание кода для затруднения его анализа), то автор chalk-tempalte просто скопировал исходный код почти без изменений. Это сделало вредоносную программу более заметной для анализа, но и более простой в запуске.

После установки chalk-tempalte собирает учётные данные, ключи доступа к облачным сервисам, криптовалютные кошельки и переменные окружения. Вся эта информация отправляется на удалённый сервер управления, известный как C2 (command and control), расположенный по адресу 87e0bbc636999b[.]lhr[.]life. Кроме того, программа создаёт новый репозиторий на GitHub, куда также загружает украденные данные.

Другие пакеты демонстрируют ещё более разнообразный функционал. Например, axois-utils содержит так называемого "фантомного бота" - локальную службу, написанную на языке Go. Эта служба не только крадёт информацию, но и обеспечивает закрепление в системе. Даже после удаления самого npm-пакета вредоносная служба остаётся на компьютере. Но самый опасный элемент этого пакета - возможность превратить заражённую машину в ботнет для DDoS-атак. Злоумышленник может направить с неё HTTP, TCP, UDP и Reset-запросы на любые цели, фактически используя ресурсы жертвы для атак на другие сайты.

Пакет @deadcode09284814/axios-util действует более прямолинейно. Он отправляет собранные SSH-ключи, переменные окружения и учётные данные облачных провайдеров (AWS, GCP, Azure) на сервер 80[.]200[.]28[.]28:2222. А color-style-utils фокусируется на краже криптовалютных кошельков и определении геолокации по IP-адресу жертвы, отправляя данные на свой сервер edcf8b03c84634[.]lhr[.]life.

Общее количество загрузок всех четырёх пакетов достигло 2678. Каждая из этих установок несёт прямую угрозу: злоумышленник получает доступ к внутренней инфраструктуре компании, облачным аккаунтам и исходному коду. Особенно опасна ситуация, когда пакет устанавливается в среде разработки с расширенными правами доступа к репозиториям кода.

Последствия такой атаки могут быть катастрофическими для бизнеса. Утечка ключей доступа к облачным сервисам AWS, GCP или Azure позволяет преступникам запускать дорогостоящие вычислительные ресурсы от имени жертвы, красть данные клиентов и останавливать работу сервисов. Превращение компьютеров разработчиков в узлы DDoS-ботнета грозит юридическими последствиями, если с них будут атакованы другие компании.

Этот инцидент наглядно демонстрирует новую реальность. Открытый код вредоносов вроде Shai-Hulud снижает порог входа для киберпреступников. Теперь для проведения сложной атаки на цепочку поставок не нужно быть опытным программистом. Достаточно найти подходящий инструмент, сменить сервер управления и загрузить его в реестр. Скорее всего, мы станем свидетелями целой волны подобных атак в ближайшие недели.

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

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

IPv4 Port Combinations

  • 80.200.28.28:2222

Domains

  • 87e0bbc636999b.lhr.life
  • b94b6bcfa27554.lhr.life
  • edcf8b03c84634.lhr.life

Npm packages

  • chalk-tempalte
  • @deadcode09284814/axios-util
  • axois-utils
  • color-style-utils

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