Вредонос AmnesiaStealer атакует Mac через поддельный GitHub: как работает скрытый перехват браузеров и связки ключей
AmnesiaStealer заражает компьютеры Apple через поддельные страницы GitHub с помощью социальной инженерии ClickFix, заставляя пользователя самостоятельно запустить вредоносный скрипт в «Терминале». После получения пароля администратора программа крадет данные «Связки ключей», сессии мессенджеров, заметки и запускает скрытую копию Chromium-браузеров для прямого управления активными учетными записями в обход двухфакторной аутентификации.
Содержание14 разделов · нажмите, чтобы развернуть
Угрозы для экосистемы Apple уже давно вышли за рамки банальных рекламных утилит и фальшивых обновлений Adobe Flash Player. Современные вредоносные кампании используют сложные цепочки доставки и нацелены на разработчиков, системных администраторов и владельцев криптовалют. Отчет исследовательской группы Jamf Threat Labs раскрывает технические детали новой вредоносной программы, которая совмещает функции классического инфостилера и интерактивного трояна удаленного доступа.
Схема заражения: атака ClickFix под видом репозитория на GitHub
Первичный контакт жертвы с вредоносом происходит на веб-ресурсе, визуально копирующем интерфейс платформы GitHub. Мошенники воспроизводят темную тему оформления, фирменный логотип Octocat, структуру репозитория и даже добавляют поддельную плашку «Verified Publisher». Доменное имя при этом не имеет никакого отношения к официальному сервису, но невнимательный пользователь может легко пропустить этот факт в адресной строке.

Вместо привычной кнопки загрузки готового DMG-образа или PKG-установщика посетителю демонстрируют инструкцию по установке через командную строку. Пользователю предлагают скопировать строку кода, открыть «Терминал» через системный поиск Spotlight и вставить содержимое буфера обмена.
Такой подход называют атакой ClickFix. Метод стал популярен среди злоумышленников во второй половине 2024–2025 годов: расчет строится на привычке разработчиков устанавливать зависимости через консольные менеджеры пакетов вроде Homebrew или с помощью вызовов cURL. Команда выглядит как безобидная служебная инструкция, однако зашитая в нее закодированная строка инициирует загрузку шелл-скрипта с удаленного командного сервера (C2).
Первый этап атаки: распаковка, обход карантина и сбор системных данных
После вставки команды в консоль запускается фоновый сценарий, который скачивает защищенный паролем ZIP-архив. Использование пароля для архива необходимо злоумышленникам для обхода базовых сетевых фильтров и систем проверки трафика, которые не могут проинспектировать зашифрованное содержимое на лету.

Извлеченный из архива исполняемый файл маскируется под легитимные системные компоненты macOS. Перед его непосредственным запуском скрипт выполняет две операции подготовки операционной среды:
- Удаляет атрибуты карантина macOS (
com.apple.quarantine), предотвращая срабатывание встроенной системы безопасности Gatekeeper. - Применяет ad-hoc подпись к бинарному файлу. Такая подпись не идентифицирует реального разработчика и не проходит нотариальную проверку на серверах Apple, но позволяет выполнить бинарник на целевой машине при определенных настройках безопасности.
Полезная нагрузка первого этапа представляет собой универсальный бинарный файл Mach-O, написанный на языке Rust. Он содержит скомпилированный машинный код как под архитектуру Intel x86_64, так и под чипы Apple Silicon (семейство M-серии). Внутри зашифрованного конфигурационного блока вредоноса хранятся идентификаторы текущей кампании, список серверов управления и шаблон для системного окна авторизации.
Сразу после запуска вредонос генерирует диалоговое окно с заголовком «Installer» и визуальным оформлением, повторяющим системные настройки macOS. Окно запрашивает локальный пароль пользователя для подтверждения привилегированных действий. Если пользователь вводит случайный набор символов или опечатывается, валидатор вредоноса отклоняет ввод и запрашивает пароль повторно.
Как только корректный пароль получен, троян сохраняет его в домашней директории пользователя в виде открытого текста, разблокирует системную связку ключей входа (login keychain) и получает возможность исполнять любые команды с правами root через утилиту sudo.
Охота за конфиденциальными файлами: что забирает стилер
Основной бинарный модуль проводит инвентаризацию зараженной системы. Он фиксирует аппаратные UUID, текущую версию macOS, список установленного программного обеспечения и определяет географическое положение устройства по внешнему IP-адресу.
Далее вредоносная программа приступает к рекурсивному сканированию пользовательских папок «Рабочий стол», «Документы» и «Загрузки». В список приоритетных целей входят текстовые документы, конфигурационные файлы, резервные копии, криптографические ключи SSH/GPG и базы данных.
Отдельное внимание уделяется локальным хранилищам приложений:
- Apple Notes: вредонос копирует SQLite-базы данных заметок вместе со всеми медиавложениями.
- Telegram: похищаются активные сессионные файлы, позволяющие авторизоваться в мессенджере без SMS или подтверждения через другое устройство.
- Связка ключей: извлекаются файлы
login.keychain-db, а также данныеdata-protection keychain. - Криптовалютные кошельки: сканируются директории браузерных расширений и локальных хранилищ, причем поиск идет по характерным путям, что позволяет собирать данные даже недавно созданных кошельков.
| Целевая категория | Конкретные собираемые объекты | Механизм компрометации |
| Браузеры (16 на базе Chromium) | Пароли, сессионные cookie, история, закладки, автозаполнение | Чтение локальных баз данных SQLite и ключей Safe Storage |
| Системные хранилища | Login Keychain, Apple Notes, сессии Telegram | Прямой доступ к каталогам ~/Library/ с полученным паролем |
| Файловая система | Папки Desktop, Documents, Downloads (документы, ключи, архивы) | Рекурсивный поиск файлов заданных форматов |
| Аппаратные данные | Версия ОС, аппаратные ID, IP-адрес, список запущенных процессов | Системные вызовы и внешние сетевые запросы |
Перед отправкой на командный сервер вся добыча упаковывается в ZIP-архив во временной директории со случайным именем, после чего отправляется операторам через защищенный сетевой канал.
Скрытый браузер: как работает модуль удаленного управления Chromium
В отличие от стандартных стилеров, которые ограничиваются единовременной кражей файлов, этот образец содержит модуль потоковой передачи. Компонент также написан на Rust и загружается с C2-сервера только по отдельной команде злоумышленника.
Модуль поддерживает работу с широким спектром браузеров: Google Chrome, Brave, Microsoft Edge, Arc, Opera, Vivaldi и Chromium. Вместо попыток перехватить графическое окно, открытое пользователем, вредонос дублирует текущий профиль пользователя в скрытый служебный каталог.
Далее исполняемый файл браузера запускается в фоновом (headless) режиме с активацией Chrome DevTools Protocol (CDP). Этот протокол разработчики обычно используют для отладки и автоматизации через Selenium или Puppeteer. В данном случае CDP становится инструментом полного контроля:
- Запущенный процесс браузера автоматически расшифровывает сохраненные файлы cookie с помощью полученных системных ключей.
- Вредоносный модуль транслирует экран скрытой сессии злоумышленнику с частотой около трех кадров в секунду.
- Оператор передает обратно координаты мыши, клики, команды прокрутки и нажатия клавиш.
Благодаря этому оператор попадает в уже авторизованные сессии на веб-сайтах (почта, панели управления облачной инфраструктурой, криптобиржи). Веб-ресурс видит подлинный цифровой отпечаток браузера, корректный User-Agent и действительные сессионные токены. Большинство систем антифрода и двухфакторной аутентификации (MFA) в таких условиях не запрашивают повторный ввод пароля или одноразовый код, поскольку сессия формально не прерывалась.
В коде трояна также предусмотрен деструктивный резервный сценарий для macOS. Если вредонос не может корректно извлечь ключ Chrome Safe Storage из «Связки ключей», он перезаписывает мастер-пароль в базе данных собственным значением. Это делает ранее сохраненные учетные записи нечитаемыми для оригинального браузера пользователя, но позволяет атакующему шифровать и расшифровывать новые поступающие данные.
Почему часть механизмов обхода защиты macOS дала сбой
Анализ кода показал, что создатели трояна пытались внедрить несколько сложных векторов обхода механизмов безопасности Apple, однако некоторые из них оказались неработоспособными на современных релизах операционной системы.
Вредонос содержит четыре сценария для извлечения защищенных баз данных браузера Safari:
- Прямой доступ к защищенным директориям контейнеров;
- Дублирование файлов через интерфейс Finder;
- Копирование с повышением прав через sudo;
- Создание и чтение снимка файловой системы APFS (APFS snapshot).
На тестовых машинах под управлением macOS образцы сразу переходили к созданию снимка APFS, игнорируя остальные методы. Эта техника опирается на логику уязвимости CVE-2020-9771, которую инженеры Apple исправили еще в обновлениях macOS Catalina 10.15.4 и 10.15.5. В актуальных версиях доступ к операциям со снимками APFS строго ограничен разрешением «Универсальный доступ к диску» (Full Disk Access / FDA), которого нет даже у суперпользователя root.
Троян также пытался напрямую модифицировать локальную базу данных фреймворка TCC (Transparency, Consent, and Control), расположенную по адресу /Library/Application Support/com.apple.TCC/TCC.db, чтобы выдать себе полные дисковые права. Встроенная защита целостности системы (System Integrity Protection / SIP) заблокировала эти попытки на уровне ядра, сохранив целостность базы TCC.
Эти сбои подтверждают эффективность многоуровневой модели безопасности современных версий macOS: даже обладая root-доступом и зная локальный пароль, вредоносное ПО не может автоматически отключить механизмы TCC и SIP без явного вмешательства пользователя через системный графический интерфейс.
Эволюция стилеров для macOS: от простых скриптов к интерактивному шпионажу
В течение долгого времени вредоносное ПО для платформы Mac развивалось медленнее, чем аналоги для Windows. Большинство ранних угроз представляли собой примитивные скрипты на Bash или Python, которые просто упаковывали содержимое домашней папки в архив.
Ситуация начала меняться с появлением семейств MacStealer, ShadowVault и Atomic macOS Stealer (AMOS). Авторы перешли на компилируемые языки (Go, Rust, C++), начали внедрять нативную поддержку архитектуры ARM64 и упаковывать трояны в сложные дропперы.
| Параметр | Ранние стилеры (2021–2023) | Современные угрозы уровня AmnesiaStealer |
| Основной язык разработки | Python, Bash, AppleScript | Rust, Go, нативный Mach-O C++ |
| Архитектура | x86_64 с эмуляцией через Rosetta 2 | Универсальные бинарники (Universal 2: x86_64 + ARM64) |
| Метод хищения сессий | Базовое копирование зашифрованных файлов cookie | Запуск headless-браузеров через CDP и живая трансляция сессий |
| Взаимодействие с ОС | Стандартные системные вызовы | Эксплуатация уязвимостей TCC, обход карантина, сброс Safe Storage |
| Формат управления | Однократная выгрузка (Dump & Exfiltrate) | Двусторонний интерактивный канал (RAT-функционал) |
Появление возможностей дистанционного управления браузером через штатные средства разработки делает угрозу значительно опаснее. Злоумышленникам больше не требуется переносить украденные cookie в свои виртуальные машины и настраивать профили браузеров вручную, рискуя нарваться на блокировку по отпечатку системы. Все манипуляции производятся непосредственно на железе жертвы.
Пошаговая инструкция по реагированию на инцидент
Если команда из поддельного репозитория была скопирована и выполнена в «Терминале», систему следует считать полностью скомпрометированной. Удаление отдельных подозрительных файлов из папки загрузок или временных каталогов не гарантирует очистку от скрытых демонов автозагрузки и внедренных модулей.
Для минимизации ущерба выполните следующую последовательность действий:
- Изолируйте компьютер от интернета: выключите Wi-Fi-модуль и отсоедините сетевой кабель. Это немедленно оборвет активную сессию удаленного управления браузером.
- Используйте резервное устройство: возьмите смартфон или другой заведомо чистый компьютер. Ни в коем случае не меняйте пароли с зараженного Mac до его полной очистки.
- Отозовите активные веб-сессии: в настройках безопасности Google, Apple ID, почтовых сервисов и криптовалютных платформ найдите пункт «Активные сеансы» (или «Устройства») и нажмите «Завершить все остальные сеансы». Простая смена пароля без отзыва сессионных токенов может оставить злоумышленнику доступ к уже открытым веб-страницам.
- Смените критически важные пароли: обновите пароли для основной почты, менеджеров паролей, банковских кабинетов и систем администрирования. Если использовались повторяющиеся пароли, их необходимо заменить везде.
- Мигрируйте криптовалютные активы: если на компьютере были установлены некастодиальные кошельки (MetaMask, Phantom и аналоги) или хранились приватные ключи в виде текстовых файлов, кошельки скомпрометированы. Создайте новые хранилища с новой seed-фразой на чистом устройстве и немедленно переведите средства.
6. Выполните чистую переустановку macOS: перезагрузите Mac в режим восстановления (Recovery Mode), отформатируйте системный накопитель через «Дисковую утилиту» и установите чистую копию операционной системы. Восстановление из резервной копии Time Machine допустимо только из срезов, созданных строго до момента заражения.
Как защитить свой Mac от подобных угроз
Основной вектор доставки таких вредоносных программ базируется исключительно на человеческом факторе. Ни одна из фаз первичного заражения не использует эксплойты нулевого дня (0-day) для удаленного выполнения кода без участия пользователя.
Соблюдайте базовые правила цифровой гигиены в рабочей среде:
- Никогда не копируйте консольные команды с веб-сайтов вслепую. Ни один официальный сервис, валидатор лицензий или тест CAPTCHA не требует выполнения скриптов через системный «Терминал».
- Проверяйте источник софта перед установкой. Загружайте программные продукты исключительно из Mac App Store или с подтвержденных доменов разработчиков. Всегда обращайте внимание на доменное имя в адресной строке: мошеннические сайты часто используют опечатки в стиле тайпсквоттинга.
- Анализируйте запросы системных прав. Если только что скачанная утилита при первом открытии запрашивает пароль администратора или доступ к специальным возможностям (Accessibility / Screen Recording), закройте процесс и удалите программу.
- Используйте аппаратные ключи безопасности. Переход на стандарты Passkeys и использование физических FIDO2-токенов (например, YubiKey) существенно снижают риск компрометации даже при перехвате сессионных cookie.
- Своевременно устанавливайте обновления macOS. Регулярные системные патчи закрывают легаси-механизмы обхода ограничений (такие как работа со снимками APFS без FDA) и усиливают политики изоляции процессов в ядре.
Итоги расследования
Появление вредоноса AmnesiaStealer демонстрирует качественное усложнение инструментов киберпреступников, ориентированных на macOS. Злоумышленники научились обходить ограничения двухфакторной аутентификации за счет манипуляций с легитимными интерфейсами отладки Chromium, превращая браузер жертвы в инструмент шпионажа в реальном времени. Главным рубежом защиты от подобных комплексных атак остается критическое отношение к любым инструкциям, требующим ручного запуска непроверенного кода в консоли.
FAQ
Почему вредонос требует именно вставить команду в «Терминал»?
Это позволяет обойти встроенную проверку Gatekeeper и карантинные метки, которые автоматически присваиваются файлам, скачанным через браузер. Выполняя команду через командную строку вручную, пользователь сам инициирует загрузку и запуск бинарного кода от своего имени.
Помогает ли двухфакторная аутентификация (2FA) против этой атаки?
Классическая 2FA по SMS или TOTP-кодам из приложений защищает при попытке первичного входа с нового устройства. Однако вредоносный модуль использует Chrome DevTools Protocol для управления уже активной, предварительно авторизованной сессией в клонированном профиле, поэтому повторный запрос второго фактора сервером зачастую не инициируется.
Защищает ли Safari от кражи данных так же, как Chrome?
Архитектура Safari жестче интегрирована в систему безопасности macOS и защищена фреймворком TCC сильнее сторонних браузеров. В текущих версиях операционной системы попытки трояна извлечь данные Safari через снимки APFS и модификацию базы прав потерпели неудачу.
Достаточно ли удалить скачанный файл и почистить корзину для обезвреживания?
Нет, недостаточно. Скрипт загружает универсальный бинарный файл, маскирует его под системные компоненты, сохраняет пароль в открытом виде и может оставлять постоянные механизмы автозагрузки в каталогах LaunchDaemons или LaunchAgents. Единственный гарантированный способ очистки — полное стирание накопителя и переустановка операционной системы.





Комментариев 0