12 февраля 2026 года я получил фишинговое письмо, замаскированное под уведомление Google Drive от юридической фирмы White & Case LLP. Вместо обычного credential harvesting за ссылкой скрывалась профессиональная система browser fingerprinting с anti-analysis cloaking. Рассказываю, как устроена атака изнутри - от email до перехваченного POST-запроса с эксфильтрированными данными.

Как всё началось

Письмо пришло с адреса drive-shares-dm-noreply@google[.]com - легитимный адрес Google Drive для шаринга файлов. Отправитель отображается как «Whitе § Cаsɐ Pay Immediately» - обратите внимание на символы: кириллические «е» и «а», перевёрнутая «ɐ», армянский символ в названии. Unicode-гомоглифы для обхода текстовых фильтров.

Тема письма: «Resolve Promptly - Dеbt Detected - Pаy Immediately!» - urgency-давление через тему долга.

Атакующий создал Google-аккаунт neyjardespbeg2002@secure.accessinformattention[.]com и расшарил через Google Drive HTML-файл, стилизованный под collection letter (требование об оплате задолженности) от White & Case. Рассылка ушла на 24 адреса (1 To + 23 CC) - NGO, корпорации и частные лица.

Вся страница в Google Drive - одна большая кликабельная область, ведущая на Google Cloud Storage.

Цепочка атаки: 7 этапов

Полная цепочка от клика до эксфильтрации:

#

Этап

Что происходит

1

Email

Письмо от drive-shares-dm-noreply@google[.]com - легитимный Google

2

Google Drive

HTML-страница как изображение collection letter. Вся область - ссылка на GCS

3

Google Cloud Storage

Бакет persontwelve, файл offer.html (128 байт): meta refresh на фишинговый домен

4

PHP-роутер

/?ref=... - сервер ставит cookies: PHPSESSID, ref (tracking ID из email), referer (Base64 от Referer). Редирект 302 на /secure/index_newest.html

5

Fingerprinting

FingerprintJS v4.2.1: 30+ параметров → visitorId. BotD определяет сканеры

6

Эксфильтрация

MutationObserver → FormData → JSON → Base64 → XHR POST на secure.php

7

Cloaking

secure.php возвращает 302 → msn[.]com. Чистый выход для всех

Ключевой момент: вся цепочка доставки проходит через легитимную инфраструктуру Google Drive, Cloud Storage, Gmail. Почтовые фильтры доверяют googleapis[.]com и не блокируют ссылки.

Что внутри: разбор вредоносного кода

Финальная страница index_newest.html (77 018 байт, Last-Modified: 20.11.2025) содержит три JavaScript-модуля в Base64 (data: URI) и визуальную приманку.

Визуальная приманка

Фейковый экран «Checking your browser» с CSS-спиннером - имитация Cloudflare/DDoS-защиты. Пока жертва ждёт «проверку», в фоне работает fingerprinting. На странице - скрытая форма с полями:

  • ri - browser fingerprint (visitorId)

  • ib - бот или человек (0/1)

  • re - тип бота (base64)

  • rf - tracking ID из cookie

Скрипт 1: FingerprintJS v4.2.1

Open-source библиотека browser fingerprinting (~45 КБ). Собирает более 30 параметров:

  • Canvas fingerprint - рендерит скрытый элемент, хеширует результат

  • WebGL fingerprint - vendor, renderer, шейдерные параметры

  • Audio fingerprint - через OfflineAudioContext

  • Шрифты - проверка наличия 60+ шрифтов через side-channel (offsetWidth)

  • Экран - разрешение, device memory, hardware concurrency

  • Математика - константы Math.acos, Math.sinh, Math.cosh (различаются между движками)

  • Ad-блокеры - проверка 30+ списков фильтров

  • Timezone, plugins, languages и другие параметры

Результат: 32-символьный hex-хеш MurmurX64Hash128 → записывается в поле ri.

Скрипт 2: BotD (Bot Detection)

Библиотека обнаружения ботов от тех же авторов FingerprintJS. Детектирует:

  • Selenium - window._selenium_evaluate, $cdc

  • WebDriver - navigator.webdriver

  • Headless Chrome - plugins, window size, WebGL vendor «Brian Paul» / «Mesa OffScreen»

  • PhantomJS, Electron, Nightmare, CefSharp, SlimmerJS и другие фреймворки Результат: ib=0 (человек) или ib=1 (бот), плюс re=Base64(botKind).

Зачем это нужно? Автоматические сканеры (urlscan.io, VirusTotal, любые песочницы) определяются как боты. Для них страница ведёт себя одинаково - редирект на MSN. Но атакующий знает, что скан был, и может учесть это.

Скрипт 3: Эксфильтрация

Кастомный скрипт. MutationObserver ожидает заполнения полей ib и ri в скрытой форме. Когда оба поля заполнены:

FormData -> JSON -> Base64 -> XHR POST /secure/secure.php

Тело запроса: {"ed": "<Base64-данные>"}. После отправки - window.location.href = "../" → корень домена → редирект на MSN.com.

Важная деталь: при переходе на /?ref=... сервер ставит cookie referer с Base64-кодированным URL источника перехода. Если Referer header отсутствует (прямой заход, исследователь вставил URL в браузер), cookie явно удаляется (expires=1970). Сервер детектирует прямые заходы без реферера - это дополнительный слой anti-analysis.

Перехваченные данные

Из HAR-файла браузера удалось извлечь реальный POST-запрос на secure.php (13.02.2026, 11:17:48 UTC).

URL: hxxps://online.accessinformnotice[.]com/secure/secure.php
Метод: POST
Ответ: 302 -> hxxps://msn[.]com
Декодированное тело запроса:

{
"ri": "53d072c66a7d3a0a4c57203cc1368108",
"ib": "0",
"re": "",
"rf": "4589cd89a09cfe09540"
}

Расшифровка:

Поле

Значение

Что это

ri

53d072c66a7d3a0a4c57203cc1368108

Уникальный browser fingerprint (MurmurX64Hash128)

ib

0

BotD: человек (не бот)

re

(пусто)

Тип бота не определён

rf

4589cd89a09cfe09540

Tracking ID из email-рассылки

Вот что происходит на стороне сервера: fingerprint жертвы (ri) привязывается к tracking ID из email (rf). Атакующий знает, кто из рассылки на каком браузере и устройстве.

Обратите внимание: в перехваченных данных нет ни логинов, ни паролей, ни данных кредитных карт - только метаданные браузера и tracking ID.

Это не credential harvesting

Это разведывательная операция, а не кража паролей.

Все жертвы после fingerprinting перенаправляются на MSN.com независимо от результата BotD. Нет фишинговой формы, нет запроса логина. Только сбор fingerprints, привязанных к email tracking ID.

Зачем собирать fingerprints?

  • Таргетированная атака второй волны - зная браузер, ОС, плагины жертвы, можно подготовить эксплойт или убедительный фишинг

  • Обход anti-fraud - fingerprint позволяет имитировать сессию жертвы

  • Идентификация при повторных визитах - fingerprint стабилен между сессиями

  • Продажа данных - база «email -> fingerprint» имеет коммерческую ценность

Инфраструктура: PROSPERO OOO

Фишинговый сервер расположен на IP 91[.]202[.]233[.]71 - AS200593, PROSPERO OOO, Санкт-Петербург.

PROSPERO - один из наиболее известных bulletproof-хостингов. По данным KrebsOnSecurity, Intrinsec и Spamhaus, на нём размещаются C2 для ransomware, SocGholish, GootLoader, SpyNote. Наивысший spam-рейтинг по Interisle. С декабря 2024 маршрутизирует трафик через Kaspersky Lab (AS209030). Связан с Proton66 OOO (AS198953).

Атакующие грамотно разделили инфраструктуру:

Компонент

Где размещён

Зачем

Домен отправителя

Cloudflare

Скрытие IP, защита от блокировки

Доставка

Google (Drive + GCS + Gmail)

Обход email-фильтров

Fingerprinting

PROSPERO OOO

Bulletproof, игнорирует abuse

DNS

Dyna DNS (dyna-ns[.]net)

Дешёвый DNS, быстрая смена IP

Шаблон index_newest.html имеет Last-Modified 20 ноября 2025 - используется повторно в разных кампаниях. Это не одноразовый payload, а инфраструктурный инструмент.

IOC

Тип

Значение

Описание

Domain

online.accessinformnotice[.]com

Фишинговый сайт

Domain

accessinformattention[.]com

Домен отправителя

IP

91[.]202[.]233[.]71

Фишинговый сервер (PROSPERO)

ASN

AS200593

PROSPERO OOO, bulletproof

Netblock

91[.]202[.]233[.]0/24

Блок PROSPERO

URL

hxxps://online.accessinformnotice[.]com/secure/index_newest.html

Fingerprinting

URL

hxxps://online.accessinformnotice[.]com/secure/secure.php

Эксфильтрация

GCS

hxxps://storage.googleapis[.]com/persontwelve/online/offer.html

Redirect

Drive

hxxps://drive.google[.]com/file/d/18XPn0pHsygsvZcinTivBQ_I225l-xzpC

Приманка

Email

neyjardespbeg2002@secure.accessinformattention[.]com

Аккаунт атакующего

Server

Apache/2.4.41 (Ubuntu)

Веб-сервер

MITRE ATT&CK

Техника

ID

Применение

Spearphishing Link

T1566.002

Ссылка на Google Drive через email

Masquerading: Match Legitimate Name or Location

T1036.005

Имитация White & Case LLP

Masquerading

T1036

Unicode-гомоглифы в имени отправителя

User Execution

T1204.001

Клик по DOWNLOAD E-SIGN

Link Target

T1608.005

Multi-hop: GCS → PROSPERO

Execution Guardrails

T1480

BotD определяет ботов, cloaking-редирект для сканеров

Acquire Infrastructure

T1583.003

Bulletproof hosting PROSPERO

Exfiltration Over C2

T1041

JSON → Base64 → POST secure.php

Gather Victim Host Information: Client Configurations

T1592.004

FingerprintJS: 30+ параметров браузера

Phishing for Information

T1598

Сбор fingerprints, не credentials

Что делать

Если вы кликнули по ссылке:

  • Очистите данные браузера (cookies, cache, localStorage)

  • Обновите браузер и GPU-драйверы - это может изменить часть параметров Canvas и WebGL fingerprint

  • Credentials не скомпрометированы - атака собирала только fingerprints

  • Будьте готовы к таргетированной второй волне

Для SOC/SIEM:

alert dns any any -> any any (msg:"Phishing - accessinformnotice.com";
  dns.query; content:"accessinformnotice.com"; sid:2026021301;)
alert dns any any -> any any (msg:"Phishing - accessinformattention.com";
  dns.query; content:"accessinformattention.com"; sid:2026021302;)
alert ip any any -> 91.202.233.0/24 any (msg:"PROSPERO OOO bulletproof hosting";
  sid:2026021303;)

Среднесрочно:

  • Блокировка всей AS200593 - по данным Spamhaus и Interisle, PROSPERO имеет наивысший spam-рейтинг, легитимный трафик минимален

  • Фильтрация Google Drive shares с urgency-маркерами от внешних отправителей

  • Мониторинг Certificate Transparency для accessinform*[.]com

Выводы

Эта кампания интересна не payload'ом, а подходом. Атакующие не крадут пароли - они собирают разведданные. Browser fingerprint, привязанный к email через tracking ID, позволяет идентифицировать жертву, её устройство и подготовить таргетированную атаку второй волны.

Технический уровень высокий: multi-hop через Google, FingerprintJS + BotD для evasion, bulletproof-хостинг, чистый выход через MSN. Шаблон используется с ноября 2025 - это не разовая акция, а инструмент.

Полный отчёт (EN + RU, TLP:CLEAR) с IOC: github.com/afokin52/threat-intelligence