【翻译】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 关键字来提取。
不同之处在于,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),进行了以下更新:
-
BOF 扫描内存区域以查找"Bearer"关键字实例并打印出来。 -
同时,BOF 分配一个单独的缓冲区来存储搜索结果,按顺序列出 Cowriter API 调用。
上图显示了提取的 Bearer 令牌,并额外检索到一些 API URL,我相信这些 URL 可以用来验证令牌是否有效。通过使用 Curl,我构建了一个 GET 请求与/v1/notepad-cowriter/userstatus 通信,并成功获取了用户会话信息,如下所示:
ounter(lineounter(lineounter(lineounter(lineounter(line
curl -X 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"
令牌范围
Bearer 令牌仅用于访问 Cowriter AI 服务,特别是考虑到这些新功能的 API 文档稀少。虽然攻击的可能性有限,但如果用户的 AI 令牌被泄露,仍然存在信息泄露的风险。
为了测试这种风险,我让 Notepad AI Copilot 重写了一段包含潜在凭据和敏感访问细节的示例文本。
有趣的是,在这个过程中,它揭示了一些新的 API URL。这些 URL 包含了重写服务的通信端点,以及一个转换 UUID,如下图所示:
以转换 ID 结尾的新 API URL 可能包含用户提交给 Copilot 的相同信息。由于我们已经有了 Bearer 令牌和转换 ID,因此可以访问和读取这些数据。
下图展示了我如何能够检索到原始文档草稿和 Copilot 提供的重写版本:
结论
总之,AI 与 Windows 应用程序日益集成的趋势引发了人们对潜在信息泄露的担忧。这种风险源于令牌的存储方式,使得攻击者能够从被攻破的应用程序中提取它们。始终建议不要与 AI 服务共享可能包含重要信息的草稿。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论