ИБ-эксперт, известный под ником mr.d0x, разработал новую технику атак, которая злоупотребляет приложениями Microsoft Edge WebView2 для кражи аутентификационных файлов cookie. Теоретически это позволяет обойти многофакторную аутентификацию при входе в украденные учетные записи.
Новая техника атак получила название WebView2-Cookie-Stealer и состоит из исполняемого файла WebView2, который при запуске открывает в приложении форму входа на легитимный сайт. Дело в том, что Microsoft Edge WebView2 позволяет встроить в нативные приложения браузер (с полной поддержкой HTML, CSS и JavaScript), используя Microsoft Edge (Chromium) для рендеринга. Используя эту технологию, приложения могут загружать любой сайт внутри самого приложения и отображать его так, будто он открыт в Microsoft Edge.
Однако исследователь обратил внимание, что WebView2 позволяет разработчику напрямую обращаться к файлам cookie и внедрять JavaScript на страницы, загружаемые приложением, а это делает его отличным инструментом для перехвата нажатий клавиш и кражи аутентификационных cookie.
Так, в PoC-эксплоите mr.d0x исполняемый файл открывает легитимную форму входа Microsoft с помощью встроенного элемента WebView2. Эта форма входа выглядит точно так же, как при использовании браузера и не содержит ничего подозрительного (опечатки, странные доменные имена и так далее).
Но поскольку приложение WebView2 может внедрять JavaScript на страницу, все данные, что вводит пользователь, автоматически отправляются на сервер злоумышленника. При этом похитить можно любые файлы cookie, отправленные удаленным сервером после входа пользователя в систему, включая и cookie для аутентификации.
Исследователь объясняет, для этого при первом запуске приложение создает папку Chromium User Data, а затем использует ее для каждой последующей установки. Затем вредоносное приложение использует встроенный интерфейс WebView2 ICoreWebView2CookieManager для экспорта файлов cookie, полученных при успешной аутентификации, и их последующей передачи на сервер, который контролирует злоумышленник.
Когда атакующий расшифрует cookie (base64), он получит полный доступ к аутентификационным cookie сайтов, а также возможность использовать их для входа в чужую учетную запись.
Также mr.d0x пишет, что приложения WebView2 можно использовать и для кражи файлов cookie из существующего профиля пользователя Chrome путем копирования.
«WebView2 можно использовать для кражи всех доступных файлов cookie текущего пользователя. Это было успешно протестировано в Chrome, — рассказывает специалист. — WebView2 позволяет осуществить запуск с существующей папкой User Data Folder (UDF), а не требует создать новую. UDF содержит все пароли, сеансы, закладки и так далее. UDF находится по адресу C:\Users\\AppData\Local\Google\Chrome\User Data».
В итоге злоумышленник может использовать эти cookie, просто перейдя к форме входа в систему для угнанной учетной записи, а затем импортировать cookie с помощью любого подходящего расширения для Chrome, например, EditThisCookie. После импорта cookie останется лишь обновить страницу для аутентификации на сайте.
Хуже того, такая атака позволяет обойти и многофакторную аутентификацию, так как файлы cookie воруются уже после того, как пользователь вошел в систему и успешно осуществил МФА.
«Допустим, злоумышленник настраивает Github.com/login в своем приложении webview2, и пользователь входит в систему, после чего файлы cookie могут быть извлечены и переданы на сервер злоумышленника. И вас не спасет использование Yubikey, потому что вы авторизуетесь на НАСТОЯЩЕМ сайте, а не на фишинговом», — объясняет mr.d0x.
В ответ разработчики Microsoft отмечают, что такая атака потребует подготовки и использования социальной инженерии, ведь сначала нужно убедить пользователя загрузить и запустить вредоносный исполняемый файл. В компании отметили, что всегда рекомендуют пользователям избегать запуска и установки приложений из неизвестных или ненадежных источников, а также поддерживать Microsoft Defender или другое защитное ПО в актуальном состоянии.