Вакса чернит с пользою, а злой человек — с удовольствием (К. Прутков).

Хакеры взломали 4800 аккаунтов GitHub, чтобы украсть учетные данные для доступа к облачным сервисам


Хакеры взломали 4800 аккаунтов GitHub, чтобы украсть учетные данные для доступа к облачным сервисам

Десятки тысяч репозиториев GitHub стали мишенью кампании под названием wfx-loot, в ходе которой злоумышленники использовали вредоносные рабочие процессы для кражи секретов GitHub Actions и учетных данных для доступа к облачным сервисам.

Хотя не все репозитории использовали вредоносную программу, исследователи подтвердили, что злоумышленник похитил секретные данные как минимум из 1835 источников.

Злоумышленник использовал тысячи скомпрометированных учетных записей GitHub, чтобы открывать запросы на слияние в репозиториях, к которым у этих учетных записей был доступ, проверяя, достаточно ли у них прав на запись для внедрения вредоносного кода.

Некоторые из скомпрометированных учетных записей принадлежали организациям из списка Fortune 100, Управлению общих служб США, правительству Франции, Nextcloud и WebdriverIO.

По данным исследователей из компании Aikido, специализирующейся на безопасности приложений, около 50 из них, судя по всему, имеют права на публикацию в других экосистемах программного обеспечения с открытым исходным кодом и индексах пакетов, таких как npm, PyPI, Go, crates и Packagist.

 

Подробности атаки

По данным Aikido, кампания wfx-loot началась около 12:45 по всемирному координированному времени 10 ноября, когда злоумышленник использовал украденные учетные данные GitHub с 4837 скомпрометированных аккаунтов для проверки 61 764 репозиториев на предмет наличия прав на запись.

Злоумышленник открывал пул-реквесты с названием «docs: dependency audit notes», замаскированные под заметки об аудите зависимостей.

По данным Aikido, 92% этих пул-реквестов остаются открытыми, что говорит о том, что законные владельцы репозиториев не заметили активности.

Внедренный этап рабочего процесса
Источник: Aikido

 

Затем они внедрили скрипт на 1500 строк, который крадет учетные данные, изменив существующий рабочий процесс GitHub Actions, добавив новый рабочий процесс в недолговечную ветку или внедрив хук npm install.

Скрипт пытается собрать следующие данные:

  • GitHub Actions и переменные, токены GITHUB_TOKEN, OIDC и токены среды выполнения Actions.
  • Облачные учетные данные для AWS, Azure и Google Cloud, в том числе учетные данные, раскрываемые через метаданные экземпляра на локальных исполнителях.
  • Учетные данные разработчиков и инфраструктуры из Git, SSH, GPG, Docker, Kubernetes, npm, PyPI, Vault и Terraform.
  • Учетные данные сервисов искусственного интеллекта и инструментов для разработчиков для OpenAI, Anthropic, Gemini, Hugging Face, Cursor и GitHub Copilot.
  • Другие источники секретов включают переменные среды, файлы .env, закрытые ключи, хранилища ключей, историю команд в оболочке, память процессов, файлы репозиториев и последние коммиты, а также артефакты рабочих процессов.

 

Скрипт также поддерживает повышение привилегий в облаке, заменяя токены GitHub OIDC на временные облачные сеансы AWS, Azure и GCP.

В AWS он может подключаться к дополнительным ролям IAM (управление идентификацией и доступом), присутствующим в репозитории, «для создания долгосрочных учетных данных для пользователей IAM». Он также использует собранные учетные данные для служебных аккаунтов, чтобы выдавать себя за других пользователей в GCP.

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

Скрипт сжимал собранные данные в архивы и отправлял их через HTTP POST на одну из двух конечных точек, контролируемых злоумышленником.

На последнем этапе злоумышленник быстро отменил внесенные изменения и удалил запуски рабочих процессов и журналы. По словам Aikido, все это было сделано менее чем за минуту.

Автоматизированная публикация привела к попаданию вредоносного кода в digitalelvis/neuronai-studio 3.14.3 и две версии модуля Go github.com/onuragtas/docker-env, v1.0.278 и v1.0.280.

Исследователи считают, что основной целью злоумышленника была кража секретов CI, а публикация пакетов была побочным результатом автоматизированной публикации.

Исследователи также обнаружили некоторые совпадения с кампанией GhostAction 2025 года.

Владельцам репозиториев рекомендуется обратить внимание на ветку wfx-docs, пул-реквест для проверки и пропуски в номерах запусков рабочих процессов.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Если статья понравилась, поделитесь ей в социальных сетях

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала