Вирус CrashStealer прикидывается системным отчётом macOS и вычищает пароли через подписанный установщик

Вирус CrashStealer прикидывается системным отчётом macOS и вычищает пароли через подписанный установщик

Изображение: Wesson Wang (unsplash)

Владельцев Mac атакует новый инфостилер CrashStealer, маскирующийся под штатный компонент Apple для отправки отчётов о сбоях. Вредонос распространяется через подписанный и нотариально заверенный установщик, беспрепятственно проходит Gatekeeper, показывает достоверное окно ввода системного пароля, после чего вытягивает учётные данные, содержимое браузеров, криптокошельки и записи из связки ключей. Для российских пользователей macOS угроза не менее реальна — сертификаты разработчиков Apple работают глобально, а сама схема доставки не привязана к региону.

Специалисты Jamf Threat Labs зафиксировали CrashStealer в начале июля. Программа написана на C++ и нацелена на сбор практически всего мало-мальски ценного внутри заражённой машины. Операторов интересуют логины и пароли, сохранённые браузерные сессии, содержимое менеджеров паролей, реквизиты криптокошельков и данные из системного хранилища Keychain.

Доставка построена через образ диска, оформленный под привычный элемент macOS. Жертва видит не подозрительный архив с непонятными файлами, а приложение, внешне почти неотличимое от официального инструмента Apple по обработке системных ошибок. На одном из этапов цепочки пользователю подсовывают образ «Werkbit Setup», выглядящий как обычный инсталлятор без стандартного предупреждения о недоверенном разработчике.

Авторы атаки задействовали действующий Developer ID Apple. Образ также получил нотариальный билет, подтверждающий прохождение автоматической проверки со стороны Apple. За счёт этого «Werkbit Setup» преодолевает Gatekeeper — механизм macOS, проверяющий происхождение загружаемых приложений и блокирующий запуск недоверенных программ.

Стоит обратить внимание: подпись сама по себе не подтверждает безопасность программы. Она лишь фиксирует, что пакет был собран под зарегистрированным аккаунтом разработчика и на момент проверки не вызвал срабатывания автоматики Apple.

Если человек запускает приложение, оно обращается к GitHub API. Через этот канал подтягивается запутанный скрипт, содержимое которого предварительно скрыто от поверхностного анализа. После декодирования сценарий превращается в загрузчик и установщик, подтягивает основной модуль CrashStealer, размещает его в системе и готовит к запуску.

Обращение к GitHub даёт атакующим сразу несколько выгод:

  • трафик к популярной платформе разработчиков редко выглядит подозрительно;
  • домен не относится к очевидной вредоносной инфраструктуре;
  • средства защиты видят обращение к легитимному сервису и часто пропускают его;
  • полезная нагрузка передаётся в закодированном виде и раскрывается уже на машине жертвы.

Внутри образа используется bundle, собранный под системный модуль отчётов об ошибках Apple. Название выглядит знакомо — программы действительно могут показывать окна после аварийного завершения, а macOS регулярно предлагает отправить сведения о сбое. Авторы CrashStealer эксплуатируют эту привычку. После установки вредонос показывает нативное окно запроса пароля в стиле подлинной системной авторизации macOS. Задача окна состоит не только в получении пароля — операторы хотят убедиться, что введённые данные подходят к учётной записи на заражённой машине.

После получения корректного пароля CrashStealer переходит к сбору. Из браузеров вытягиваются имена пользователей, пароли, cookie, история сессий и прочие данные авторизации. Перехваченные cookie позволяют войти в аккаунт без повторного пароля, пока активная сессия жива.

Список интересов вредоноса:

  • логины, пароли и cookie из браузеров жертвы;
  • файлы и расширения криптокошельков, конфигурации доступа к цифровым активам;
  • содержимое менеджеров паролей и мастер-пароли локальных хранилищ;
  • пароли Wi-Fi, сертификаты, токены и секреты приложений из Keychain;
  • сохранённые сессии авторизации и служебные данные macOS.

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

Тейс Хафлер, старший исследователь угроз и методов обнаружения в Jamf Threat Labs, отметил продуманность цепочки доставки CrashStealer. По оценке Тейса Хафлера, операторы отказались от примитивного неподписанного файла и начали атаку с заверенного установщика, свободно проходящего Gatekeeper. Тейс Хафлер сообщил, что после запуска загрузчик незаметно получает основной модуль, повторно подписывает его и запускает уже внутри системы. По мнению Тейса Хафлера, CrashStealer выделяется среди массовых инфостилеров не перечнем похищаемых данных, а внутренней архитектурой.

Отмечается, что нативная реализация на C++ и клиентская криптография делают CrashStealer заметно ближе к продукту зрелой преступной группы, чем к очередному массовому стилеру-подписке.

Против анализа применяется сразу несколько приёмов:

  • запутывание потока управления, при котором последовательность операций выглядит неестественно;
  • хранение строк, названий файлов и адресов серверов в зашифрованном виде;
  • расшифровка нужных значений только в памяти во время работы;
  • многоуровневые проверки на отладчик и исследовательскую среду;
  • изменение поведения при обнаружении подозрительных условий или прерывание работы.

Исследователи нашли отдельные совпадения CrashStealer с известными семействами вредоносов для macOS — среди возможных родственников упоминаются Atomic (AMOS) и MacSync. Совпадения касаются набора целей, приёмов кражи и элементов поведения, но Jamf Threat Labs не считает CrashStealer простой переработкой известного образца.

После подтверждения использования Developer Team ID для распространения вредоносных компонентов Jamf Threat Labs передала сведения Apple. Купертиновцы могут отозвать сертификат, аннулировать нотариальный билет и обновить защитные механизмы macOS. Однако операторы CrashStealer способны перейти на другой аккаунт разработчика, купить доступ к чужой учётной записи или подготовить новый вариант установщика — знакомая по мобильному рынку игра в кошки-мышки.

Российским пользователям Mac схема опасна по нескольким причинам:

  • сертификаты Apple работают глобально, географических ограничений у CrashStealer нет;
  • вредонос охотится за криптокошельками, что бьёт по владельцам цифровых активов в РФ;
  • Keychain хранит пароли от банков, госсервисов и рабочих аккаунтов;
  • перехват cookie позволяет войти в почту и мессенджеры без второго фактора;
  • знакомый вид окна отчёта о сбоях снижает бдительность у всех, независимо от языка системы.

Мнение экспертной редакции CISOCLUB. Кейс с CrashStealer показывает, что зелёная галочка Gatekeeper давно перестала быть индульгенцией для macOS. Экосистема Apple годами приучала пользователей верить нотариальному билету как знаку качества, и теперь эта привычка работает против самих пользователей. Российской аудитории стоит держать в голове несколько простых правил — не ставить приложения из случайных ссылок и мессенджеров, скептически смотреть на любые «системные отчёты» от сторонних установщиков, а системный пароль вводить только в диалогах, происхождение которых понятно. Отдельная зона риска — владельцы криптокошельков и корпоративные Mac с доступом к рабочим сервисам, где утечка Keychain оборачивается компрометацией всей инфраструктуры. И, наконец, стоит помнить, что подписанный установщик — это подтверждение канала, а не программы, и разница между этими двумя вещами сейчас стоит очень дорого.

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