Содержание статьи
- Развитие угрозы за два года
- Смерть sideloading и PWA как основной вектор
- Волна атак Google Prism
- От кражи паролей к бэкдору в сети
- Почему алерты не срабатывают?
- Схема атаки от письма до полного контроля
- Анатомия манифеста
- Код вредоносного Service Worker
- Техники обхода многофакторной аутентификации (MFA)
- Перехват OTP через WebOTP API
- Adversary-in-the-middle (AitM) на базе PWA
- Практическая форензика и IoC (Indicators of Compromise)
- Ключевые индикаторы компрометации
- Как обнаружить угрозу
- Пишем детектор
- Модуль для Android на Kotlin (встраивание в корпоративный агент)
- Выводы
Два года назад, в 2024-м, мы рассматривали PWA и WebAPK как экзотический фишинговый вектор против клиентских приложений банков. К марту 2026-го угроза мутировала. В начале месяца исследователи зафиксировали массированную кампанию, маскирующуюся под проверку безопасности Google. Злоумышленники больше не крадут сами пароли. Они превращают браузер жертвы в прокси‑сервер, сканируют локальные сети, перехватывают одноразовые коды (OTP) через WebOTP API и получают полный доступ к геолокации и контактам.
В этой статье мы разберем анатомию современной атаки от первого письма до полного контроля над устройством, предоставим актуальные индикаторы компрометации (IoC), дадим пошаговые инструкции по удалению угрозы своими руками, а также предложим готовый код детектора и обновленные методы корпоративной защиты, которые работают в новой реальности.
Развитие угрозы за два года
В 2024 году, когда аналитики Eset впервые забили тревогу, PWA и WebAPK рассматривались как новый и многообещающий вектор фишинга. Тогда атаки были относительно прямолинейны: пользователя заманивали на сайт, где он устанавливал приложение, крадущее логин и пароль от банка. Главным козырем злоумышленников была возможность мимикрии под легитимные приложения и установка без предупреждений системы безопасности.
К марту 2026 года угроза совершила качественный скачок. Технология, которая когда‑то использовалась для кражи учетных данных, превратилась в многофункциональный инструмент шпионажа и проксификации, не имеющий аналогов по простоте распространения и мощи. В начале марта 2026 года исследователи Malwarebytes и BleepingComputer зафиксировали массированную кампанию, использующую фейковый сайт безопасности Google (google-prism.). Злоумышленники больше не ограничиваются банковскими приложениями. Они нацелены на криптокошельки, одноразовые пароли (OTP), геолокацию, контакты, а сам браузер жертвы превращают в прокси‑сервер для проведения атак на внутренние сети.
Смерть sideloading и PWA как основной вектор
За два года, которые прошли с первых крупных открытий Eset, ландшафт угроз изменился кардинально. Главный триггер — политика Google. С 2026 года в Google ввели обязательную верификацию разработчиков для всех APK, распространяемых за пределами Google Play. Неверифицированные приложения блокируются Google Play Protect. Это нанесло сокрушительный удар по традиционному распространению вредоносных приложений через сторонние сайты (сайдлоадинг).
Ответ злоумышленников был быстрым и элегантным: они полностью переключились на Progressive Web Apps (PWA). PWA — это не APK-файлы, они не распространяются через сторонние магазины и, следовательно, не подпадают под новые правила верификации Google. Это идеальный обходной путь, который легализует установку вредоносного «софта» с точки зрения политик безопасности Android.
Волна атак Google Prism
В центре внимания с начала года — фишинговая кампания, маскирующаяся под проверку безопасности Google. Ее ключевые характеристики:
- Домен‑приманка:
google-prism.(использует Cloudflare для маскировки).com - Вектор доставки: фишинговые письма, реклама в соцсетях, ссылки на взломанных сайтах.
- Жертвы: широкий круг пользователей, но с особым акцентом на владельцев криптокошельков.
- Механика: пользователя проводят через 4-этапную «проверку безопасности», в ходе которой его убеждают установить PWA, выдать разрешения (на уведомления, контакты, геолокацию) и в некоторых случаях установить «компаньон» APK.
- Цель: кража OTP, криптовалют, контактов, геолокации и превращение браузера жертвы в прокси.
От кражи паролей к бэкдору в сети
Атаки 2024 года были «глупыми»: они показывали форму входа и отправляли введенные данные злоумышленнику. Атаки 2026 года — это сложные бэкдоры. Вредоносное PWA-приложение 2026 года способно на следующее:
- Кража контактов из адресной книги через Contact Picker API — под предлогом «защиты вашего списка контактов».
- Точное отслеживание геолокации через Geolocation API: широта, долгота, высота, скорость, направление.
- Перехват буфера обмена через Clipboard API для кражи адресов криптокошельков и одноразовых кодов.
- Перехват 2FA/OTP (WebOTP API), то есть автоматический перехват одноразовых кодов из SMS прямо в браузере.
- Проксификация и сканирование сети (WebSocket, Fetch API). Это самая опасная функция. Браузер жертвы начинает выполнять роль HTTP-прокси, а атакующий может сканировать локальную сеть жертвы (порты, живые хосты) и отправлять запросы вовне, маскируясь под нее. Это позволяет атаковать внутренние корпоративные ресурсы, минуя файрволы.
- Закрепление (Service Workers, Push Notifications, Periodic Sync): PWA продолжает работать в фоне, получает команды через push-уведомления и периодически просыпается для синхронизации данных. Это обеспечивает доступ к устройству, даже когда пользователь неактивен.
Почему алерты не срабатывают?
Проблема 2024 года (установка без предупреждения) осталась, но к ней добавилась новая: легитимность действий. Атака 2026 года вместо эксплоитов использует социальную инженерию, чтобы заставить пользователя самостоятельно выдать все разрешения через стандартные системные диалоги браузера. Пользователь сам нажимает «Разрешить» на запрос геолокации и уведомлений, думая, что проходит проверку безопасности Google. Антивирус не принимает это за подозрительную активность.
Схема атаки от письма до полного контроля
Рассмотрим, как работает современная атака на примере кампании, зафиксированной в марте.
Шаг 1 — приманка и Landing Page. Жертва переходит на сайт google-prism. по ссылке из письма или рекламы. Сайт до мельчайших деталей имитирует официальную панель безопасности Google (используются шрифты, иконки, цветовая гамма Google) и призывает пройти «проверку аккаунта» в четыре шага для усиления защиты.
Шаг 2 — установка PWA. Первый шаг «проверки» — установка прогрессивного веб‑приложения. Пользователю показывают стандартный интерфейс браузера с кнопкой «Установить». После установки приложение открывается в полноэкранном режиме (display: ), скрывая адресную строку и создавая полную иллюзию нативного приложения.
Шаг 3 — выдача разрешений. Внутри установленного PWA пользователя просят предоставить разрешения:
- Уведомления: «для получения оповещений безопасности» — создает постоянный канал связи.
- Контакты: «для защиты ваших контактов от взлома» — кража данных.
- Геолокация: «для подтверждения входа с доверенного места» — слежка.
Все эти запросы реализованы как стандартное диалоговое окно браузера и выглядят легитимно.
Шаг 4 — кража данных (PWA Layer). Как только разрешения получены, PWA начинает свою работу:
- Считывает и отправляет на сервер злоумышленников контакты и GPS-координаты.
- Активирует мониторинг буфера обмена. Если пользователь копирует адрес кошелька или OTP-код, они мгновенно уходят атакующему.
- Включает WebSocket-ретранслятор. Сервер атакующего теперь может отправлять команды браузеру жертвы, заставляя его сканировать внутреннюю сеть или ходить на сайты от имени жертвы. Каждые 30 с приложение стучится на
/за новыми командами.api/ heartbeat
Шаг 5 (опционально) — установка APK-компаньона. В некоторых случаях жертве предлагается установить «критическое обновление безопасности» — APK-файл для Android. Если пользователь соглашается, он получает полноценного трояна, который запрашивает 33 разрешения, включая доступ к специальным возможностям (Accessibility), что дает злоумышленникам полный контроль над устройством.
Анатомия манифеста
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
