黑客通过窃取访问令牌劫持Microsoft Teams聊天和邮件
安全研究人员发现了一种复杂攻击方法,允许攻击者从Microsoft Teams窃取访问令牌,可能获得对企业敏感通讯、邮件和SharePoint文档的未授权访问。
攻击向量分析
该攻击向量对依赖Microsoft生产力套件的组织构成重大安全风险,因为被盗令牌可被武器化用于公司网络内的横向移动和社会工程攻击。
获得受害者计算机初始访问权限的攻击者可以提取Microsoft Teams存储在磁盘上的身份验证令牌。这些令牌充当Microsoft服务的数字密钥,使攻击者无需用户密码即可冒充用户身份。
令牌提取过程
攻击利用了Microsoft Teams存储加密身份验证数据的方式。安全研究人员发现,在身份验证过程中,Microsoft Teams会使用名为msedgewebview2.exe的嵌入式Chromium浏览器引擎生成子进程。该浏览器组件将加密的cookie写入位于用户AppData目录中的数据库文件。
加密机制依赖DPAPI(数据保护API),这是一个使用机器特定密钥加密敏感数据的Windows安全功能。攻击者可以通过定位Teams本地缓存中JSON配置文件存储的加密密钥来绕过此加密。通过提取此密钥和加密的cookie值,他们可以使用AES-256-GCM加密解密身份验证令牌。
Rust概念验证
研究人员成功使用Rust开发了一个概念验证工具,可自动化整个提取过程,证明了该攻击的实际可行性。
攻击后果与防御
一旦攻击者获得Teams访问令牌,他们就可以与Microsoft Graph API交互执行各种恶意活动。他们可以在受损用户账户的上下文中检索Teams对话、阅读和发送消息,以及访问邮件。
安全研究人员甚至演示了如何将被盗令牌加载到GraphSpy等后期利用工具中,这些工具便于与Microsoft Graph API端点进行未经授权的交互,而无需额外身份验证。
影响不仅限于简单数据盗窃。攻击者可以使用受损账户向同事发送钓鱼消息,在网络中建立持久性,并进行可信度更高的社会工程攻击。由于恶意活动似乎来自受信任的内部账户,检测变得异常困难。
组织应实施能够监控对Teams配置文件和加密密钥访问的端点检测和响应(EDR)解决方案。安全团队还应执行严格的访问控制,监控可疑的Teams API活动,并教育用户保护设备免受初始入侵。
此外,Microsoft Teams用户应确保其系统接收定期安全更新并运行现代防病毒解决方案,以防止此攻击所需的初始访问。