В Flutter-пакете universal_file_viewer нашли вариант XCSSET
Пакет Flutter universal_file_viewer версии 0.1.5 на pub.dev содержал версию вредоносного ПО XCSSET для macOS. Обычное подключение пакета как зависимости не приводит к выполнению вредоносного ПО: для этого требуется клонировать репозиторий и локально собрать пример приложения. Заражение исходило из скомпрометированной системы macOS разработчика, которому принадлежит пакет, и связанного с ней репозитория GitHub.
Вредоносные файлы в примере приложения
Основной код на Dart в каталоге lib/ оставался чистым. Вредоносные файлы сборки находились в каталоге example/, включённом в опубликованный архив. XCSSET внедряет вредоносные хуки сборки в конфигурации Android Gradle и Xcode.
Для проектов Android вредоносное ПО добавляет хуки preBuild, в репозитории Git использует хуки pre-commit, а в проекты Xcode добавляет фазы сборки Run Script. Обфусцированные команды восстанавливают во время выполнения такие инструменты, как xxd, base64 и curl. Этот приём используется для обхода простейшего обнаружения по строкам.
Сборки для Android обращаются к C2-серверу 5yotmxcc54l9xda[.]ru/a с тегом кампании p=android_kotlin. Конфигурации сборки Xcode и macOS обращаются к qdgs232i-q[.]ru и ejntin6hkjt7gj2[.]ru, передавая тег p=xcode_rule.
Загрузка и выполнение полезной нагрузки
Начальный запрос получает скрипт, который определяет операционную систему и имя пользователя. Затем загружается зашифрованный скрипт второго этапа. Он собирает серийный номер аппаратного обеспечения и локаль, загружает загрузчик в /tmp/h, создаёт и запускает скрытый пакет приложения, а также удаляет временные файлы примерно за десять секунд.
Загрузчик скомпилирован в AppleScript. Он расшифровывает сам себя с помощью AES-256-CBC, используя ключ, зависящий от дня, и выполняет основной полезный код в памяти. Этот код загружает дополнительные модули из инфраструктуры C2 и запускает их через osascript.
Для закрепления XCSSET заменяет элемент Launchpad в Dock поддельным приложением. При запуске оно открывает легитимный Launchpad и одновременно выполняет вредоносный код.
Кража данных и повышение привилегий
Вредоносное ПО содержит модули для кражи следующих данных:
- паролей, файлов cookie и токенов сессий в Chrome;
- данных Safari и Firefox;
- файлов сессий Telegram;
- заметок, напоминаний и данных календаря;
- содержимого буфера обмена;
- файлов в выбранных папках домашнего каталога.
XCSSET способно имитировать «Настройки системы» и использовать sudo для повышения привилегий. Украденные данные шифруются с помощью AES-256-CBC и отправляются на конечную точку /u злоумышленника. Многие модули выполняются без создания постоянных файлов на диске.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



