(1 час назад), Редакция Рунет | 👁 505

Злоумышленник использовал 4837 взломанных аккаунтов GitHub для внедрения похитителя секретов

Злоумышленник использовал 4837 взломанных аккаунтов GitHub для внедрения похитителя секретов

Злоумышленник задействовал учётные данные 4837 взломанных аккаунтов GitHub, чтобы внедрить вредоносный скрипт для кражи секретов в репозитории, доступные этим пользователям для записи. По данным Aikido Security, скрипт сработал как минимум в 1806 репозиториях. Об этом сообщает IXBT News.

«Отдельный анализ SafeDep выявил 8093 репозитория, получивших вредоносные изменения с 12:46 UTC вторника до 04:36 UTC 12 ноября. Эта цифра включает все обнаруженные репозитории с вредоносными коммитами, а не только те, где скрипт успел выполниться», — пишет IXBT News.

Проверка охватывала лишь основные ветки публичных проектов, поэтому реальный масштаб может быть больше. Атака начиналась с тестового запроса на слияние изменений (pull request) с заголовком «docs: dependency audit notes» из ветки wfx-docs. Так злоумышленник проверял, может ли скомпрометированный аккаунт изменять содержимое репозитория. Такие запросы появились в 61 764 проектах, после чего в части из них добавлялся похититель секретов.

SafeDep обнаружила 7309 случаев внедрения скрипта в существующие рабочие процессы GitHub Actions и ещё 771 случай, когда он распространялся через npm postinstall — механизм автоматического выполнения кода при установке пакета. В последнем случае вредоносный код мог запускаться не только в облачной инфраструктуре проекта, но и непосредственно на компьютере разработчика. Обычно после внедрения злоумышленник откатывал изменения через несколько минут, а журналы выполнения скрипта удалялись вместе с самими запусками. Поэтому отсутствие видимых следов атаки ещё не означает, что данные не были похищены.

Скрипт собирал практически все доступные ему учётные данные: секреты GitHub Actions, токены GITHUB_TOKEN, временные токены OIDC и Actions Runtime, ключи ИИ-сервисов, а также данные из файлов конфигурации AWS, Azure, Google Cloud, Kubernetes, npm, PyPI и SSH. Кроме того, он копировал содержимое репозитория, последние 100 коммитов и недавние артефакты рабочих процессов. На собственных серверах компаний (self-hosted runners) скрипт мог получать дополнительные облачные учётные данные из метаданных виртуальных машин, сведения о Docker-контейнерах и конфигурации systemd. Информация отправлялась через HTTP POST на удалённые серверы или в Telegram: при проверке 200 вредоносных коммитов примерно в 20% случаев использовался только Telegram.

Особую опасность представляли механизмы закрепления в облачной инфраструктуре. Получив токены GitHub OIDC, злоумышленник мог обменивать их на сеансы доступа AWS, Google Cloud и Azure, создавать постоянные ключи AWS и менять политики доверия облачных ролей. В Azure он мог добавлять федеративные учётные данные с префиксом wfx-ci-, позволяющие рабочим процессам авторизоваться без сохранённого пароля. Такие механизмы могли продолжать работать даже после отзыва первоначальных токенов и смены ключей.

Aikido также обнаружила пересечение с атакой GhostAction в октябре: аккаунты, пострадавшие тогда, примерно в 1000 раз чаще становились участниками новой кампании. При этом компания пока не связывает обе атаки с одним злоумышленником, поскольку использовались разные инструменты и инфраструктура.

Подписывайтесь на наш Telegram-канал, чтобы быть в курсе всех новостей и событий Рунета.

Комментарии 0
Зарегистрируйтесь или , чтобы оставлять комментарии.
БПЛА атаковали склад Ozon на юге России