В начале 2025 года зафиксирована масштабная кампания фишинга, нацеленная на коды устройств - механизм аутентификации, используемый для входа в учётные записи без ввода пароля. Злоумышленники комбинируют четыре метода, чтобы обойти автоматические системы анализа и убедить жертву самостоятельно передать код, дающий доступ к её аккаунту.
Описание
Основной вектор атаки - поддельные страницы входа, имитирующие интерфейсы Microsoft и других крупных сервисов. Пользователь попадает на такую страницу после перехода по ссылке из письма, мессенджера или рекламы. Вместо привычного запроса логина и пароля ему предлагают ввести код, сгенерированный на его устройстве. Если жертва вводит этот код на мошеннической странице, злоумышленник получает полный доступ к её облачным данным, почте, документам.
Первая техника - использование капчи перед страницей с кодом устройства. Фишинговая страница принуждает пользователя решить простую головоломку, прежде чем отобразится поле для ввода кода. Капча может быть как собственной сборки, так и поддельной версией reCAPTCHA. Главная цель - заблокировать автоматические сканеры URL, которые не умеют проходить такие тесты. При этом для человека капча служит дополнительным сигналом легитимности: настоящие порталы Microsoft тоже используют проверку, поэтому жертва с большей вероятностью доверяет странице. В некоторых вариантах капча реализована целиком в браузере: генерируется случайный пятисимвольный код, пользователь вводит его, и JavaScript сверяет значение без обращения к серверу. Такой метод не защищает от целенаправленного анализа, но эффективно отсеивает простые автоматические запросы.
Вторая техника - многошаговые цепочки перенаправлений. Вместо прямой ссылки на фишинговую страницу злоумышленники выстраивают последовательность из нескольких легитимных SaaS-платформ. Например, жертва получает ссылку на форму в Smartsheet, затем переходит на страницу, которая динамически генерирует фишинговый HTML через blob-адрес. Другой сценарий включает опрос на Polling.com, поддельное окно просмотра PDF, ещё одну капчу на стороннем домене и только потом страницу с кодом устройства от имени сервиса электронной подписи. Как показал анализ, каждый шаг отделяет исходную ссылку от вредоносного содержимого, позволяя обойти репутационные фильтры - система видит переходы между легитимными сервисами и не блокирует цепочку целиком.
Третья техника - доставка фишингового контента через blob-адрес. Вредоносный HTML не хранится на сервере и не передаётся в виде отдельного файла. Вместо этого страница-конструктор, размещённая на промежуточном CDN-домене, содержит зашифрованный JavaScript-код. Он расшифровывается в браузере с помощью Web Crypto API, после чего создаётся blob-адрес - внутренний адрес браузера вида blob:https://[домен]/[уникальный идентификатор]. По этому адресу загружается фишинговая страница. У blob-адреса нет сетевого существования: его нельзя получить по прямой ссылке, проиндексировать или заблокировать. Внешний запрос к нему возвращает пустой ответ, а уникальный идентификатор меняется при каждом сеансе. Таким образом, традиционные списки блокировки и безопасные браузеры не могут ни извлечь содержимое, ни оценить его репутацию.
Четвёртая техника - обфускация исходного кода. Она применяется на двух уровнях. Первый - замена латинских букв кириллическими аналогами: например, в слове "Microsoft" часть символов заменяется на визуально идентичные символы из кириллицы. Человек видит нормальный текст, а программы, сканирующие HTML на наличие брендовых строк, ничего не находят. Между видимыми буквами также вставляются невидимые символы нулевой ширины, дополнительно разрывающие любые подстроки. Второй уровень - вставка случайных буквенно-цифровых строк в теги "<bdi>", которые браузер отображает прозрачно. Например, заголовок "Adobe Acrobat" в исходном коде выглядит как "A<bdi>jdVpbcSH8WUZK</bdi>b<bdi>rUbrNs</bdi>e Acr…". Для пользователя текст остаётся читаемым, но статический поиск по сигнатурам хешей или регулярным выражениям становится бесполезным.
Эти методы могут комбинироваться в рамках одной атаки. Например, пользователь получает письмо с приглашением подписать документ. Он переходит на ссылку, которая ведёт на опрос в Polling.com, затем на поддельный просмотрщик PDF, потом решает капчу, после чего оказывается на странице с пре-заполненным кодом устройства от имени известного сервиса. В это время фишинговый контент уже доставлен через blob-адрес и защищён кириллической подстановкой. Каждый этап усложняет обнаружение как на уровне сети, так и на уровне контента.
Для защиты от таких атак компаниям и обычным пользователям важно помнить несколько принципов. Никогда не вводите код устройства, отображаемый на одном сервисе, на другом сайте - если вас просят это сделать, это почти наверняка мошенники. Используйте многофакторную аутентификацию через приложения-генераторы, а не через коды устройств, если есть такая возможность. Регулярно проверяйте активные сеансы в облачных сервисах и отзывайте подозрительные. Для ИТ-администраторов требуется внедрять средства, способные обрабатывать JavaScript и анализировать визуальное содержимое страниц, а не только сканировать HTML в исходном виде. Техники с blob-адресами и кириллическими подменами делают такой анализ обязательным.
Эволюция фишинга показывает, что злоумышленники активно адаптируются к защитным механизмам, используя методы, которые раньше применялись только в сложных целевых атаках. Теперь они становятся массовыми, а их обнаружение требует пересмотра подходов к анализу вредоносных страниц.