Из репозитория npm изгнали опасных Windows- и Linux-зловредов

Из репозитория npm изгнали опасных Windows- и Linux-зловредов

Из репозитория npm изгнали опасных Windows- и Linux-зловредов

Команда npm удалила с портала четыре Node.js-пакета с вредоносным кодом, способным устанавливать удаленное соединение со сторонним сервером. Зловреды просуществовали в открытом доступе два года; за последние месяцы их успели скачать более 1000 раз.

Речь идет о следующих пакетах:

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

Эксперту BleepingComputer удалось отыскать и изучить копии исходников вредоносных Node.js-пакетов. Анализ показал, что код plutov-slack-client, nodetest1010 и nodetest199 одинаков и способен работать на Windows и Unix-подобных системах. При установке зловред открывает обратный шелл, обеспечивая злоумышленнику удаленный доступ к скомпрометированной системе.

«Любой компьютер, на котором установлен или работает этот пакет, следует считать полностью скомпрометированным, — сказано в бюллетене npm. — Все секретные данные и ключи, сохраненные на этом компьютере, следует немедленно сменить, используя другое устройство. Пакет надлежит удалить, однако, поскольку контроль над компьютером уже перехвачен, эта мера не гарантирует удаление всех вредоносных программ, которые могли появиться в результате его установки».

Пакет npmpubman по коду и назначению отличен от рассмотренной выше троицы. Он собирает пользовательские данные из переменных окружения и выгружает их на удаленный сервер. Злоумышленники могут использовать подобный инструмент, к примеру, для сбора информации о системе перед атакой. Активация вредоноса, согласно бюллетеню, не происходит автоматически, жертва должна запустить его вручную.

Атакующие взломали популярный сканер Trivy через GitHub-теги

Одна из самых неприятных историй последних дней развернулась вокруг Trivy — популярного сканера уязвимостей от Aqua Security, который используют разработчики и DevOps-команды по всему миру. Атакующие смогли скомпрометировать почти все версии инструмента в рамках атаки на цепочку поставок, и последствия здесь могут быть действительно серьёзными.

О проблеме публично сообщил мейнтейнер Trivy Итай Шакури. По его словам, если есть хоть малейшее подозрение, что в пайплайне запускалась скомпрометированная версия, все секреты нужно считать утёкшими и срочно ротировать.

Исследователи из Socket и Wiz выяснили, что внедрённый зловред не просто подменял работу Trivy, а параллельно запускал настоящий сканер и свою вредоносную нагрузку. То есть внешне всё могло выглядеть вполне штатно, пока внутри шёл сбор конфиденциальных данных.

По данным исследователей, зловред прочёсывал CI/CD-пайплайны, машины разработчиков и окружение в поисках GitHub-токенов, облачных учётных данных, SSH-ключей, Kubernetes-токенов и других секретов. Всё найденное он архивировал, шифровал и отправлял на сервер, контролируемый атакующими.

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

Под удар попали 75 тегов в trivy-action и ещё семь тегов setup-trivy. Среди затронутых версий оказались и очень распространённые варианты вроде @0.34.2, @0.33 и @0.18.0. По имеющейся информации, незатронутой осталась только версия @0.35.0.

Именно это делает инцидент особенно опасным. Если воркфлоу в GitHub Actions ссылался на один из таких тегов, при запуске Trivy он автоматически подтягивал уже не легитимный код, а вредоносную подмену. Компрометация могла произойти просто в момент очередного штатного сканирования.

По данным Wiz, у атакующих был и запасной канал вывода данных. Сначала зловред пытался отправить собранную информацию на домен scan.aquasecurtiy[.]org. Если это не удавалось, он пробовал использовать украденный GITHUB_TOKEN, чтобы создать репозиторий tpcp-docs и выгрузить данные туда.

Если же зловред понимал, что работает не в пайплайне, а на машине разработчика, он дополнительно записывал кодированный base64 дроппер на Python для закрепления.

Отдельно настораживает и предыстория атаки. Массовая компрометация началась в четверг, но, как пояснил Итай Шакури, её корни уходят в более ранний инцидент — взлом расширения VS Code Aqua Trivy, произошедший ещё в прошлом месяце. Тогда атакующие получили учётные данные с правами записи в GitHub-аккаунт Trivy.

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

При этом интересно, что атакующие аккуратно подменяли ссылки тегов на новые коммиты, копируя метаданные старых коммитов: автора, почту, дату и даже текст сообщения. За счёт этого компрометация выглядела максимально правдоподобно.

RSS: Новости на портале Anti-Malware.ru