Новая волна фишинговых атак, распространяемых через SMS-сообщения, имитирует службы доставки USPS и UPS. Вредоносные страницы не просто копируют дизайн почтовых сервисов - они загружают оригинальные HTML-шаблоны, CSS-стили, шрифты и изображения прямо с серверов USPS. При этом аналитика Google Analytics, встроенная в подлинные теги, передаёт данные на реальные маркетинговые панели USPS. Жертва, переходя по ссылке, видит точную копию официального сайта, но все введённые данные, включая реквизиты банковских карт, перехватываются злоумышленниками в реальном времени.
Описание
Схема начинается с SMS-сообщения, которое информирует о невозможности доставить посылку, наличии неоплаченной таможенной пошлины или неверном адресе. Сообщение содержит ссылку, ведущую на домен вида usps.xupqnqz.one. Домен заканчивается на .one, а поддомен usps. вводит в заблуждение: в урезанной строке браузера жертва видит только "usps". Перейдя по ссылке, пользователь попадает не на страницу оформления заказа, а на подделку Cloudflare Security Check - точную копию проверки "Вы не робот" с оранжевым щитом, флажком и надписью "Performance & security by Cloudflare". Эта страница поддерживает двенадцать языков, определяя язык браузера автоматически.
Нажатие на флажок запускает JSONP-запрос к /eat?callback=jsonpCallback_<timestamp>, возвращающий токен вида valid_20260521033009_cfe592644a1fdc56930624518ab3bcf7. Одновременно устанавливается cookie gfsessionid - признак использования Go-фреймворка GoFrame. После этого загружается одностраничное приложение на Vue 3 размером 444 КБ. Оно отображает форму для ввода данных, используя настоящие активы USPS: за один сеанс браузер загружает 66 файлов (около 700 КБ), включая head.html, header.html, footer.html, Bootstrap CSS, иконки, изображения и шесть лицензированных шрифтов Monotype. Путь к этим ресурсам /us_post_usps/ не существует на настоящем usps.com, что является чётким сигналом для обнаружения.
Настоящая цель атаки - перехват данных. Как только жертва начинает заполнять форму, одностраничное приложение открывает WebSocket-соединение к wss://<хост>/ws?token=<UUIDv4>. Данные предоставленного отчёта показывают, что каждое нажатие клавиши передаётся серверу посимвольно. За семь тестовых сеансов было зафиксировано 279 WebSocket-фреймов. Пример передаваемого сообщения: {"event":"input_text","content":{"type":"input_card","key":"cardNumber","text":"4242424242424242"}}. При этом серверная сторона выполняет BIN-проверку номера карты, определяя банк, страну, платёжную систему и тип карты. Результат обогащается и отправляется обратно в браузер через тот же сокет. Если карта отвергается, система запрашивает новую, сохраняя историю всех введённых данных - это позволяет злоумышленникам собирать несколько карт от одной жертвы. В конфигурации, передаваемой сервером, присутствуют поля kill-switch (isBlock) и шаблоны для запроса PIN и email-подтверждения, подписанные на китайском, хотя все интерфейсы для жертвы - на английском. Это указывает на двуязычную среду оператора.
Исследование инфраструктуры началось с одного IP-адреса 43.157.174[.]200, принадлежащего облаку Tencent (ASN 132203). С помощью пассивного DNS-анализа выяснилось, что этот адрес за историю наблюдений связывался с 682 уникальными доменами-двойниками. Большинство из них уже не отвечают в текущем DNS, но остаются в исторических записях. Форма доменов включает usps.xupq*.one, informed.deliwek*.shop и другие. Оператор использует вращающиеся домены, меняя их каждые несколько часов или дней. Только на одном IP 43.157.174[.]200 обнаружено 306 таких имён.
Дальнейшее исследование на основе хэша HTTP-баннера привело к обнаружению пяти серверов с таким же хэшем, но обслуживающих не USPS, а UPS. Эти серверы используют другой бэкенд - Spring Boot (Java) вместо GoFrame. При переходе по ссылке на подделку UPS появляется похожая страница Cloudflare, но с жёстко закодированным атрибутом lang="zh-CN" на английской странице. После прохождения "проверки" происходит перенаправление через цепочку /__theme/runtime/entry/verify, устанавливающую cookie с именем theme_entry_verify_us_post_ups. Имя cookie содержит внутреннее название оператора - us_post_ups. Значок на странице UPS указывает на favicon по пути /usps/images/logo_mobile.svg, то есть ссылается на ресурсы USPS. Таким образом, одна и та же группа управляет двумя параллельными кампаниями под бренды USPS и UPS, используя общие инфраструктурные элементы: облако Tencent в Сингапуре (юридические лица ACEVILLE PTE.LTD.), единый обратный прокси Caddy и один часовой пояс +08:00 (Asia/Shanghai) на всех серверах.
Геолокация по IP даёт противоречивые результаты: часть адресов "видна" в Сан-Паулу, часть - в Санта-Кларе, при этом WHOIS указывает на Сингапур. Наиболее надёжным сигналом является часовой пояс +08:00, зафиксированный как в метках времени токенов Go-версии, так и в JSON-ошибках Spring Boot при запросах к несуществующим путям.
С точки зрения защиты, ключевые индикаторы компрометации не зависят от меняющихся доменов и IP. Во-первых, это пути /us_post_usps/ и /__theme/runtime/ (для UPS). Во-вторых, cookie theme_*_verify_us_post_ups, которые никогда не встречаются на легитимных сайтах. В-третьих, хэш баннера HTTP: для V2 (UPS) хэш возвращает ровно пять хостов глобально и может быть отслежен в Censys. Также можно использовать JA4T-отпечатки транспортного уровня в комбинации с ASN Tencent. Операторы не обновляют программное обеспечение - все серверы содержат уязвимости CVE-2024-6387 (regreSSHion) и другие, что подтверждает модель быстрого развёртывания и сжигания инфраструктуры.
Наиболее практический вывод для корпоративных защитников: блокировка исходящих соединений к префиксам Tencent 43.157.128[.]0/18 и 43.173.64[.]0/18 может значительно снизить риск, поскольку легитимных деловых сервисов на этих адресах практически не бывает. Мониторинг трафика на маршрутизаторах и в SIEM на предмет указанных путей и cookie позволит выявлять атаки до того, как данные жертв будут украдены.
Обнаружение этой кампании стало возможным благодаря анализу пассивного DNS, который позволяет увидеть всю историю доменных имён, привязанных к IP-адресу, даже после того, как эти домены перестали отвечать. Операторы могут менять имена и адреса, но не могут стереть следы в DNS-записях. Именно на уровне структуры - путей, названий cookie, хэшей баннеров - строится долгосрочное отслеживание таких фишинговых сетей, а не на быстро меняющихся хостах и IP.
Индикаторы компрометации
IPv4
- 43.157.148.168
- 43.157.151.131
- 43.157.158.108
- 43.157.174.200
- 43.173.100.171
- 43.173.104.156
- 43.173.105.83
CIDRs
- 43.157.128.0/18
- 43.173.64.0/18
Domains
- gwrpfjx.life
- usps.xupqnqz.one
- xupqnqz.one
- xupqrnn.one
SHA256
- 4fe8bec780537aa223406965415c1f85e83eec1f4e2181cf82e2a7b7516026e6
- 8e5546c83d764e1287b55cbe868a45344a6f0afa9782d798d03b2b7cfc53ec38