Атака на цепочку поставок Rust внедрила бэкдоры на этапе сборки
Координированная атака на supply chain затронула три легитимных Rust-пакета, которые поддерживал Дэвид Раунди. Под вредоносную кампанию попали версии arrayref@0.3.10, internment@0.8.7 и append-only-vec@0.1.9.
Каждая вредоносная версия добавляла зависимость от proc-macro1, являющегося typosquat-пакетом легитимного proc-macro2. По-видимому, атакующий скомпрометировал систему автора или учетные данные crates.io. Затронутые версии удалили, а аккаунт автора заблокировали.
Вредоносная активность запускалась во время сборки
Атака происходила во время компиляции, а не при выполнении приложения. Cargo автоматически загружал proc-macro1 и запускал его build.rs. Скрипт восстанавливал Base64-зашифрованную инфраструктуру command-and-control, определял операционную систему и архитектуру хоста, отключал проверку TLS-сертификатов, загружал платформозависимый полезный груз с 23.254.165.112:9089 и выполнял его. В качестве C2 endpoint использовался адрес 23.254.165.112:443.
В Windows загрузчик применял скрытый PowerShell, который запускался через wscript.exe с обходом политики выполнения. Атака обеспечивала Remote Code Execution на этапе сборки для Linux, macOS и Windows.
Возможности вредоносных компонентов
Восстановленные бэкдоры второго этапа для Linux x86-64, Windows x86-64 и macOS ARM64 использовали общие протоколы, конфигурацию, команды и криптографические материалы. Они собирали следующие данные:
- имена пользователей и хостов;
- операционную систему и архитектуру;
- информацию о привилегиях;
- список установленных приложений;
- источники входа, имена пользователей и идентификаторы расширений Chromium.
Сохраненные пароли вредоносные компоненты не расшифровывали.
Закрепление в системе осуществлялось разными способами:
- через ключи запуска
HKCUв Windows; - через пользовательские службы systemd в Linux;
- через LaunchAgents в macOS.
Импланты отправляли маячки на /49890878 и могли изменять конфигурацию, устанавливать механизмы закрепления, загружать и выполнять команды оболочки или скрипты, а также завершать свою работу. В качестве резервных вариантов они использовали предсказуемые домены .com, сформированные на основе дат.
Связанные пакеты и рекомендации по расследованию
Тот же вредоносный скрипт сборки обнаружили в proc-macro-en@1.0.10. Связанные пакеты, по-видимому, использовались как инфраструктура для подготовки или клонирования.
Системы, на которых выполнялась сборка затронутых версий, следует считать потенциально скомпрометированными. Расследование должно включать проверку следующих признаков:
- соединения с IP-адресом
23.254.165.112и портами9089и443; - подозрительная активность PowerShell или
wscript.exe, связанная с Cargo; - использование механизмов закрепления;
- наличие файлов
/tmp/rust-setup,rust-setup.ps1иrust-setup-launch.vbs.
Учетные данные и секреты, доступные в затронутых средах сборки, необходимо изменить. Программное обеспечение следует пересобрать с чистых систем.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



