Gheist превращает GitHub Actions в секретный сервис извлечения данных

Github безопасность утечка данных кибератаки Github Actions csoonline.com

Gheist использует скомпрометированные аккаунты GitHub для кражи секретов. Атакующий внедряет вредоносные GitHub Actions в частные репозитории, извлекает данные через API и удаляет следы. Защитите свои репозитории и токены!

Злоумышленник под псевдонимом Gheist превращает скомпрометированные учетные записи GitHub в платформы для кражи учетных данных. Размещая вредоносные рабочие процессы GitHub Actions в частных репозиториях, атакующие могут раскрывать секреты репозиториев и окружения, а затем извлекать их через API GitHub, прежде чем удалить следы своей деятельности.

Кампания, отслеживаемая Wiz Research с 15 сентября, оставила более 13 500 вредоносных веток в более чем 850 скомпрометированных учетных записях, охватывая как личные проекты, так и частные корпоративные репозитории.

Оружием кампании является GitHub Actions — сервис автоматизации платформы, который злоумышленники используют для преобразования украденных доступов в собранные учетные данные. Автоматизация создает ветку, добавляет рабочий процесс с именем «sync-check», который пытается вывести секреты в журналы выполнения, извлекает эти журналы через API GitHub и удаляет запуск рабочего процесса через несколько секунд.

«Поскольку секреты выводятся через собственный API GitHub, нет никакого домена злоумышленника или исходящего соединения, которое можно было бы заблокировать», — заявили исследователи Wiz в записи в блоге.

GitHub внедрил механизм контроля, который удерживает потенциально вредоносные запуски рабочих процессов в общедоступных репозиториях для одобрения со стороны участников. Wiz сообщил, что эта мера успешно предотвратила выполнение вредоносных запусков Gheist в общедоступных репозиториях. Однако защита не распространяется на частные репозитории или GitHub Enterprise Server, где исследователи наблюдали успешное выполнение и последующую активность.

Кодирование Base32 используется для обхода маскировки секретов

Было замечено, что злоумышленники Gheist используют пробел между механизмом маскировки секретов GitHub Actions и способом доступа рабочих процессов к конфиденциальным значениям.

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

Это потенциально раскрывало не только секреты, хранящиеся на уровне репозитория, но и конфиденциальные учетные данные, используемые для запуска производственных систем.

Впоследствии Gheist эволюционировал для нацеливания на саморазмещаемые GitHub Actions раннеры. Добавленная задача sync-host пытается искать на хостах раннеров токены API, закрытые ключи, файлы окружения, облачные учетные данные и другие конфиденциальные данные. Она также пытается получить доступ к сокету Docker, метаданным облачных экземпляров и токенам сервисных учетных записей Kubernetes.

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

Более широкая проблема безопасности облачных сред

Wiz наблюдал, как облачные учетные данные той же организации использовались через несколько часов после запуска вредоносных рабочих процессов для перечисления AWS Secrets Manager. Записи CloudTrail также показали, что рабочие процессы в созданных злоумышленниками ветках принимали роли AWS, предоставляя доказательства выполнения даже там, где журналы GitHub были недоступны.

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

Командам по безопасности было рекомендовано искать ветки, соответствующие шаблону «ci-sync-», за которым следуют шесть случайных символов, коммиты с заголовком ci: sync config и запуски рабочих процессов, которые завершаются и вскоре удаляются. Им также следует расследовать принятие ролей облачных сред, связанных с этими ветками, отозвать скомпрометированные токены и сменить все секреты репозиториев, организаций и сред, доступные затронутым рабочим процессам. Удаление ветки или запуска не отменяет раскрытие учетных данных, предупредили исследователи.

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

Похожие новости: