CrocoRat: кампания ClickFix крадёт криптовалюту только с домашних компьютеров

remote access Trojan

С конца августа по конец сентября 2026 года распространялась кампания ClickFix. Она доставляла ранее неизвестную вредоносную программу CrocoRat - имя ей дал сам автор, оно встречается в исходном коде на Python. Схема ClickFix давно стала одним из самых результативных способов превратить обычный визит на сайт в запуск чужого кода. Заражение начинается со страницы, замаскированной под проверку. Посетителя просят скопировать команду и вставить её в диалоговое окно "Выполнить" системы Windows. Дальше работает PowerShell, а сама программа делит жертв на две группы. На машинах, похожих на корпоративные, разворачивается только программа удалённого доступа. На домашних компьютерах к ней добавляется сбор криптовалютных кошельков и фраз восстановления.

Описание

Ловушка выглядит мирно. Человек попадает на сайт с намеренно искажённым адресом, где на картинке нарисована схема электропроводки в доме. Страница копирует оформление Cloudflare и показывает поддельную галочку "я не робот". Клик по ней запускает сценарий, который без ведома пользователя помещает в буфер обмена готовую команду. Остаётся нажать сочетание клавиш для окна "Выполнить" и вставить текст. Браузер ничего не блокирует, ведь переходить по ссылке не требуется.

Первая команда выглядит как обычный запрос к системе доменных имён. Она обращается к серверу злоумышленников и получает текстовую запись, в которой спрятан следующий шаг - загрузка скрипта. Как показало исследование Flare, такая двухуровневая схема оставляет в журналах лишь безобидный запрос, а настоящий код исполняется в памяти. Скрытность достигается за счёт того, что команда в буфере обмена и реальный код лежат в разных источниках. Разбор одной командной строки поэтому мало что даёт: видимая часть - только указатель на настоящую цепочку.

Следующий скрипт устанавливает основную часть программы. Он скачивает архив, распаковывает его в служебную папку системного диска и запускает два компонента на Python. Вместе с собой программа несёт переносимый интерпретатор Python и набор библиотек. Зависимость от того, что уже стоит на компьютере, почти исчезает. Пакет от этого тяжелее, зато оператор получает предсказуемую среду. Затем создаётся задача в планировщике Windows с именем, похожим на рутинное обновление приложения. Она обеспечивает закрепление в системе и повторный запуск компонента.

Самое необычное решение авторов - проверка окружения. Отдельный скрипт сравнивает домен пользователя с именем компьютера. Совпадение указывает на домашнюю систему, различие - на корпоративную. Точность такой оценки неполная. Ноутбук с доменной учётной записью и локальным пользователем попадёт в категорию домашних. Устройства, управляемые через облачные службы, могут выглядеть как корпоративные. Логика всё равно показывает намерение зарабатывать по-разному. Рабочие станции интересуют злоумышленника как точка входа в сеть, личные - как источник денег. На корпоративном пути задача в планировщике повторяется каждые пятнадцать минут, на домашнем один модуль закрепляется, а второй запускается сразу.

На домашних компьютерах к программе удалённого доступа добавляется второй набор модулей. Сначала стартует крупный сборщик данных из браузеров Chrome, Edge и Brave. Он не ограничивается чтением файлов с диска. Компонент пытается работать внутри самого процесса браузера, чтобы обойти защиту сохранённых паролей. Спустя полминуты запускается модуль для кошельков: в список целей входят 22 семейства, среди них MetaMask, Trust Wallet, Ledger, Trezor, Exodus, Electrum, Phantom и OKX. Отдельный механизм ищет фразы восстановления в текстовых, офисных и PDF-документах. Для поиска используется словарь из 2048 слов, который применяют сами кошельки.

Кампания менялась на ходу. В августовской и сентябрьской сборках сменились имена модулей, ключи шифрования, метки и адреса серверов. Ключ для расшифровки основной части программы выдаёт сервер управления при запуске. Без ответа сервера файл остаётся набором случайных байт, и статический анализ почти бесполезен. Команда перебрала несколько путей расшифровки, включая полный перебор на 2,1 миллиарда комбинаций. Успеха не было. Лабораторную среду инфраструктура распознала и ключ не отдала. К концу сентября серверы перестали отвечать, поэтому публикация вышла без полного разбора клиента.

Об авторстве известно немного. Комментарии в коде написаны грамотным русским языком, архитектура аккуратная, код явно поддерживается в рабочем состоянии. Такое сочетание допускает два объяснения: опытный русскоязычный разработчик под Windows или активное применение больших языковых моделей. Вывод касается скорее возможностей и модели работы, чем конкретных имён.

Защита от подобных кампаний опирается на наблюдение за последовательностью действий, а не за отдельными именами файлов. Подозрительно всё вместе: свежий визит на страницу проверки, запуск PowerShell через окно "Выполнить", обращение к внешнему серверу имён, загрузка архива, старт интерпретатора сценариев из служебной папки, появление задачи в планировщике. Сотрудников стоит отдельно предупредить о поддельных страницах с галочкой "я не робот" и просьбой вставить текст в окно "Выполнить". Общие меры прежние: обновлять системы, ограничивать запуск интерпретаторов из папок, открытых для записи, вести журнал сценариев PowerShell. На заражённом компьютере разумно исходить из того, что пароли и ключи кошельков уже утекли. Сеансы и сохранённые данные меняют с чистого устройства. Средства с кошелька, чья фраза восстановления могла попасть к посторонним, переводят на новый адрес в первую очередь.

Индикаторы компрометации

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