微软Teams漏洞深度剖析:身份伪造与通知欺骗技术揭秘

研究人员发现微软Teams存在四个严重漏洞,允许攻击者冒充高管、篡改消息、伪造通知及通话身份。这些漏洞可能被外部访客和恶意内部人员利用,危及全球3.2亿用户的企业通信安全。

主要发现

Check Point研究团队发现了微软Teams中的四个漏洞,攻击者可利用这些漏洞冒充高管、操纵消息、篡改通知以及伪造音视频通话身份。外部访客用户和恶意内部人员均可利用这些缺陷,从根本上破坏了全球3.2亿多用户对该平台的信任。

实际风险包括高管冒充、金融欺诈、恶意软件传播、虚假信息活动和敏感通信中断。研究团队于2024年3月23日向微软负责任地披露了这些漏洞。微软确认了报告并展开调查,随后发布了修复补丁。截至2025年10月底,所有漏洞均已修复,微软将其中一个通知欺骗漏洞正式追踪为CVE-2024-38197。

不断演变的威胁环境

近年来,我们观察到包括国家支持团体和国家级行为者在内的复杂威胁行为者,越来越多地将协作平台和通信工具作为更广泛间谍活动和数据外泄行动的目标。这些高级持续性威胁(APT)组织表现出对以下方面的特别兴趣:

  • 针对广泛使用软件平台的供应链攻击
  • 利用可信通信渠道的社会工程活动
  • 利用熟悉界面信任度的商业电子邮件入侵(BEC)攻击
  • 针对远程工作工具的身份凭证收集操作

如今,威胁行为者利用用户对熟悉通信和工作空间界面的固有信任,使用社会工程策略通过组织依赖的日常运营平台来操纵员工。

研究发现

我们的研究从两个关键攻击角度展开:试图渗透组织的外部访客用户,以及寻求滥用其现有访问权限的内部恶意用户(如受感染员工或内部威胁)。

研究揭示了微软Teams中的几个漏洞,可被利用来操纵消息内容和发送者身份、更改通知外观。最关键的是,我们发现外部访客用户和内部恶意行为者都可以有效地转换其身份,以显示为受信任人员(包括C级高管),从根本上破坏了组织依赖的安全通信信任边界。

具体而言,我们能够:

无痕迹编辑消息:我们发现了一种方法可以更改已发送消息的内容,而不留下通常的"已编辑"标签。

操纵消息通知:我们的研究揭示了一种技术,可以更改消息的明显发送者,使得能够显示来自知名个人(如CEO)的通知,从而利用通常与此类通信相关的信任和紧迫感。

通过私聊会话主题更改显示名称:我们发现了一个漏洞,允许攻击者通过修改会话主题来更改私聊对话中的显示名称。双方参与者都将更改后的主题视为会话名称,可能误导他们关于会话的上下文。

伪造音视频通话中的呼叫者身份:我们发现呼叫通知中使用的显示名称可以通过特定操纵呼叫发起请求来任意修改。此缺陷允许攻击者伪造呼叫者身份,向呼叫接收者显示任何选择的名称。

技术深度剖析

虽然微软Teams提供功能相似的网页版和应用程序版本,但我们重点研究了网页版本。该版本与其应用程序对应版本一样,接受和处理各种操作的JSON有效负载,例如发送消息和进行通话。

理解Teams消息架构

当发送消息时,请求体中包含几个参数:

  • content:消息的实际文本,周围有HTML标签
  • messagetype:对于标准文本消息,通常设置为RichText/Html
  • clientmessageid:每个用户消息的唯一标识符
  • imdisplayname:发送消息用户的显示名称

发送POST请求后,响应包含OriginalArrivalTime参数,该参数携带Unix时间戳值,对于发送后修改消息的操作至关重要。

消息操纵技术

当我们发送消息时,我们包含一个clientmessageid参数(以及消息内容),并收到OriginalArrivalTime参数的Unix时间戳值。通过检索整个聊天历史记录,我们可以观察到这些值。

为了绕过编辑标签,我们可以制作新消息,并用之前消息中的值替换clientmessageid。这种方法有效地掩盖了我们的编辑,使其对他人不可检测。

操纵通知

在每个发送的消息中,有一个名为imdisplayname的参数,默认显示发送者的名称。通过调查,我们发现此参数可以更改为任何所需的值。这种操纵导致接收者收到看似来自实际发送者以外的人的通知。

更改私聊中的显示名称

微软Teams通过特定的PUT端点提供更新群聊中会话主题的功能:

1
PUT /api/chatsvc/emea/v1/threads/<Conversation ID>/properties?name=topic

通过操纵对此端点的请求,不仅可以更改群聊中的会话主题(这是预期和允许的),而且令人惊讶的是,在私人对话中也可以更改。

伪造音视频通话中的呼叫者身份

我们发现,通过特定操纵呼叫发起请求,可以任意修改呼叫通知中使用的显示名称。此缺陷允许攻击者伪造呼叫者身份,向呼叫接收者显示任何选择的名称。

在呼叫发起阶段,JSON有效负载被发送到:

1
POST /api/v2/epconv

包含定义呼叫特征的各种参数。其中,“participants"部分中的"displayName"参数特别值得关注。通过修改有效负载中的"displayName"值,我们能够更改呼叫者的明显身份。

实际攻击场景

这些漏洞创造了几个令人担忧的攻击场景,与复杂威胁行为者(包括国家级团体)使用的技术一致:

高管冒充和社会工程:攻击者可以显著冒充他人,使消息看起来是由其他人发送的。

高级持续性威胁和数据外泄:这些攻击可以直接促进更严重的恶意活动:

  • 恶意软件传播:攻击者可以发送看似来自可信源(如高管)的欺骗通知,要求紧急行动或点击链接,然后安装恶意软件。
  • 凭证收集/欺诈:通过冒充内部人员,攻击者可以钓取敏感数据或通过假装讨论预算数字或其他敏感信息来实施欺诈。
  • 虚假信息活动:创建虚假消息历史记录和破坏对话完整性的能力使得能够传播虚假信息活动。
  • 隐私泄露:整体漏洞影响包括隐私泄露。
  • 简报中断:在Teams上主持的敏感简报期间冒充个人的能力可以传播混乱或诱使参与者泄露敏感信息。

风险缓解策略

微软已经解决了我们在Teams中报告的漏洞,不需要用户采取任何行动。然而,协作平台仅提供原生安全性的基线,我们的研究表明这一层可以被绕过。

为了保护免受信任利用,组织需要额外的防御层,包括:

  • 零信任访问控制 - 持续验证用户身份和设备状态,而不仅仅在登录时。
  • 高级威胁防护 - 检查在协作应用程序内共享的文件、链接和有效负载。
  • 数据丢失防护(DLP) - 强制执行精细策略以防止未经授权的数据外泄。
  • 用户意识和验证协议 - 培训员工质疑高风险请求,并对敏感操作使用带外验证。

披露时间线

  • 2024年3月23日 - 漏洞向微软披露
  • 2024年3月25日 - 微软确认披露并确认将调查报告的问题
  • 2024年4月18日 - 微软确认报告的行为,并表示将继续调查以确定适当的解决方案
  • 2024年5月8日 - “无痕迹编辑消息"问题修复
  • 2024年7月31日 - “更改私聊中的显示名称"问题修复
  • 2024年8月13日 - 计划发布修复"操纵通知"问题的日期,追踪为CVE-2024-38197
  • 2024年9月13日 - “操纵通知"问题修复
  • 2025年10月 - “音视频通话中的呼叫者身份"问题修复
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计