Есть такой про­фес­сиональ­ный реф­лекс у людей, которые дол­го работа­ют в безопас­ности: ког­да тебе говорят «уста­нови при­ложе­ние по ссыл­ке», внут­ри что‑то сжи­мает­ся. Годы работы с инци­ден­тами выраба­тыва­ют здо­ровую паранойю. Но сегод­ня этот реф­лекс перес­тал работать. Потому что теперь «уста­нови по ссыл­ке» выг­лядит точ­но так же, как «открой сайт» и «под­твер­ди дей­ствие в бра­узе­ре».

Два года назад, в 2024-м, мы рас­смат­ривали PWA и WebAPK как экзо­тичес­кий фишин­говый век­тор про­тив кли­ент­ских при­ложе­ний бан­ков. К мар­ту 2026-го угро­за мутиро­вала. В начале месяца иссле­дова­тели зафик­сирова­ли мас­сирован­ную кам­панию, мас­киру­ющуюся под про­вер­ку безопас­ности Google. Зло­умыш­ленни­ки боль­ше не кра­дут сами пароли. Они прев­раща­ют бра­узер жер­твы в прок­си‑сер­вер, ска­ниру­ют локаль­ные сети, пе­рех­ватыва­ют одно­разо­вые коды (OTP) через WebOTP API и по­луча­ют пол­ный дос­туп к геоло­кации и кон­тактам.

В этой статье мы раз­берем ана­томию сов­ремен­ной ата­ки от пер­вого пись­ма до пол­ного кон­тро­ля над устрой­ством, пре­дос­тавим акту­аль­ные инди­като­ры ком­про­мета­ции (IoC), дадим пошаго­вые инс­трук­ции по уда­лению угро­зы сво­ими руками, а так­же пред­ложим готовый код детек­тора и обновлен­ные методы кор­поратив­ной защиты, которые работа­ют в новой реаль­нос­ти.

 

Развитие угрозы за два года

В 2024 году, ког­да ана­лити­ки Eset впер­вые забили тре­вогу, PWA и WebAPK рас­смат­ривались как новый и мно­гообе­щающий век­тор фишин­га. Тог­да ата­ки были отно­ситель­но пря­моли­ней­ны: поль­зовате­ля замани­вали на сайт, где он уста­нав­ливал при­ложе­ние, кра­дущее логин и пароль от бан­ка. Глав­ным козырем зло­умыш­ленни­ков была воз­можность мимик­рии под легитим­ные при­ложе­ния и уста­нов­ка без пре­дуп­режде­ний сис­темы безопас­ности.

К мар­ту 2026 года угро­за совер­шила качес­твен­ный ска­чок. Тех­нология, которая ког­да‑то исполь­зовалась для кра­жи учет­ных дан­ных, прев­ратилась в мно­гофун­кци­ональ­ный инс­тру­мент шпи­она­жа и прок­сифика­ции, не име­ющий ана­логов по прос­тоте рас­простра­нения и мощи. В начале мар­та 2026 года иссле­дова­тели Malwarebytes и BleepingComputer зафик­сирова­ли мас­сирован­ную кам­панию, исполь­зующую фей­ковый сайт безопас­ности Google (google-prism.com). Зло­умыш­ленни­ки боль­ше не огра­ничи­вают­ся бан­ков­ски­ми при­ложе­ниями. Они нацеле­ны на крип­токошель­ки, одно­разо­вые пароли (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.com (исполь­зует Cloudflare для мас­киров­ки).
  • Век­тор дос­тавки: фишин­говые пись­ма, рек­лама в соц­сетях, ссыл­ки на взло­ман­ных сай­тах.
  • Жер­твы: широкий круг поль­зовате­лей, но с осо­бым акцентом на вла­дель­цев крип­токошель­ков.
  • Ме­хани­ка: поль­зовате­ля про­водят через 4-этап­ную «про­вер­ку безопас­ности», в ходе которой его убеж­дают уста­новить PWA, выдать раз­решения (на уве­дом­ления, кон­такты, геоло­кацию) и в некото­рых слу­чаях уста­новить «ком­пань­он» APK.
  • Цель: кра­жа OTP, крип­товалют, кон­тактов, геоло­кации и прев­ращение бра­узе­ра жер­твы в прок­си.
 

От кражи паролей к бэкдору в сети

Ата­ки 2024 года были «глу­пыми»: они показы­вали фор­му вхо­да и отправ­ляли вве­ден­ные дан­ные зло­умыш­ленни­ку. Ата­ки 2026 года — это слож­ные бэк­доры. Вре­донос­ное PWA-при­ложе­ние 2026 года спо­соб­но на сле­дующее:

  1. Кра­жа кон­тактов из адресной кни­ги через Contact Picker API — под пред­логом «защиты вашего спис­ка кон­тактов».
  2. Точ­ное отсле­жива­ние геоло­кации через Geolocation API: широта, дол­гота, высота, ско­рость, нап­равле­ние.
  3. Перех­ват буфера обме­на через Clipboard API для кра­жи адре­сов крип­токошель­ков и одно­разо­вых кодов.
  4. Пе­рех­ват 2FA/OTP (WebOTP API), то есть авто­мати­чес­кий перех­ват одно­разо­вых кодов из SMS пря­мо в бра­узе­ре.
  5. Прок­сифика­ция и ска­ниро­вание сети (WebSocket, Fetch API). Это самая опас­ная фун­кция. Бра­узер жер­твы начина­ет выпол­нять роль HTTP-прок­си, а ата­кующий может ска­ниро­вать локаль­ную сеть жер­твы (пор­ты, живые хос­ты) и отправ­лять зап­росы вов­не, мас­киру­ясь под нее. Это поз­воля­ет ата­ковать внут­ренние кор­поратив­ные ресур­сы, минуя фай­рво­лы.
  6. Зак­репле­ние (Service Workers, Push Notifications, Periodic Sync): PWA про­дол­жает работать в фоне, получа­ет коман­ды через push-уве­дом­ления и пери­оди­чес­ки про­сыпа­ется для син­хро­низа­ции дан­ных. Это обес­печива­ет дос­туп к устрой­ству, даже ког­да поль­зователь неак­тивен.
 

Почему алерты не срабатывают?

Проб­лема 2024 года (уста­нов­ка без пре­дуп­режде­ния) оста­лась, но к ней добави­лась новая: легитим­ность дей­ствий. Ата­ка 2026 года вмес­то экс­пло­итов исполь­зует соци­аль­ную инже­нерию, что­бы зас­тавить поль­зовате­ля самос­тоятель­но выдать все раз­решения через стан­дар­тные сис­темные диало­ги бра­узе­ра. Поль­зователь сам нажима­ет «Раз­решить» на зап­рос геоло­кации и уве­дом­лений, думая, что про­ходит про­вер­ку безопас­ности Google. Анти­вирус не при­нима­ет это за подоз­ритель­ную активность.

 

Схема атаки от письма до полного контроля

Рас­смот­рим, как работа­ет сов­ремен­ная ата­ка на при­мере кам­пании, зафик­сирован­ной в мар­те.

Шаг 1 — при­ман­ка и Landing Page. Жер­тва перехо­дит на сайт google-prism.com по ссыл­ке из пись­ма или рек­ламы. Сайт до мель­чайших деталей ими­тиру­ет офи­циаль­ную панель безопас­ности Google (исполь­зуют­ся шриф­ты, икон­ки, цве­товая гам­ма Google) и при­зыва­ет прой­ти «про­вер­ку акка­унта» в четыре шага для уси­ления защиты.

Шаг 2 — уста­нов­ка PWA. Пер­вый шаг «про­вер­ки» — уста­нов­ка прог­рессив­ного веб‑при­ложе­ния. Поль­зовате­лю показы­вают стан­дар­тный интерфейс бра­узе­ра с кноп­кой «Уста­новить». Пос­ле уста­нов­ки при­ложе­ние откры­вает­ся в пол­ноэк­ранном режиме (display: "fullscreen"), скры­вая адресную стро­ку и соз­давая пол­ную иллю­зию натив­ного при­ложе­ния.

Шаг 3 — выдача раз­решений. Внут­ри уста­нов­ленно­го PWA поль­зовате­ля про­сят пре­дос­тавить раз­решения:

  • Уве­дом­ления: «для получе­ния опо­веще­ний безопас­ности» — соз­дает пос­тоян­ный канал свя­зи.
  • Кон­такты: «для защиты ваших кон­тактов от взло­ма» — кра­жа дан­ных.
  • Ге­оло­кация: «для под­твержде­ния вхо­да с доверен­ного мес­та» — слеж­ка.

Все эти зап­росы реали­зова­ны как стан­дар­тное диало­говое окно бра­узе­ра и выг­лядят легитим­но.

Шаг 4 — кра­жа дан­ных (PWA Layer). Как толь­ко раз­решения получе­ны, PWA начина­ет свою работу:

  • Счи­тыва­ет и отправ­ляет на сер­вер зло­умыш­ленни­ков кон­такты и GPS-коор­динаты.
  • Акти­виру­ет монито­ринг буфера обме­на. Если поль­зователь копиру­ет адрес кошель­ка или OTP-код, они мгно­вен­но ухо­дят ата­кующе­му.
  • Вклю­чает WebSocket-рет­ран­сля­тор. Сер­вер ата­кующе­го теперь может отправ­лять коман­ды бра­узе­ру жер­твы, зас­тавляя его ска­ниро­вать внут­реннюю сеть или ходить на сай­ты от име­ни жер­твы. Каж­дые 30 с при­ложе­ние сту­чит­ся на /api/heartbeat за новыми коман­дами.

Шаг 5 (опци­ональ­но) — уста­нов­ка APK-ком­пань­она. В некото­рых слу­чаях жер­тве пред­лага­ется уста­новить «кри­тичес­кое обновле­ние безопас­ности» — APK-файл для Android. Если поль­зователь сог­лаша­ется, он получа­ет пол­ноцен­ного тро­яна, который зап­рашива­ет 33 раз­решения, вклю­чая дос­туп к спе­циаль­ным воз­можнос­тям (Accessibility), что дает зло­умыш­ленни­кам пол­ный кон­троль над устрой­ством.

 

Анатомия манифеста

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии