Атака с помощью приложений WebView2

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Изучаем приложения WebView2 и то, как их можно использовать для кражи учетных данных и файлов cookie.

Введение​

Согласно Microsoft, “Microsoft Edge WebView2 control позволяет вам внедрять веб-технологии (HTML, CSS и JavaScript) в ваши собственные приложения”. По сути, технология WebView2 может быть использована для создания исполняемого файла, который может взаимодействовать с веб-приложениями аналогично браузеру. Это предназначено для улучшения настольных приложений и предоставления им дополнительных возможностей для взаимодействия с веб-приложениями. Изображение ниже является примером использования WebView2 в законном приложении Microsoft Office.

d7e79a6022194d166de0e.png


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

Внедрение JavaScript​

Используя встроенную функцию WebView2, JavaScript можно легко внедрить на любой веб-сайт. Это означает, что вы можете загрузить целевой веб-сайт и внедрить вредоносный JavaScript (например, кейлоггер).

Пример кейлоггера JavaScript​

В приведенном ниже примере я использую созданное на заказ приложение WebView2, которое загружается login.microsoftonline.com с помощью встроенного кейлоггера JavaScript.
1724063231916.png



На изображении ниже показан кейлоггер, успешно считывающий нажатия клавиш.

c0f612177cd132889cbdb.png


Обход 2FA​

WebView2 также предоставляет встроенную функциональность для извлечения файлов cookie. Это позволяет злоумышленнику извлекать файлы cookie после аутентификации пользователя на законном веб-сайте. Этот метод устраняет необходимость в запуске Evilginx2 или модлишки, но очевидный компромисс заключается в том, что пользователь должен выполнить двоичный файл и аутентифицироваться.

Кража файлов cookie Chrome​

WebView2 можно использовать для кражи всех доступных файлов cookie текущего пользователя. Это было успешно протестировано в Chrome.

WebView2 позволяет запускать с существующей папкой пользовательских данных (UDF), а не создавать новую. UDF содержит все пароли, сеансы, закладки и т.д. UDF Chrome находится по адресу C:\Users\<username>\AppData\Local\Google\Chrome\User Data. Мы можем просто указать WebView2 запустить инстанс с использованием этого профиля, а при запуске извлечь все файлы cookie и передать их на сервер злоумышленника.

Небольшая загвоздка​

Единственная загвоздка в том, что WebView2 ищет папку с именем EBWebView вместо User Data (не уверен, почему). Создайте копию User Data папки и переименуйте ее в EBWebView.

7ecdd8589124fdaf05eda.png


Извлечение всех файлов cookie​

На изображении ниже показано, как я смог загрузить свой Chrome UDF и извлечь все файлы cookie. Эта функциональность не реализована в коде, загруженном в мое репозиторий на GitHub, но ее легко реализовать, и GitHub README объясняет, что необходимо изменить, чтобы заставить эту функциональность работать.

6258ebca9203694b6a43e.png


Демонстрация приложения​

Я загрузил код для приложения O365 WebView2, которое загружается www.office.com/login при выполнении и после успешной аутентификации пользователя файлы cookie в кодировке base64 www.office.com отправляются злоумышленнику через HTTP GET-запрос.

Запустите демонстрационную версию​

В приведенной ниже демонстрации показано выполнение двоичного файла WebView2.

7b7caf32effe34ebfb7c3.gif


Демонстрация использования​

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

Скачать
View hidden content is available for registered users!

View hidden content is available for registered users!

 
Сверху Снизу