Анализ конфиденциальных данных, захваченных червём Shai-Hulud 2

Компания Wiz опубликовала результаты анализа следов деятельности червя Shai-Hulud 2, в ходе активности которого в репозитории NPM были опубликованы вредоносные выпуски более 800 пакетов, насчитывающих в сумме более 100 млн загрузок. После установки поражённого пакета, активизировавшийся червь выполняет поиск конфиденциальных данных, публикует новые вредоносные релизы (при обнаружении токена подключения к каталогу NPM) и размещает в открытом доступе найденные в системе конфиденциальные данные через создание новых репозиториев в GitHub.

В GitHub выявлено более 30 тысяч репозиториев с сохранёнными червём перехваченными данными. В около 70% из этих репозиториев размещён файл content.json, в 50% – файл truffleSecrets.json, а в 80% – environment.json, содержащие ключи доступа, конфиденциальные данные и переменные окружения, найденные на системе разработчика, установившего вредоносный пакет с червём. Также в данных репозиториях выявлено около 400 файлов actionsSecrets.json с ключами, найденными в окружениях для выполнения GitHub Actions.

В файлах contents.json присутствовало более 500 уникальных учётных данных и токенов для подключения к GitHub. В файлах truffleSecrets.json содержались конфиденциальные данные, найденные в результате выполнения на поражённой системе утилиты TruffleHog, собирающей более 800 типов данных, среди которых ключи доступа, ключи шифрования, пароли и токены, используемые в различных сервисах, облачных окружениях, продуктах и СУБД. Всего в truffleSecrets.json выявлено более 400 тысяч уникальных записей из которых около 2.5% (~10000) было верифицировано.

Предполагается, что попавшая в открытый доступ конфиденциальная информация может стать отправной точкой для новой волны атак, так как многие данные остаются актуальны. Например, проверка показала, что 60% токенов доступа к NPM, захваченных с поражённых червём систем, остаются действующими.

В отчёте также приводится общая статистика, полученная на основе анализа переменных окружения с поражённых систем. 23% запусков червя произошли на компьютерах разработчиков, а 77% – в окружениях систем непрерывной интеграции (60% GitHub Actions, 5% – Jenkins, 5% – GitLab CI, 3% – AWS CodeBuild). На 87% систем использовался Linux, 12% – macOS и 1% – Windows. 76% запусков было в контейнерах, 13% – в основных системах.

60% всех инфицированний произошло из-за установки вредоносных релизов пакетов @postman/tunnel-agent-0.6.7 и @asyncapi/specs-6.8.3. В 99% проценте случаев червь был активирован при запуске команды “node setup_bun.js”, указанной в package.json в секции preinstall (оставшиеся 1% вероятно приходятся на попытки тестирования).


Release. Ссылка here.