探索 WebView2 应用程序以及如何将它们用于凭据和 Cookie 盗窃。 介绍根据微软的说法,“Microsoft Edge WebView2控件允许您将Web技术(HTML,CSS和JavaScript)嵌入到本机应用程序中”。从本质上讲,WebView2 技术可用于创建可执行文件,该可执行文件可以像浏览器一样与 Web 应用程序进行通信。这是为了改进桌面应用程序,并为它们提供与 Web 应用程序交互的附加功能。下图是在合法的 Microsoft Office 应用程序中使用的 WebView2 的示例。 攻击者使用 WebView2 的主要优点是它在网络钓鱼凭据和会话时提供的丰富功能。在这篇文章中,我将讨论并展示攻击者如何创建 WebView2 应用程序并将其用于多种目的。我的代码使用Microsoft 的 WebView2 示例存储库的修改版本。这项研究既困难又耗时,因为我必须阅读大量文档并进行大量调试才能了解 WebView2 的内部工作原理。 注入 JavaScript使用内置的WebView2函数,JavaScript可以很容易地注入到任何网站中。这意味着您可以加载目标网站并注入恶意JavaScript(例如键盘记录器)。 JavaScript 键盘记录器示例在下面的示例中,我使用了一个定制的 WebView2 应用程序,该应用程序加载了一个注入的 JavaScript 键盘记录器。login.microsoftonline.com 下图显示了键盘记录器成功获取击键。 绕过 2FAWebView2 还提供了提取 Cookie 的内置功能。这允许攻击者在用户对合法网站进行身份验证后提取 Cookie。这种技术消除了必须启动Evilginx2或Modlishka的需要,但明显的权衡是用户必须执行二进制文件并进行身份验证。 泄露饼干示例下图显示了在用户遍历后如何以 base64 格式提取 Cookie。https://mrd0x.com 解码 base64 blob 后,会显示 cookie。 窃取铬饼干WebView2 可用于窃取当前用户的所有可用 Cookie。这已在Chrome上成功测试。 WebView2 允许您使用现有的用户数据文件夹 (UDF) 启动,而不是创建一个新的文件夹。UDF 包含所有密码、会话、书签等。Chrome的UDF位于。我们可以简单地告诉 WebView2 使用此配置文件启动实例,并在启动时提取所有 cookie 并将它们传输到攻击者的服务器。C:\Users\<username>\AppData\Local\Google\Chrome\User Data 小渔获唯一的问题是 WebView2 会查找一个名为 而不是(不确定为什么)的文件夹。创建文件夹的副本并将其重命名为。EBWebViewUser DataUser DataEBWebView 提取所有饼干下图显示了我如何加载我的 Chrome UDF 并提取所有 cookie。此功能未在上传到我的 GitHub 存储库的代码中实现,但实现起来很简单,GitHub 自述文件解释了需要修改哪些内容才能使此功能正常工作。 应用演示我上传了一个 O365 WebView2 应用程序的代码,该应用程序加载执行并在用户成功进行身份验证后,base64 编码的 cookie 通过 HTTP GET 请求发送给攻击者。 启动演示下面的演示显示了 WebView2 二进制文件的执行。 使用演示下面的演示显示了用户如何与应用程序交互,以及攻击者如何使用被盗的 cookie 登录。 Github Repo代码已上传到我的Github。您可以在将来的活动中随意使用它或根据需要对其进行修改。自述文件解释了所有内容,以防您想针对其他用例对其进行修改。 结语这种技术有其优点和缺点。明确的权衡是必须在主机上执行二进制文件,并且用户必须在应用程序中输入凭据。有人可能会问,如果需要执行应用程序,为什么不简单地执行shellcode并获得远程访问呢?当然可以。但根据某人的需求,他们可能需要远程访问之外的东西,例如在目标网站上执行JavaScript。 您可以将该功能扩展到现有的 WebView2 应用程序,以便获得远程访问。但目前二进制文件仅利用微软提供的合法功能。这可能会使安全解决方案更难标记。 |
标签: WebView2 应用程序 攻击者 使用 Cookie 执行 文件 JavaScript 记录器 用户 出处: https://www.toutiao.com/article/7163044662733849128/ |