隐藏风险:Notepad Cowriter Bearer Token 泄露

admin 2025年4月23日01:27:48评论12 views字数 2061阅读6分52秒阅读模式

【翻译】The Hidden Risk Compromising Notepad Cowriter’s Bearer Tokens 

引言

2023 年,微软推出了 Office 365 Copilot。最近,在 2025 年,他们将其功能扩展到与 Notepad 集成,允许用户请求 AI 助手重写段落或文本。

在这篇博客中,我将分享我的技术观察,并探讨 Notepad AI 服务以及具有这些功能的类似应用程序可能被攻破的方式。

网络流量分析

几个月前,我偶然发现了这篇文章 (https://ogmini.github.io/2025/03/18/Windows-Notepad-Rewrite-Part-4.html),其中讨论了 Notepad Cowriter 集成的网络流量和 API 调用。它提供了关于 API 结构的宝贵见解,因为目前该功能没有公开文档。我认为它仍处于预览阶段,因此随着时间的推移可能会发生变化。

现在,让我们重点关注这些特定的 API 调用:

  • /v1/notepad-cowriter/rewrite/
  • /v1/notepad-cowriter/rewrite/{CONVERSION ID}
  • /v1/notepad-cowriter/userstatus

这些端点被 Notepad 用于与 Copilot 发送和接收数据,使用 JWT Bearer tokens 进行身份验证。

Notepad 内存分析

几年前,mrd0x(https://mrd0x.com/stealing-tokens-from-office-applications/) 发表了一篇关于从 Office 应用程序窃取访问令牌的文章,直到今天这仍然是一个有效且可靠的攻击向量。

该方法简单地在内存中查找 JWT 字符串模式,例如 eyh..,并窃取这些令牌。

对于集成了 Copilot 的 Notepad,身份验证 Bearer 仍然存储在内存中,可以通过查找 Bearer 关键字来提取。

隐藏风险:Notepad Cowriter Bearer Token 泄露

不同之处在于,JWT 令牌使用直接加密 (A256CVC-HS512) 和 DEF 压缩。

此时,尚不清楚该令牌是否有效且可以使用,然而,我注意到一些 API 调用仍然存在于 Notepad 内存区域中。

窃取 Copilot Bearer 令牌

有几种方法可以利用这一点,无论是手动还是通过 PowerShell 脚本。我个人更喜欢编写一个 Beacon Object File (BOF) 以在 C2 框架中使用。

修改后的 BOF 代码基于 TrustedSec 几年前分享的 office_token BOF(https://github.com/trustedsec/CS-Remote-OPs-BOF)。我 fork 了他们的仓库,并引入了一个新的 BOF(https://github.com/0xsp-SRD/CS-Remote-OPs-BOF/tree/main/Remote/copilot_tokens),进行了以下更新:

  1. BOF 扫描内存区域以查找"Bearer"关键字实例并打印出来。
  2. 同时,BOF 分配一个单独的缓冲区来存储搜索结果,按顺序列出 Cowriter API 调用。
隐藏风险:Notepad Cowriter Bearer Token 泄露

上图显示了提取的 Bearer 令牌,并额外检索到一些 API URL,我相信这些 URL 可以用来验证令牌是否有效。通过使用 Curl,我构建了一个 GET 请求与/v1/notepad-cowriter/userstatus 通信,并成功获取了用户会话信息,如下所示:

ounter(lineounter(lineounter(lineounter(lineounter(linecurl -GET "https://apsaiservices.microsoft.com/v1/notepad-cowriter/userstatus" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -H "x-clientappname: Microsoft.WindowsNotepad" -H "x-clientappversion: 11.2501.31.0"
隐藏风险:Notepad Cowriter Bearer Token 泄露

令牌范围

Bearer 令牌仅用于访问 Cowriter AI 服务,特别是考虑到这些新功能的 API 文档稀少。虽然攻击的可能性有限,但如果用户的 AI 令牌被泄露,仍然存在信息泄露的风险。

为了测试这种风险,我让 Notepad AI Copilot 重写了一段包含潜在凭据和敏感访问细节的示例文本。

隐藏风险:Notepad Cowriter Bearer Token 泄露

有趣的是,在这个过程中,它揭示了一些新的 API URL。这些 URL 包含了重写服务的通信端点,以及一个转换 UUID,如下图所示:

隐藏风险:Notepad Cowriter Bearer Token 泄露

以转换 ID 结尾的新 API URL 可能包含用户提交给 Copilot 的相同信息。由于我们已经有了 Bearer 令牌和转换 ID,因此可以访问和读取这些数据。

下图展示了我如何能够检索到原始文档草稿和 Copilot 提供的重写版本:

隐藏风险:Notepad Cowriter Bearer Token 泄露

结论

总之,AI 与 Windows 应用程序日益集成的趋势引发了人们对潜在信息泄露的担忧。这种风险源于令牌的存储方式,使得攻击者能够从被攻破的应用程序中提取它们。始终建议不要与 AI 服务共享可能包含重要信息的草稿。

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月23日01:27:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   隐藏风险:Notepad Cowriter Bearer Token 泄露https://cn-sec.com/archives/3988959.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息