<返回更多

使用 WebView2 应用程序进行攻击

2022-11-07  今日头条  区块软件开发
加入收藏

探索 WebView2 应用程序以及如何将它们用于凭据和 Cookie 盗窃。

介绍

根据微软的说法,“Microsoft Edge WebView2控件允许您将Web技术(htmlcssJAVAScript)嵌入到本机应用程序中”。从本质上讲,WebView2 技术可用于创建可执行文件,该可执行文件可以像浏览器一样与 Web 应用程序进行通信。这是为了改进桌面应用程序,并为它们提供与 Web 应用程序交互的附加功能。下图是在合法的 Microsoft office 应用程序中使用的 WebView2 的示例。

使用 WebView2 应用程序进行攻击

攻击者使用 WebView2 的主要优点是它在网络钓鱼凭据和会话时提供的丰富功能。在这篇文章中,我将讨论并展示攻击者如何创建 WebView2 应用程序并将其用于多种目的。我的代码使用Microsoft 的 WebView2 示例存储库的修改版本。这项研究既困难又耗时,因为我必须阅读大量文档并进行大量调试才能了解 WebView2 的内部工作原理。

注入 JavaScript

使用内置的WebView2函数,JavaScript可以很容易地注入到任何网站中。这意味着您可以加载目标网站并注入恶意JavaScript(例如键盘记录器)。

JavaScript 键盘记录器示例

在下面的示例中,我使用了一个定制的 WebView2 应用程序,该应用程序加载了一个注入的 JavaScript 键盘记录器。login.microsoftonline.com

使用 WebView2 应用程序进行攻击

下图显示了键盘记录器成功获取击键。

使用 WebView2 应用程序进行攻击

绕过 2FA

WebView2 还提供了提取 Cookie 的内置功能。这允许攻击者在用户对合法网站进行身份验证后提取 Cookie。这种技术消除了必须启动Evilginx2或Modlishka的需要,但明显的权衡是用户必须执行二进制文件并进行身份验证。

泄露饼干示例

下图显示了在用户遍历后如何以 base64 格式提取 Cookie。https://mrd0x.com

使用 WebView2 应用程序进行攻击

解码 base64 blob 后,会显示 cookie。

使用 WebView2 应用程序进行攻击

窃取铬饼干

WebView2 可用于窃取当前用户的所有可用 Cookie。这已在Chrome上成功测试。

WebView2 允许您使用现有的用户数据文件夹 (UDF) 启动,而不是创建一个新的文件夹。UDF 包含所有密码、会话、书签等。Chrome的UDF位于。我们可以简单地告诉 WebView2 使用此配置文件启动实例,并在启动时提取所有 cookie 并将它们传输到攻击者的服务器。C:Users\AppDataLocalgoogleChromeUser Data

小渔获

唯一的问题是 WebView2 会查找一个名为 而不是(不确定为什么)的文件夹。创建文件夹的副本并将其重命名为。EBWebViewUser DataUser DataEBWebView

使用 WebView2 应用程序进行攻击

提取所有饼干

下图显示了我如何加载我的 Chrome UDF 并提取所有 cookie。此功能未在上传到我的 GitHub 存储库的代码中实现,但实现起来很简单,GitHub 自述文件解释了需要修改哪些内容才能使此功能正常工作。

使用 WebView2 应用程序进行攻击

应用演示

我上传了一个 O365 WebView2 应用程序的代码,该应用程序加载执行并在用户成功进行身份验证后,base64 编码的 cookie 通过 HTTP GET 请求发送给攻击者。www.office.com/loginwww.office.com

启动演示

下面的演示显示了 WebView2 二进制文件的执行。

使用 WebView2 应用程序进行攻击

使用演示

下面的演示显示了用户如何与应用程序交互,以及攻击者如何使用被盗的 cookie 登录。

使用 WebView2 应用程序进行攻击

Github Repo

代码已上传到我的Github。您可以在将来的活动中随意使用它或根据需要对其进行修改。自述文件解释了所有内容,以防您想针对其他用例对其进行修改。

结语

这种技术有其优点和缺点。明确的权衡是必须在主机上执行二进制文件,并且用户必须在应用程序中输入凭据。有人可能会问,如果需要执行应用程序,为什么不简单地执行shellcode并获得远程访问呢?当然可以。但根据某人的需求,他们可能需要远程访问之外的东西,例如在目标网站上执行JavaScript。

您可以将该功能扩展到现有的 WebView2 应用程序,以便获得远程访问。但目前二进制文件仅利用微软提供的合法功能。这可能会使安全解决方案更难标记。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>