MacSync для macOS крадёт данные и закрепляется в системе
MacSync, ранее рекламировавшийся под именем Mac.c, прошёл путь от вредоносных программ на AppleScript для кражи данных до модульной угрозы с исполняемыми файлами на Swift и Objective-C. Вариант, обнаруженный в сентябре 2026 года, распространялся через вредоносные образы DMG с приложениями, замаскированными под легитимное или несуществующее ПО, и был нацелен на компьютеры с Apple Silicon и Intel.
Цепочка заражения и доставка модулей
В цепочке заражения использовались бинарные дропперы, сценарии командной оболочки и загрузчики. Некоторые этапы размещались в календарях и архивах iCloud. Первоначальное приложение удаляло атрибуты карантина macOS командой xattr -cr, расшифровывало встроенный URL и загружало сценарий-загрузчик. Бинарные файлы FAT Mach-O позволяли запускать вредоносную программу на системах с разными процессорами.
В одной из цепочек URL вёл на календарь iCloud. Его содержимое передавалось в zsh, а команды после поля DESCRIPTION: загружали архив TAR.GZ с другим приложением. Последующие дропперы расшифровывали и распаковывали полезную нагрузку с помощью AES-CBC, сохраняли временные исполняемые файлы в каталоге /tmp и применяли средства противодействия анализу. Они обнаруживали виртуальные машины с помощью sysctl и использовали PT_DENY_ATTACH через ptrace.
Позднее сценарий загружал модули MacSync и применял утилиту pkgunpack для их расшифровки. Утилита создавала пары ключей Curve25519, обменивалась открытым ключом с сервером управления и получала общий секрет для расшифровки ключа полезной нагрузки, защищённого AES-GCM. Стиллер и бэкдор доставлялись в архивах TAR.GZ, очищенных от расширенных атрибутов и подписанных специальной подписью ad hoc; после этого их запускали.
Связь с сервером и кража данных
MacSync связывался с сервером управления по HTTP, отправляя PUT-запросы. Данные передавались блоками по 90 МБ, а запросы содержали обязательный заголовок X-Upload-Token.
Стиллер на Swift запрашивал пароль администратора через поддельное приложение или системное уведомление. Для проверки учётных данных он использовал API PAM в macOS, а не dscl. В число собираемых данных входили история браузера, файлы cookie, сохранённые учётные данные, данные криптокошельков и Telegram, файлы Связки ключей, конфигурации SSH и облачных сервисов, история командной строки, системная информация и данные других приложений.
Отключённая функция стиллера пыталась изменить параметры управления разделами Связки ключей, чтобы получать доступ к секретам браузера с меньшим количеством запросов подтверждения.
Закрепление и возможности бэкдора
Бэкдор на Objective-C закреплялся в системе с помощью LaunchAgents или Объектов входа (Login Items) и маскировался под Finder. Резервные копии он хранил в каталоге ~/Library/Application Support/System, подавлял процессы, связанные с уведомлениями, и мог выполнять AppleScript, закодированный в Base64 и полученный от сервера управления.
Поддерживаемые операции включали установку расширений браузера, замену кошелька Ledger и повторный сбор данных. Функция live_browser могла обеспечивать перехват трафика браузера с помощью дополнительного компонента sn_relay.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



