Исследователи обнаружили ранее неизвестный образец вредоносного ПО для macOS, который сочетает в себе ряд изощренных методов для скрытного заражения Mac-компьютеров с помощью специально разработанного кода для кражи учетных данных.
Вредоносное ПО доставляется в два этапа. Первый распространяется в виде образа диска, маскирующегося под Maccy — менеджер буфера обмена для Mac. Он скомпилирован как AppleScript, примечательный способом доставки второго этапа. Вредоносное ПО получило название PamStealer, поскольку инфостилер, написанный на Rust, использует интерфейс Pluggable Authentication Modules (PAM), встроенный в macOS, для проверки пароля входа цели перед отправкой его на сервер, контролируемый злоумышленником.
Более тихая цепочка выполнения
Использование как образа диска, так и AppleScript распространено в вредоносном ПО для Mac. Более необычно то, как PamStealer комбинирует их для достижения скрытности. Когда по AppleScript производится двойной щелчок, он открывается в macOS Script Editor, где вредоносная функциональность глубоко запрятана в файле.
«Вместо того чтобы полагаться на команды оболочки, такие как curl или zsh, AppleScript выполняет самодостаточный загрузчик JavaScript for Automation (JXA), который извлекает и подготавливает полезную нагрузку с использованием нативных API Objective-C», — написали исследователи из Jamf, фирмы по безопасности для пользователей macOS. «В сочетании с полезной нагрузкой второго этапа на основе Rust и рабочим процессом захвата пароля, который локально проверяет учетные данные через PAM, результатом является более тихая цепочка выполнения, чем та, которую мы обычно наблюдаем у рядовых инфостилеров для macOS».
Когда пользователь, ожидающий установки надежного менеджера буфера обмена, сталкивается с образом диска, ему предлагается немедленно нажать Command-R после двойного щелчка по нему. Эта команда напрямую выполняет вредоносный код внутри AppleScript. Это также позволяет обойти com.apple.quarantine — атрибут macOS, который предоставляет предупреждения и ограничения, когда исполняемые файлы были загружены из Интернета.
Как пояснили в Jamf:
PamStealer сочетает недавно появившуюся поверхность доставки с менее знакомой полезной нагрузкой. В то время как приманка в виде кликабельного .scpt и Script Editor основана на методах, которые уже получают распространение в ландшафте угроз macOS, это вредоносное ПО отличается самодостаточным дроппером JXA, вторым этапом на основе Rust и рабочим процессом захвата пароля, который локально проверяет учетные данные через PAM перед их сбором. Этот второй этап прилагает значительные усилия для сохранения скрытности, маскируясь под Finder, шифруя трафик командно-контрольных серверов и задерживая запросы, такие как запрос полного доступа к диску, до сорока минут, чтобы его активность не совпадала с моментом запуска. В совокупности эти действия демонстрируют, как рядовые инфостилеры для macOS продолжают развиваться, принимая более тихие цепочки выполнения и нативные реализации, которые уменьшают традиционные возможности обнаружения, оставаясь при этом совместимыми со стандартными функциями macOS.
Первый этап помещает свою полезную нагрузку внутрь пакета приложения, который выдает себя за реальные компоненты, встроенные в macOS. Компонент меняется от образца к образцу вредоносного ПО. Finder.app под com.apple.finder.core или com.apple.finder.monitor, и Software Update.app под com.apple.security.daemon, являются двумя примерами. В любом случае они работают скрытно. Они также отображают подлинную иконку Finder.icns из macOS в качестве своего значка.
,
Второй этап представляет собой легковесный файл Mach-O, написанный для Mac с процессорами Apple. Выбор злоумышленника написать его на Rust относительно нетипичен для инфостилеров macOS. Более распространены такие языки, как Swift, Go и Objective-C. Этот бинарный файл вызывает интерфейс чтения встроенного приложения SQLite. Это позволяет инфостилеру напрямую читать файлы баз данных.
PamStealer отображает нативный запрос пароля, разработанный так, чтобы имитировать системный запрос на авторизацию. Текст, появляющийся с запросом, гласит: «Maccy хочет внести изменения. Введите пароль, чтобы разрешить это». Как отмечалось ранее, как только цель соглашается, вредоносное ПО проверяет его локально через API PAM.
«Эта проверка выполняется полностью через PAM: нет вызовов к dscl, security, osascript или какому-либо порожденному процессу для проверки пароля, как это делают многие рядовые инфостилеры macOS», — заявили в Jamf. «Результатом является более тихий процесс, который сохраняет только проверенный пароль и на одну цепочку процессов меньше для обнаружения защитниками».
Если проверка не удается, PamStealer снова отображает запросы до тех пор, пока не получит правильный пароль. Как только цель вводит правильный пароль, PamStealer отображает сообщение о том, что файл поврежден и не может быть установлен. Это сделано в качестве приманки, чтобы цель не заподозрила ничего неладного.
Вредоносное ПО использует тактики для максимизации объема украденной информации. Одна из тактик — запрос на предоставление полному доступу к диску для поддельного приложения Maccy. Оно также содержит код, предназначенный для доступа к аккаунтам Ethereum.
Различные техники — особенно приманка через Script Editor, самодостаточный дроппер JXA, второй этап на основе Rust и локальная проверка учетных данных через PAM — все это заслуживает внимания.
«В совокупности эти действия демонстрируют, как рядовые инфостилеры для macOS продолжают развиваться, принимая более тихие цепочки выполнения и нативные реализации, которые уменьшают традиционные возможности обнаружения, оставаясь при этом совместимыми со стандартными функциями macOS», — заключили в Jamf.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Dan Goodin




