Будьте осторожны с тем, что вы ищете – Фишинг в PWA-приложениях

Man

Professional
Messages
2,965
Reaction score
488
Points
83
Аналитики ESET анализируют новый метод фишинга, адаптированный для пользователей Android и iOS.

В этой статье мы обсудим необычный тип фишинговой кампании, нацеленной на мобильных пользователей, и проанализируем случай, который мы наблюдали в дикой природе и который был нацелен на клиентов известного чешского банка. Этот метод примечателен тем, что он устанавливает фишинговое приложение со стороннего веб-сайта без необходимости разрешать пользователю установку сторонних приложений. Для пользователей iOS такое действие может разрушить любые представления о безопасности в «огороженном саду». На Android это может привести к тихой установке специального вида APK, который при дальнейшем рассмотрении даже кажется установленным из магазина Google Play.

Фишинговые сайты, нацеленные на iOS, инструктируют жертв добавить прогрессивное веб-приложение (PWA) на свои домашние экраны, в то время как на Android PWA устанавливается после подтверждения пользовательских всплывающих окон в браузере. На данный момент в обеих операционных системах эти фишинговые приложения в значительной степени неотличимы от реальных банковских приложений, которые они имитируют. PWA — это, по сути, веб-сайты, объединенные в то, что ощущается как отдельное приложение, причем это ощущение усиливается использованием встроенных системных подсказок. PWA, как и веб-сайты, являются кроссплатформенными, что объясняет, как эти фишинговые кампании PWA могут быть нацелены как на пользователей iOS, так и на Android.

Этот метод был впервые раскрыт CSIRT KNF в Польше в июле 2023 года, а в ноябре 2023 года был замечен в Чехии аналитиками ESET, работающими над сервисом Brand Intelligence. Мы также наблюдали два случая мобильных кампаний против банков за пределами Чехии: один случай был нацелен на венгерский OTP Bank, а другой — на грузинский банк.

Ключевые тезисы блогпоста:
  • Стандартные методы доставки фишинга были объединены с новым методом фишинга; таргетинг на пользователей Android и iOS через PWA, а на Android также WebAPK.
  • Коварно, но установка приложения PWA/WebAPK не предупреждает жертву об установке стороннего приложения.
  • На Android эти фишинговые WebAPK-файлы, похоже, были установлены из магазина Google Play.
  • Большинство наблюдаемых приложений были нацелены на клиентов чешских банков, но мы также наблюдали одно фишинговое приложение, нацеленное на венгерский банк, и другое, нацеленное на грузинский банк.
  • Основываясь на используемых командных серверах и серверной инфраструктуре, мы пришли к выводу, что кампаниями управляли два разных злоумышленника.
  • Благодаря обнаружению панелей операторов на разных доменах, мы смогли уведомить банки жертв с целью их защиты.

Обзор​

Аналитики ESET обнаружили серию фишинговых кампаний, нацеленных на мобильных пользователей, в которых использовались три различных механизма доставки URL-адресов (см. рис. 1). Эти механизмы включают в себя автоматические голосовые звонки, SMS-сообщения и вредоносную рекламу в социальных сетях.

Доставка голосового вызова осуществляется с помощью автоматического вызова, который предупреждает пользователя об устаревшем банковском приложении и просит пользователя выбрать вариант на цифровой клавиатуре. После нажатия нужной кнопки в SMS-сообщении отправляется фишинговый URL-адрес. Об этом сообщил в Твиттере Михал Блаха.

Первоначальная доставка по SMS осуществлялась путем беспорядочной отправки сообщений на чешские телефонные номера. Отправленное сообщение содержало фишинговую ссылку и текст для социальной инженерии жертв перехода по ссылке.

Распространение вредоносной рекламы осуществлялось путем регистрации рекламы на платформах Meta, таких как Instagram и Facebook. Эти объявления содержали призыв к действию, например ограниченное предложение для пользователей, которые «скачают обновление ниже». Эта техника позволяет злоумышленникам указывать целевую аудиторию по возрасту, полу и т. д. Затем реклама появлялась в ленте социальных сетей жертвы.

После открытия URL-адреса, доставленного на первом этапе, жертвам Android предоставляется высококачественная фишинговая страница, имитирующая официальную страницу магазина Google Play для целевого банковского приложения или веб-сайт-подражатель для приложения. Это были две разные кампании. Не исключено, что кампания, использующая визуальные эффекты Google Play, будет модифицироваться в зависимости от полученного User-Agent, чтобы имитировать визуальные эффекты Apple Store. В анализируемых случаях мы не наблюдали данной методики.

figure-1-pwa-flow-diagram.png

Рисунок 1. Поток фишинга PWA

Отсюда жертвам предлагается установить «новую версию» банковского приложения; пример этого можно увидеть на рисунке 2. В зависимости от кампании, нажатие на кнопку установки/обновления запускает установку вредоносного приложения с веб-сайта непосредственно на телефон жертвы либо в виде WebAPK (только для пользователей Android), либо в виде PWA для пользователей iOS и Android (если кампания не основана на WebAPK). Этот важный шаг установки обходит традиционные предупреждения браузера об «установке неизвестных приложений»: это поведение по умолчанию технологии WebAPK от Chrome, которой злоумышленники злоупотребляют.

figure-2-example-copycat-installation-page.png

Рисунок 2. Пример страницы установки copycat

Для пользователей iOS этот процесс немного отличается, так как анимированное всплывающее окно инструктирует жертву о том, как добавить фишинговое PWA на свой домашний экран (см. рис. 3). Всплывающее окно копирует внешний вид родных подсказок iOS. В конце концов, даже пользователей iOS не предупреждают о добавлении потенциально опасного приложения на свой телефон.

figure-3-ios-popup-instructions.png

Рисунок 3 Всплывающие инструкции для iOS после нажатия кнопки «Установить»

После установки жертвам предлагается ввести свои учетные данные интернет-банкинга, чтобы получить доступ к своей учетной записи через новое мобильное банковское приложение. Вся предоставленная информация отправляется на командные серверы злоумышленников.

Хронология​

Первый случай фишинга через PWA мы обнаружили в начале ноября 2023 года, а переход на WebAPK — в середине ноября 2023 года. Командные серверы, получавшие информацию от фишинговых приложений, были впервые обнаружены в марте 2024 года (как видно на рисунке 4), данные в них подтверждают, что они, вероятно, не работали ранее.

figure-4-timeline.png

Рисунок 4. Хронология фишинговой кампании PWA и WebAPK

Единственное исключение — криптомейкер[.] info, который мы обнаружили в мае 2024 года, но включал активность в рамках кампании против грузинского банка в феврале 2024 года.

Технический анализ​

В этом разделе мы сосредоточимся на анализе кампании против известного чешского банка, использующей технологию WebAPK. Мы также кратко объясним технологию, лежащую в основе прогрессивных веб-приложений (PWA) и WebAPK.

Приложения PWA и WebAPK​

PWA​

Фишинговая кампания и метод, о которых идет речь в этом посте, возможны только благодаря технологии прогрессивных веб-приложений (PWA). Короче говоря, PWA — это приложения, созданные с использованием традиционных технологий веб-приложений, которые могут работать на нескольких платформах и устройствах. Эти приложения затем устанавливаются на мобильный телефон пользователя после того, как автоматически отображается всплывающее окно с запросом на установку, или пользователь вручную выбирает параметр «Установить приложение» в меню поддерживаемого браузера. Решающим шагом здесь является установка, которая позволяет без проблем использовать приложения в отдельном окне и дает возможность запускать их из строки меню или главного экрана. После установки PWA на главном экране различаются по логотипу браузера пользователя, наложенному на иконку PWA (рис. 5).

figure-5-installed-phishing-pwa-left-and-real-banking-app-right.png

Рисунок 5. Установлено фишинговое PWA (слева) и приложение для реального банкинга (справа)

PWA также имеют преимущество в виде единой кодовой базы на нескольких платформах, которые теперь также могут использовать современные API браузера и даже нативный код благодаря WebAssembly. Прогрессивные веб-приложения также могут использоваться в автономном режиме благодаря сервис-воркерам (см. рис. 6). Эти рабочие процессы действуют как своего рода прокси-система, извлекая данные из локального кэша, если подключение к Интернету недоступно.

figure-6-simplified-how-pwas-work.png
Рисунок 6. Упрощенная схема работы PWA

Все поведение приложения определяется в одном файле, называемом манифестом. Это стандартизированный файл, который определяет логотип, имя, область действия веб-приложения, источники и скрипт сервис-воркера приложения, а также тип лаунчера. В этом случае злоумышленник может определить приложение как автономное, в результате чего PWA будет вести себя как обычное мобильное приложение.

PWA также могут быть назначены обработчиками по умолчанию для определенных форматов файлов, но только в качестве экспериментальной функции, которая не поддерживается в мобильных браузерах. Это может привести к тому, что злоумышленники будут писать вредоносные приложения, которые регистрируются в качестве обработчика по умолчанию, например, для всех .docx документов, и таким образом может быть создано простое, но мощное приложение для шпионажа. Однако даже без этой функции доступ к API браузера дает PWA право запрашивать доступ к микрофону, геолокации, камере и всем другим поддерживаемым функциям браузера, а это означает, что шпионское PWA может оказаться на радаре.

WebAPK​

WebAPK можно считать обновленной версией прогрессивных веб-приложений, поскольку браузер Chrome генерирует нативное приложение Android из PWA: другими словами, APK. Эти WebAPK выглядят как обычные нативные приложения, так как на их иконках отсутствует логотип браузера (см. рис. 7). В фишинговой схеме PWA/WebAPK это используется для того, чтобы обмануть пользователей, заставив их поверить, что установленное фишинговое приложение является их законным банковским приложением. Создание WebAPK в настоящее время поддерживается только Google Chrome.

figure-7-comparison-between-an-installed-phishing-webapk-left-and-real-banking-app-right.png

Рисунок 7. Сравнение установленного фишингового WebAPK (слева) и реального банковского приложения (справа)

Более того, установка WebAPK не выдает никаких предупреждений о «установке из ненадежного источника», как в примере на рисунке 8, которые пользователи обычно учат искать. Приложение будет установлено даже в том случае, если установка из сторонних источников запрещена.

figure-8-browser-warning.png

Рисунок 8. Браузер предупреждает пользователей об установке из ненадежного источника — не отображается для WebAPK-файлов

Фишинговый поток​

Как упоминалось в нашем обзоре отслеживаемых кампаний, использовалось несколько типов механизмов доставки. В случае с фишинговой кампанией против известного чешского банка вся цепочка началась с фишинговой ссылки, распространяемой в виде нескольких вредоносных объявлений в Facebook (см. рис. 9). Эти объявления регистрировались в большом количестве, часто по пять или шесть за раз, причем каждая регистрация проходила в отдельное время. Злоумышленник использовал специально созданные учетные записи Meta и, возможно, скомпрометированные учетные записи.

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

figure-9-malvertising-captioned.png

Рисунок 9. Пример вредоносной рекламы, используемой в этих кампаниях

В данном примере ограниченное по времени предложение финансового вознаграждения использовалось для того, чтобы побудить жертв перейти по вредоносной ссылке. После перехода по ссылке пользователям предлагалась убедительная, хотя и поддельная, страница в Google Play (рис. 10). Это сайт, с которого загружается фишинговый WebAPK.

figure-10-phishing-landing-page.png

Рисунок 10. Фишинговый лендинг, имитирующий Google Play

Сайт проверяет использование мобильного клиента через HTTP-заголовок User-Agent. Если жертва действительно использует мобильное устройство, кнопка «Установить» предлагает жертве установить через всплывающее окно. Если заголовок User-Agent предназначен для настольного компьютера, кнопка установки ничего не делает. Подсказка также имитирует анимацию Google Play, что еще больше повышает правдоподобность этой кампании (Рисунок 11).

figure-11-installation.png

Рисунок 11. Приглашение на установку (слева) и анимированное приглашение на установку на фишинговой странице (справа)

Продемонстрированная кампания явно нацелена на пользователей Android, благодаря визуальному оформлению и анимации в Google Play. Другие кампании (которые мы наблюдали и о которых сообщалось публично) были нацелены на пользователей систем iOS (рис. 12) и Android. Эти сайты использовали визуал известного приложения на посадочной странице и предлагали жертвам установку новой версии. Пользователи Android были вынуждены установить WebAPK, а пользователи iOS — PWA.

figure-12-ios-installation-michal-blaha.png

Рисунок 12. Пример установки iOS

После установки фишинговый PWA/WebAPK добавляется на главный экран пользователя, и его открытие ведет на фишинговую страницу входа прямо в приложение (Рисунок 13).

figure-13-webapk-icon-left-and-the-in-app-phishing-login-page-right.png

Рисунок 13. Значок WebAPK (слева) и страница входа в приложение с фишингом (справа)

В дополнение ко всем ранее упомянутым препятствиям для обычного пользователя, на вкладке информации о приложении также указано, что приложение было загружено из магазина Google Play, что является поведением по умолчанию (рис. 14). Это относится ко всем приложениям WebAPK.

figure-14-webapk-infomenu.png

Рисунок 14. Информационное меню WebAPK – обратите внимание на раздел «Информация о приложении в магазине» внизу

О фишинговом приложении и фишинговом URL-адресе, о которых шла речь в этом посте, было сообщено в ČSOB. Фишинговые приложения никогда не были доступны в магазине Google Play.

Инфраструктура C&C​

Основываясь на том факте, что в кампаниях использовались две разные инфраструктуры C&C, мы определили, что две отдельные группы проводили фишинговые кампании PWA/WebAPK против чешских и других банков.

Одна группа использовала Telegram-бота для записи всей введенной информации в групповой чат Telegram через официальный Telegram API, а другая использовала традиционный C&C-сервер с административной панелью. Вторая группа отвечает за кампанию, описанную в нашем блоге о вредоносном ПО NGate для Android.

Телеграм-боты​

Вся украденная информация для входа в систему регистрировалась через внутренний сервер, который затем отправлял введенные пользователем банковские данные для входа в групповой чат Telegram. HTTP-звонки для отправки сообщений в групповой чат злоумышленника осуществлялись через официальный Telegram API. Это не новая методика и используется в различных фишинговых наборах.

После загрузки фишинговой страницы PWA в верхней части экрана отображается трассировка стека (см. рис. 15). Трассировка стека включает в себя информацию об используемом Telegram API и токене бота и была видна даже на экране входа в систему.

figure-15-telegram-info-leak.png

Рисунок 15. Утечка информации из Telegram на экране входа в систему

Исходя из этого, мы определили, что злоумышленник вошел в групповой чат Telegram. Мы сообщали всю конфиденциальную информацию о скомпрометированных клиентах банков в соответствующие банки.

Управляющие серверы​

Во время анализа одного из установленных PWA мы заметили, что введенные данные жертвы были отправлены на другой бэкенд-сервер. После осмотра командного сервера, с которым мы связались, мы обнаружили панель оператора (рис. 16), которая содержала конфиденциальную информацию о жертвах, активные в настоящее время фишинговые URL-адреса и полную историю посещений жертв.

figure-16-cc-administration-panel.png

Рисунок 16. Административная панель C&C

Злоумышленники не остались на месте, и после того, как первый домен C&C был деактивирован (hide-me[.] online) они продолжили создавать новые домены и даже подготовили совершенно новую вредоносную кампанию, действующую с той же панели. Вторая кампания анализируется в нашем исследовании вредоносного ПО NGate для Android.

Благодаря информации, полученной с панели, мы смогли связаться с пострадавшими банками и защитить пострадавших клиентов.

Заключение​

Мы определили новый метод фишинга, сочетающий в себе хорошо зарекомендовавшие себя методы социальной инженерии и кроссплатформенную технологию PWA-приложений. Также были обнаружены случаи, нацеленные на пользователей Android, в частности, через страницу-подражатель страницы целевого приложения в магазине Google Play и с использованием технологии WebAPK.

Большинство известных случаев произошло на территории Чехии, и только два фишинговых приложения появились за пределами этого региона (в Венгрии и Грузии).

Поскольку использовались две совершенно разные инфраструктуры C&C, мы определили, что за распространение фишинговых приложений отвечают две разные группы.

Мы ожидаем создания и распространения новых приложений-подражателей, так как после установки сложно отделить легитимные приложения от фишинговых.

Вся конфиденциальная информация, обнаруженная в ходе нашего исследования, была оперативно отправлена в пострадавшие банки для обработки. Мы также вели переговоры об удалении нескольких фишинговых доменов и командных серверов.

Индикаторы компрометации​

Файлы​

ША-1Имя файлаОбнаружениеОписание
D3D5AE6B8AE9C7C1F869
0452760745E18640150D
base.apkAndroid/Spy.Banker.CICМобильное фишинговое приложение для Android
66F97405A1538A74CEE4
209E59A1E22192BC6C08
base.apkAndroid/Spy.Banker.CLWМобильное фишинговое приложение для Android

Сеть​

Протокол IPДоменХостинг-провайдерВпервые замеченоПодробности
46.175.145[.] 67Спрячь меня[.] ОнлайнCloudflare, Inc.2024‑03‑05Управляющий сервер.
185.181.165[.] 124Cyrptomaker[.] информацияООО «НЕТХ»2024‑02‑21Управляющий сервер.
172.67.182[.] 151BlackRockApp[.] Европейский СоюзCloudflare, Inc.2024‑04‑07Управляющий сервер.
185.68.16[.] 56csas.georgecz[.] ОнлайнХостинг Украина ЛТД2023-11-29Распределительный сервер.
188.114.96[.] 9play-protect[.] профессионалCloudflare, Inc.2024-01-18Распределительный сервер.

Техники MITRE ATT&CK​

Эта таблица была создана с использованием версии 15 фреймворка MITRE ATT&CK.
ТактикаИДЕНТИФИКАТОРИмяОписание
Первоначальный доступТ1660ФишингПриложения сначала распространяются с помощью вредоносной рекламы или массового фишинга. После установки приложение само используется для фишинга.
Доступ к учетным даннымТ1417.002Захват ввода: Захват ввода с помощью графического интерфейса пользователяУчетные данные собираются путем выдачи себя за страницы входа в целевые банки.
Командование и управлениеТ1437.001Протокол прикладного уровня: веб-протоколыФишинговые приложения PWA/WebAPK отправляют данные для входа через JavaScript-интерфейсы, а также данные отслеживания.

Источник
 
Top