ClickFix для macOS: одна вставленная команда выносит криптокошелёк по частям
Кампания ClickFix против macOS, которую разобрали в Huntress, заканчивается тем, что жертва сама вставляет одну команду в Terminal и отдаёт связку ключей, пароли из браузера и, возможно, часть своей криптовалюты. Отчёт опубликован 6 августа 2026 года: при ретроспективном поиске угроз в июне аналитики нашли на подконтрольном Mac стилер, написанный на Go, который сидел там с марта, около девяноста дней и никем не замечался.
Как работает атака ClickFix на macOS
Приманка построена по знакомому сценарию ClickFix: письмо со ссылкой, страница с поддельной капчей или фальшивой ошибкой и инструкция "подтвердить, что вы человек", выполнив команду в Terminal. По дороге внутрь не эксплуатируется ничего. Эксплойт здесь - сам пользователь, а вставленная команда делает всё остальное.
Эта команда скачивала Bash-скрипт с адреса злоумышленников, запускала его, удаляла, а затем очищала окно Terminal и историю команд, чтобы не осталось очевидных следов. Скрипт работал как профайлер и загрузчик: опрашивал железо штатными для macOS утилитами, определял архитектуру процессора и подтягивал один из двух Mach-O-бинарников на Go - под Apple Silicon или под Intel.
Что забирает стилер
Запустившись, полезная нагрузка вычёсывала с диска файлы, в которых хранятся учётные данные. По данным Huntress, в добычу попадают базы паролей браузеров, кешированные учётные данные из cookie и содержимое Apple Keychain, а связка ключей на типичном Mac - самая ценная цель на всей машине. Всё собранное уходило на внешний адрес.
Чтобы добраться до частей системы, недоступных обычному пользовательскому процессу, малварь через osascript рисовала окно, неотличимое от штатного запроса пароля macOS, оформленное как просьба восстановить повреждённые системные файлы. Такой диалог операционная система вполне могла бы показать и сама, и именно ввод пароля в него завершает компрометацию.
Функция DRAIN и почему частичная кража - это новое
Отдельного внимания заслуживает процедура, которую авторы назвали DRAIN. Она ищет кошельки Bitcoin, Litecoin, Dogecoin, Monero, Ethereum и XRP и несёт в себе зашитый список адресов, подконтрольных атакующим.
Обычные дрейнеры опустошают кошелёк одним движением: оператор исходит из того, что у него один заход, пока жертва не спохватилась. Здесь есть переменная DRAIN_PCT и логика под каждую валюту, вычисляющая, сколько стоит заданный процент баланса, - то есть можно снять долю, а не всё. В Huntress говорят, что это первый разобранный ими дрейнер, способный намеренно оставить жертве сдачу. Кошелёк, из которого тихо ушёл один процент, выглядит как комиссия, ошибка округления или подвела память, а кража, о которой никто не заявил, - это кража, которую можно повторить.
Закрепление и инфраструктура
Малварь оставалась в системе, прячась по пути, который выдаёт её за компоненты обновления Apple внутри пользовательской папки Library, и регистрируясь в подсистеме Background Task Management через launchctl. Это каталог, куда большинство людей никогда не заглянет, и имя, которое ни у кого не вызовет вопросов.
Хост загрузчика, сервер с полезной нагрузкой и управляющий сервер сходятся на инфраструктуре Aeza Group, российского пуленепробиваемого хостинга. США внесли Aeza под санкции в июле 2025 года, Великобритания и Австралия - в ноябре 2025-го, за роль в размещении вымогателей, стилеров и другой криминальной инфраструктуры. Несмотря на эти санкции, та же самая инфраструктура продолжала обслуживать и эту кампанию.
Как защититься
- Считайте инструкции про Terminal враждебными: одна привычка не вставлять команды, которые вы не писали и не понимаете, закрывает весь этот класс атак.
- Не доверяйте внезапным запросам пароля: окно, которое ни с того ни с сего просит пароль от Mac ради "восстановления системных файлов", - красный флаг, а отмена не стоит ничего.
- Держите серьёзную криптовалюту не на рабочей машине: аппаратный кошелёк уводит ключи подписи от любого софта, которому удалось запуститься на вашем Mac.
- Сверяйте балансы, а не только заголовки: частичное списание сделано так, чтобы теряться в шуме, поэтому небольшие необъяснимые списания заслуживают того же внимания, что и опустошённый кошелёк.
- Фильтруйте на уровне DNS: страница-приманка должна сначала загрузиться, и заблокировать её дешевле, чем потом разгребать последствия.
Буфер обмена и браузер незаметно стали самым мягким местом крипто-стека, и это не единичный случай: скомпрометированный рекламный скрипт недавно попался на том, что подменял адреса кошельков на тысячах легитимных сайтов, а учётные данные, которые собирают подобные стилеры, оседают в тех же агрегированных дампах, из которых вырос случай с 24 миллиардами паролей в одной открытой базе. Поскольку первым звеном цепочки всегда оказывается страница, которую надо открыть, фильтрация на уровне сети значит больше, чем раньше, и поэтому многие инструменты приватности сегодня несут в себе DNS-блоклисты, отсекающие приманку до того, как пользователь увидит фальшивую капчу.