Специалисты Talos компании Cisco в ходе расследования одного из инцидентов выявили полнофункциональную операторскую панель фишинга как услуги (Phishing-as-a-Service) под брендом ARToken. Эта панель, развёрнутая на поддомене dashboard-bl.pamconj[.]com, разделяет инфраструктуру, контракты API и операционные паттерны с платформой EvilTokens, которую ранее задокументировали Sekoia и Microsoft в начале 2026 года. ARToken предоставляет аффилированным лицам более 80 конечных точек API, предназначенных для фишинга с использованием кода устройства, закрепления через первичный токен обновления (Primary Refresh Token, PRT), доступа к электронной почте, операций по компрометации деловой переписки (Business Email Compromise, BEC) и выгрузки данных из SharePoint. Весь функционал доступен через панель управления на базе React.
Описание
Прежде чем перейти к деталям ARToken, необходимо напомнить контекст EvilTokens. В марте 2026 года Sekoia опубликовала двухчастный анализ EvilTokens - PhaaS-платформы, которая злоупотребляет механизмом авторизации устройства OAuth 2.0 (Device Authorization Grant, RFC 8628) для захвата токенов жертв, полностью обходя многофакторную аутентификацию (MFA). Microsoft подтвердила масштаб кампании в апреле 2026 года, отметив значительно более высокий уровень успеха по сравнению с предыдущими атаками с использованием кода устройства, применение персонализированных приманок на основе искусственного интеллекта и конвейер посткомпрометации, включавший автоматическую регистрацию устройств для постоянного доступа. К моменту публикации Microsoft Sekoia задокументировала около 500 поддоменов Cloudflare Workers и более 1000 фишинговых страниц, работающих под эгидой EvilTokens. Целями атак становились финансовые специалисты, кадровики и логисты по всему миру.
Приманки ARToken также демонстрируют высокий уровень проработки. В ходе анализа Talos восстановил два почти идентичных письма, отправленных 20 апреля 2026 года с интервалом примерно в четыре минуты. Они подделывают контакт отдела кредиторской задолженности легитимного подрядчика из Висконсина и адресованы получателю в американской компании по производству средств для наук о жизни. Тема - запрос по неоплаченным счетам, типичное сообщение, на которое сотрудники бухгалтерии привыкли реагировать. В письме используется техника reply-pivot: заголовок From содержит реальный домен подрядчика, но Reply-To перенаправляет ответы на сторонний домен. Проверки SPF, DKIM и DMARC проваливаются. Для защиты от точных сигнатур каждое письмо содержит случайные шестнадцатеричные строки и встроенное изображение подписи. Видимый текст ссылки указывает на подлинный SharePoint-тенант подрядчика, но фактический href ведёт на похожий тенант под контролем злоумышленников, размещённый на легитимном sharepoint.com, что позволяет избежать блокировок по репутации.
При изучении фишинговой инфраструктуры, направленной на клиента Talos, была обнаружена панель управления, обслуживающая одностраничное приложение (Single Page Application, SPA) на React с компилированным JavaScript-бандлом размером 1,7 МБ. SPA-архитектура раскрывает весь клиентский код, включая маршруты, метки интерфейса, логику компонентов и пути к конечным точкам API, независимо от состояния аутентификации - для доступа к бандлу не требовались учётные данные. Связанный C2-сервер работает по адресу spx.pamconj[.]com, а фишинговые приманки разворачиваются через Cloudflare Workers.
Связь ARToken с EvilTokens подтверждается несколькими перекрывающимися техническими индикаторами. Во-первых, идентичный контракт API: фишинговый набор ARToken отправляет POST /api/device/start с телом JSON, содержащим userId, clientMode: "broker", login_hint и redirect_url, а C2 отвечает device_code, user_code, verification_uri и expires_in - это в точности соответствует API EvilTokens, задокументированному Sekoia. Параметр clientMode: "broker" указывает бэкенду использовать поток брокера аутентификации Microsoft WAM для захвата PRT и не встречается в стандартном OAuth. Во-вторых, обе платформы развёртывают фишинговые страницы на Cloudflare Workers с использованием поддоменов с префиксом UUID. ARToken использует шаблоны типа {uuid}-docviewer.workers.dev, EvilTokens - [service]-[random].[target]-s-account.workers.dev; темы приманок (Adobe, OneDrive, просмотрщики документов) пересекаются. В-третьих, поверхность API ARToken включает цепочку для работы с PRT: /prt/setup, /prt/refresh, /prt/renew, /prt/reacquire, /prt/cookie - ту же самую последовательность, которую Sekoia описывала как ключевое отличие EvilTokens от традиционных AitM-платформ. Наконец, обе платформы работают как мультитенантные PhaaS с изолированными рабочими пространствами операторов, уведомлениями через Telegram-бота при захвате токена, подпиской и редакторами шаблонов для настройки приманок.
Технический анализ фишингового набора ARToken выявил семислойную систему антианализа, реализованную на стороне клиента. Она включает проверку User-Agent, обнаружение автоматизированных фреймворков (navigator.webdriver), браузерное фингерпринтинг (наличие window.chrome, navigator.vendor), анализ размеров окна (отсев headless-браузеров с нулевыми размерами), требование к взаимодействию с пользователем (не менее трёх движений мыши или одного касания), временной шлюз (минимальная задержка 800 мс с момента загрузки) и анализ траектории движений мыши для верификации органичности. Этот клиентский подход значительно сложнее серверного механизма X-Antibot-Token (SHA-256 секрета с временной меткой и строки "antibot" с окном действия 5 минут), описанного в более ранних отчётах по EvilTokens. Вероятно, аффилированные лица могут подключать улучшенные модули отдельно от основной платформы, что согласуется с практикой EvilTokens продавать страницы антибота как отдельный продукт.
Фишинговая полезная нагрузка запускается при событии DOMContentLoaded, извлекает существующий JWT из localStorage (ключ artoken_jwt), получает email жертвы из параметра URL ?hint=, вызывает C2 на /device/start с жёстко заданным UUID оператора, отображает код устройства с таймером обратного отсчёта (по умолчанию 900 секунд) и направляет жертву на microsoft.com/devicelogin. Примечательно, что набор содержит флаг persistAfterPassChange: false, показывая, что операторы осознают отзыв токенов обновления при смене пароля и необходимость выгрузки данных или эскалации до PRT до того, как жертва отреагирует. Полезная нагрузка доставляется в зашифрованном виде: 16-байтовый XOR-ключ ([233,69,224,219,53,48,213,165,119,243,77,151,101,148,15,227]) расшифровывается во время выполнения, что отличается от использовавшегося в EvilTokens AES-GCM через Web Crypto API. Тем не менее, модель доставки (шифрование контента для обхода статического анализа URL-сканерами) остаётся общей.
Анализ API-поверхности ARToken раскрывает полный набор инструментов посткомпрометации. В управлении токенами операторы могут обновлять захваченные токены, эскалировать их до PRT через цепочку /prt/setup → /prt/refresh → /prt/cookie, добиваясь закрепления, которое сохраняется даже после смены пароля. Предусмотрены массовый экспорт и импорт токенов, а также создание ссылок для совместного доступа с гранулированными разрешениями. Встроенный почтовый инструмент ARTSender предоставляет полный доступ к чтению входящих Outlook, отправку писем от имени жертвы с массовой рассылкой BCC и настраиваемыми задержками, создание правил пересылки и автоудаления (для подавления улик), мониторинг по ключевым словам во всех взломанных ящиках одновременно, доступ к вложениям. Операторы могут просматривать, загружать, выгружать и управлять правами доступа к SharePoint и OneDrive жертвы, что позволяет воровать документы и размещать вредоносные файлы для последующего фишинга. Панель интегрируется с Cloudflare API для развёртывания фишинговых шаблонов непосредственно из интерфейса. Отдельное приложение ARTBrowser (аналог Portal Browser в EvilTokens) позволяет операторам просматривать сессии Microsoft 365 с использованием захваченных токенов, не заходя в веб-панель.
ARToken включает возможности, которые не были охвачены в публичных отчётах по EvilTokens. Среди них - Box Monitor, функция межаккаунтного мониторинга ключевых слов; программное создание правил почтового ящика для сокрытия следов; импорт токенов, захваченных другими инструментами; совместные ссылки на токены с ролевыми разрешениями; гео-динамические шаблоны, использующие плейсхолдеры города, кода страны и штата, заполняемые на основе геолокации жертвы; полные операции с SharePoint (определение сайтов, загрузка и скачивание файлов, управление разрешениями). Эти особенности указывают на то, что перед нами не просто набор для фишинга через код устройства, а полноценная среда для проведения BEC-операций. Платформа достигает такого уровня зрелости, который позволяет аффилированным лицам автоматизировать весь цикл атаки - от первоначального захвата токена до кражи данных, поддержания доступа и дальнейшего распространения внутри организации.
Индикаторы компрометации
IPv4
- 172.67.214.35
Domain
- 112838d8-9a75-2e90-d63b-docviewer.clear90489058903-document.workers.dev
- 321a1392-939d-3bf5-4040-docviewer.clear90489058903-document.workers.dev
- 50a201fd-dd2d-cf72-5fa6-adobe2.reynoldsjace5.workers.dev
- 50a201fd-dd2d-cf72-5fa6-onedrive.clear90489058903-document.workers.dev
- 917bedb0-554e-a8b9-79f1-docviewer.clear90489058903-document.workers.dev
- 98c4c82e-2d81-0837-e3d6-docviewer.clear90489058903-document.workers.dev
- aquaclaude-09494-9099403-docviewer.clear90489058903-document.workers.dev
- clear90489058903-document.workers.dev
- dashboard-bl.pamconj.com
- e5469cec-124a-c84f-abaa-docviewer.clear90489058903-document.workers.dev
- pamconj.com
- reynoldsjace5.workers.dev
- spx.pamconj.com