Китайский бэкдор Gimmick портирован на macOS

Китайский бэкдор Gimmick портирован на macOS

Китайский бэкдор Gimmick портирован на macOS

При разборе недавней атаки на сеть клиента эксперты 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).

Компьютер без RAM всё же запустили, но результат получился показательным

Рост цен на оперативную память уже дошёл до того, что люди начали задаваться почти философским вопросом: а можно ли вообще запустить компьютер без RAM? Именно это решил проверить YouTube-блогер PortalRunner. Интересно, что ответ оказался не совсем отрицательным.

Компьютер без оперативной памяти действительно можно заставить работать, но радоваться тут особенно нечему: пользоваться такой машиной в реальной жизни почти невозможно.

По сути, весь эксперимент быстро превращается в наглядное объяснение, зачем вообще нужна RAM и почему без неё современный десктоп моментально откатывается куда-то в далёкое прошлое.

Для начала PortalRunner попробовал обойтись минимальным объёмом памяти и переложить нагрузку на своп-файл. Другими, словами заставить систему активнее использовать накопитель вместо оперативки. Формально такой сценарий и так знаком любому компьютеру, когда RAM заканчивается, но на практике это работает мучительно медленно.

Была и ещё одна попытка — использовать вместо обычной RAM видеопамять со старых видеокарт. Звучит изобретательно, но итог примерно тот же: скорость всё равно не та, а полноценной заменой оперативной памяти такой подход не становится.

Самая забавное начинается позже, когда автор эксперимента решает зайти с другой стороны и использовать только кеш процессора. Он действительно намного быстрее обычной оперативки, но его катастрофически мало по современным меркам. Речь тут идёт не о гигабайтах, а о десятках мегабайт — объёме, который для 2026 года выглядит почти музейным.

В итоге эксперимент неожиданно превращается в путешествие во времени. Чтобы уложиться в такие ограничения, приходится буквально вспоминать подходы из 1980-х: ручную оптимизацию ассемблерного кода, предельно простую графику, минимализм во всём. Современный софт в такие рамки просто не помещается, поэтому запускать приходится что-то совсем крошечное.

И да, в финале всё это всё-таки заработало. После долгих манипуляций со старой материнской платой, BIOS и кучей низкоуровневой магии PortalRunner сумел запустить программу, работающую исключительно в кеше процессора. Этой программой оказалась Snake, что, в общем, довольно символично. Не Photoshop, не браузер, не Windows, а старая добрая «змейка».

Отдельная ирония в том, что для такого эксперимента пришлось искать довольно старое железо. На новых платах с UEFI подобные трюки провернуть заметно сложнее. Более того, одна из попыток вообще закончилась неудачной прошивкой BIOS и фактически убитой машиной.

RSS: Новости на портале Anti-Malware.ru