21.04.2021

Атака на GitHub Actions для майнинга криптовалюты на серверах GitHub

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

GitHub Actions даёт возможность разработчикам кода прикреплять обработчики для автоматизации различных операций в GitHub. Например, при помощи GitHub Actions можно выполнить определённые проверки и тесты при совершении коммитов или автоматизировать обработку новых Issues. Для запуска майнинга атакующие создают форк репозитория, в котором используется GitHub Actions, добавляют в свою копию новый GitHub Actions и отправляют в оригинальный репозиторий pull-запрос, предлагающий замену существующих обработчиков GitHub Actions на новый обработчик «.github/workflows/ci.yml».

Вредоносный pull-запрос порождает многократные попытки запуска заданного атакующим обработчика GitHub Actions, который после 72 часов прерывается из-за таймаута, завершается сбоем и затем запускается вновь. Для атаки злоумышленнику достаточно лишь создать pull-запрос — обработчик запускается автоматически без какого-либо подтверждения или участия со стороны сопровождающих оригинального репозитория, которые лишь могут заменить подозрительную активность и остановить уже запущенные задания GitHub Actions.

В добавляемом атакующими обработчике ci.yml в параметре «run» присутствует обфусицированный код (eval «$(echo ‘YXB0IHVwZGF0ZSAt…’ | base64 -d»), который при выполнении пытается загрузить и запустить программу для майнинга. В первых вариантах атаки с разных репозиториев на GitHub и GitLab загружалась программа, названная npm.exe и собранная в форме исполняемого ELF-файла для Alpine Linux (используется в образах Docker). В более новых формах атаки загружается код типового майнера XMRig из официального репозитория проекта, который затем собирается с подстановкой адреса кошелька и серверов для отправки данных.

Источник.