利用微软Teams:身份冒充与欺骗漏洞曝光
关键发现: Check Point Research在微软Teams中发现了四个漏洞,允许攻击者冒充高管、操纵消息、篡改通知以及在视频和音频通话中伪造身份。外部访客用户和恶意内部人员均可利用这些缺陷,从根本上破坏了全球3.2亿以上用户所依赖的平台的信任机制。现实风险包括高管冒充、金融欺诈、恶意软件投递、虚假信息活动以及敏感通信中断。
Check Point Research于2024年3月23日向微软负责任的披露了这些漏洞。微软确认了报告并进行了调查,随后针对报告的问题发布了修复程序。截至2025年10月底,所有漏洞均已得到解决,微软官方将其中一个(通知欺骗漏洞)追踪为CVE-2024-38197。
自2017年3月推出以来,微软Teams已成为全球使用最广泛的通信与协作平台之一。作为微软365家族的一部分,Teams为工作场所提供聊天、视频会议、文件存储和应用程序集成,每月活跃用户超过3.2亿。从最大的全球企业到中小型企业,Teams已成为现代工作场所通信的关键支柱。
我们的研究揭示了Teams中一系列破坏这些可信通信渠道的漏洞。我们发现,外部访客用户和恶意内部人员都可以操纵消息、冒充高管,甚至欺骗通知。实际上,这意味着攻击者可以访客身份进入,并令人信服地冒充CEO,这是组织赖以安全运营的信任机制的根本性崩溃。
不断演变的威胁形势
近年来,我们目睹了包括国家资助团体和国家级行为者在内的复杂威胁行为者,越来越多地将协作平台和通信工具作为更广泛的间谍活动和数据外泄行动的一部分进行攻击。这些高级持续性威胁(APT)组织表现出对以下方面的特别兴趣:
- 供应链攻击,针对广泛使用的软件平台
- 社会工程学活动,利用可信的通信渠道
- **商业邮件入侵(BEC)**攻击,利用对熟悉界面的信任
- 凭据窃取操作,针对远程工作人员工具
如今,威胁行为者利用用户对熟悉通信和工作空间界面的固有信任,使用社会工程学手段通过组织日常运营所依赖的平台来操纵员工。
近期的情报报告强调了这些威胁行为者如何专门针对远程工作基础设施,认识到通信平台已成为关键的业务基础设施。鉴于这一不断演变的威胁形势,Check Point Research着手调查广泛使用的工作空间工具中潜在的安全漏洞。作为对这些平台进行更广泛研究计划的一部分,我们检查了Microsoft Teams,以确定其信任机制如何可能被颠覆。本文的发现突出表明,Teams只是更广泛问题的一个例证:攻击者可以如何利用对现代工作空间工具的信任。
我们的研究发现
我们从两个关键的攻击角度进行了这项研究:试图渗透组织的外部访客用户,以及试图滥用其现有访问权限的内部恶意用户(例如被入侵的员工或内部威胁)。
我们的研究揭示了Microsoft Teams中的几个漏洞,这些漏洞可被用来操纵消息内容和发送者身份,更改通知外观。最关键的是,我们发现外部访客用户和内部恶意行为者都可以有效地改变其身份,使其看起来像受信任的人员,包括C级高管,从根本上破坏了组织安全通信所依赖的信任边界。
这些发现意义重大,不仅展示了理论风险,还展示了可用于虚假信息、身份冒充和隐私泄露的实际漏洞。无论是从外部访客用户开始,还是作为恶意内部人员操作,攻击者都可以无缝地转变为看似值得信赖的权威人物,可能欺骗员工相信他们正在与CEO、财务总监或其他高权威人物进行沟通。
具体而言,我们能够:
- 无痕编辑消息:我们发现了一种方法来更改已发送消息的内容,而不会留下通常的“已编辑”标签。
- 操纵消息通知:我们的研究揭示了一种可以更改消息明显发送者的技术,从而能够显示来自高层人士(例如CEO)的通知,利用通常与此类通信相关的信任和紧迫感。
- 通过私聊中的对话主题更改显示名称:我们发现了一个漏洞,允许攻击者通过修改对话主题来更改私聊对话中显示的名称。双方参与者都会将更改后的主题视为对话名称,这可能会误导他们对对话上下文的理解。
- 在视频/音频通话中伪造呼叫者身份:我们发现,通过特定操作呼叫发起请求,可以任意修改呼叫通知(以及后续通话过程中)中使用的显示名称。此缺陷允许攻击者伪造呼叫者身份,向呼叫接收者呈现任何选定的名称。
总之,这些漏洞展示了攻击者如何侵蚀协作工作空间工具有效性的基本信任,将Teams从业务推动者转变为欺骗的载体。
微软之前已将CVE-2024-38197披露为Microsoft Teams iOS版本中的一个中危欺骗问题,并指出早期客户端版本未能正确验证消息发送者字段,因此在有限情况下可能误报用户身份。我们的研究扩展了这些发现,展示了一个更具影响力的利用路径:我们开发了一个概念验证,展示了恶意机器人或Webhook如何制作带有伪造“from”属性的负载,这些负载在Teams界面中令人信服地呈现为受信任的用户。这种放大不仅凸显了针对性冒充的实际风险,也凸显了跨Teams客户端进行更严格验证控制的广泛需求。
技术深度剖析
虽然Microsoft Teams提供功能相似的网页版和应用程序版本,但我们的研究重点放在网页版。该版本与其应用程序对应部分一样,接受并处理用于各种操作(如发送消息和拨打电话)的JSON负载。
理解Teams消息传递架构
当消息发送时,请求体中包含几个参数:
content:消息的实际文本,由HTML标签包围。messagetype:对于标准文本消息,通常设置为RichText/Html。但是,对于其他操作(如添加新用户或发起新对话),此参数会改变以反映正在执行的特定操作。clientmessageid:每条用户消息的唯一标识符,确保每条消息都可以单独跟踪和管理。imdisplayname:发送消息用户的显示名称,允许收件人查看消息来自谁。
发送POST请求后,响应包括OriginalArrivalTime参数,该参数携带Unix时间戳值,这对于发送后修改消息(例如编辑、删除或引用我们自己或他人的消息)的操作至关重要。
此外,获取的另一个关键信息是分配给每个用户的唯一UUID。可以通过获取特定用户的对话或其消息(无论是私聊还是群聊)来找到它:
此UUID(从上面的屏幕截图看,以8:orgid:37f85325开头)对于识别系统内的用户至关重要,并在我们将要探讨的漏洞中扮演重要角色。
消息操纵技术
让我们从基础开始,探索可以对自有消息进行哪些修改。如前所述,当我们发送消息时,我们会包含一个clientmessageid参数(以及消息内容),并收到OriginalArrivalTime参数的Unix时间戳值:
|
|
检索整个聊天记录时,我们可以观察到这些值:
现在,让我们尝试直接在MS Teams中编辑消息。不幸的是,此操作会导致“已编辑”标签出现在消息上方。为了绕过这一点,我们可以制作一条新消息,并用先前消息的clientmessageid值——2711247313308716623——替换新消息的clientmessageid。这种方法有效地掩盖了编辑操作,使其对他人不可检测。
操纵通知
无论是在手机应用还是PC上,这些警报会立即引起我们的注意,尤其是当它们暗示消息来自组织内的关键人物时。例如,收到一条看似来自CEO或其他高级官员的通知,天生就需要更高程度的紧迫性和重要性。这种心理效应使通知不仅具有信息性,而且具有影响力。
在每条发送的消息中,都有一个名为imdisplayname的参数,默认情况下显示发送者的姓名:
通过调查,我们发现此参数可以更改为任何所需的值。这种操纵导致收件人收到的通知似乎来自实际发送者以外的其他人:
结果:
更改私聊中的显示名称
Microsoft Teams提供通过特定PUT端点更新群聊中对话主题的功能。此功能旨在帮助用户更有效地组织和识别聊天。
PUT /api/chatsvc/emea/v1/threads/<Conversation ID>/properties?name=topic
通过操纵对此端点的请求,不仅可以更改群聊中的对话主题(这是预期并允许的),而且令人惊讶的是,在私人对话中也可以更改。
对于私聊——两个人之间的直接对话——任何主题的更改理想情况下应该受到限制或不适用,因为私聊通常没有传统意义上的“主题”。
更改前:
更改后:
执行这样的更改可能会误导用户,使他们相信他们正在与一个不同的人进行对话。
在视频/音频通话中伪造呼叫者身份
我们发现,通过特定操作呼叫发起请求,可以任意修改呼叫通知中使用的显示名称。此缺陷允许攻击者伪造呼叫者身份,向呼叫接收者呈现任何选定的名称。
在呼叫发起阶段,一个JSON负载被发送到:
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月 – “视频/音频通话中伪造呼叫者身份”问题得到修复。