При разборе недавней атаки на сеть клиента эксперты Volexity обнаружили на взломанном MacBook Pro вредоносный имплант. Анализ показал, что это macOS-версия бэкдора Gimmick, используемого китайской APT-группой Storm Cloud.
Интересы группировки, деятельность которой в ИБ-компании отслеживают под условным названием Storm Cloud, ограничены территорией Азии. Проводя шпионские атаки, хакеры обычно используют штатные средства ОС, инструменты с открытым исходным кодом и кастомные импланты, а для нужд C2 — публичные веб-сервисы вроде Google Диска.
Как оказалось, новоявленный зловред по поведению мало чем отличается от уже известного Windows-собрата, к тому же делит с ним C2-инфраструктуру. Только написан он не на .NET и Delphi, а на Objective-C.
В системе новый Gimmick работает как демон или кастомное приложение, выдающее себя за программу, которую жертва регулярно использует. Чтобы надежнее скрыть C2-коммуникации в легитимном трафике, вредонос подключается к Google Диску только в рабочие дни недели.
Набор функций, которые выполняет macOS-бэкдор, вполне стандартен: он умеет сливать на сторону информацию о зараженной машине, загружать произвольные файлы, выполнять шелл-команды. Найденный образец обладал также механизмом деинсталляции, позволявшим зловреду стирать все следы своего присутствия в системе.
Новобранец, как и Windows-предшественник, выполняется асинхронно, то есть не ждет завершения некоего процесса, а продолжает работу независимо от него. Для авторизации в облаке Google он использует вшитый идентификатор OAuth2, а для шифрования внешних файлов создает ключ AES.
Для каждого случая заражения Gimmick на Google Диске создается отдельная папка. Управлять ключевыми аспектами C2-протокола вредоносу помогают три кастомных класса ObjectiveC — DriveManager, FileManager и GCDTimerManager.
Первый отвечает за сессии Google Диска и прокси, правильность отображения иерархии папок Google Диска в локальной памяти, синхронизацию с веб-сервисом, загрузку и отправку данных. В зону ответственности FileManager входит локальная иерархия папок с информацией о принятых командах и ходе их выполнения. GCDTimerManager управляет различными объектами GCD, которые обеспечивают стабильность работы импланта, и следит за тем, чтобы время его активности не превышало заданные пределы.
О своей находке эксперты сообщили в Apple, а затем помогли вендору создать новые сигнатуры для его защитных решений. Неделю назад результат был добавлен в базы XProtect и MRT (Malware Removal Tool).