让攻击者“无所遁形”:AMSI如何为Exchange和SharePoint再添护盾

数字化办公时代,企业内部的 Exchange Server 和 SharePoint Server 承载着关键业务数据与协作流程,堪称企业的 “数字中枢神经”。但它们也成了网络攻击者眼中的 “香饽饽”,遭受着一波又一波的攻击浪潮。今天,我们就来深入探讨一下,微软如何借助 Windows 反恶意软件扫描接口(AMSI),为地部署的Exchange Server和SharePoint Server服务器构建起坚不可摧的安全堡垒。

Exchange Server 和 SharePoint Server 存储着大量企业敏感信息,像邮件往来、文档协作内容等,这使得它们成为攻击者的重点目标。过去,攻击者常常利用服务器过时或配置错误的漏洞。比如,Exchange Server 的 ProxyShell 和 ProxyNotShell 漏洞,即便在 2021 年和 2022 年被安全更新修复后,仍被攻击者滥用,他们借助服务器端请求伪造(SSRF)和权限提升漏洞,实现远程代码执行,进而植入网页后门、横向移动渗透网络、窃取敏感数据,还能长时间躲避检测。近年来,攻击者又盯上了 NTLM 中继和凭据泄露技术,通过 Outlook 发送的 Office 文档和邮件中的 UNC 链接,利用 NTLM 身份验证漏洞中继凭据,危及目标账户安全。SharePoint Server 也没能幸免,攻击者利用关键漏洞获取持久化的特权访问权限,采用诸如在 signout.aspx 等现有文件中替换或追加网页后门代码、安装远程监控管理工具等隐秘手段,达成恶意目的。

AMSI(反恶意软件扫描接口)现已全面集成至这两大平台,强势提升安全防线。AMSIAntimalware Scan Interface是Windows平台的一项通用接口,允许应用程序将脚本内容提交给系统中的反恶意软件引擎进行检测。简单来说,它相当于在脚本运行前给安全引擎一个“预读权”。

面对严峻的安全形势,AMSI 的集成就像给 Exchange Server 和 SharePoint Server 穿上了一层坚固的 “铠甲”。它作为 IIS 管道中的安全筛选模块,在 HTTP 请求被应用程序处理前就进行检查。在 SharePoint Server 和 Exchange Server 中,分别通过 SPRequesterFilteringModule 和 HttpRequestFilteringModule 在请求开始阶段触发,在请求进入身份验证和授权阶段前对其分析。一旦检测到恶意请求,就会立即返回 HTTP 400 错误响应,将威胁拒之门外。

比如,使用公共工具 MailSniper 进行邮箱数据窃取时,AMSI 就能及时发现并阻止,保障邮箱数据安全。

最初,AMSI 主要扫描请求头来检测恶意活动,对识别 SSRF 攻击很有效。但随着攻击手段日益复杂,许多恶意代码藏在了请求体中,只检查请求头就不够了。为此,Exchange Server 在 2024 年 11 月的更新中增加了请求体扫描功能,SharePoint Server 也在公开预览版里加入了类似改进。不过,这些增强的安全控制默认未开启,企业需要根据自身安全需求评估并开启,以便更全面地检测和抵御远程代码执行等漏洞,特别是那些不需要 SSRF 的认证后漏洞。

从实际攻击场景来看,针对 Exchange 和 SharePoint 服务器的攻击手段五花八门。SSRF 攻击是攻击者常用的伎俩,他们利用这一漏洞代表服务器发起未授权请求,访问内部服务、元数据端点,甚至提升权限。像 SharePoint Server 的 CVE – 2023 – 29357 漏洞,攻击者可绕过认证并提升权限,结合 CVE – 2023 – 24955 漏洞就能实现未认证的远程代码执行;Exchange Server 的 CVE – 2022 – 41040 漏洞,攻击者通过针对 AutoDiscover 功能,利用信任关系模拟用户触发后端功能,为远程代码执行做准备。好在 AMSI 每天都能抵御成千上万次这类 SSRF 攻击尝试,成功切断攻击链条。

攻击者还会在服务器上放置网页后门,通过与网页后门交互来实现恶意控制。在 Exchange 服务器被入侵的案例中,AMSI 会记录下可疑的.aspx 文件交互,哪怕攻击者把网页后门重命名成合法文件名也能被发现。在 SharePoint Server 上,攻击者会修改合法的 signout.aspx 文件,追加网页后门代码,创建隐秘后门。AMSI 如同一个实时监控卫士,检测并记录这些恶意交互,让 Microsoft Defender for Endpoint 能精准定位恶意文件位置,清理受感染服务器,降低损失。

Exchange Web Services(EWS)本是方便合法程序访问邮箱的组件,但也被攻击者滥用。在 CVE – 2023 – 23397 事件中,攻击者利用 EWS 在入侵后搜索邮箱敏感内容并通过 HTTPS 窃取邮件。他们借助 EWS 的强大访问权限,滥用 GetFolder、FindItem 和 GetItem 等 API 搜索和窃取敏感邮件。而 AMSI 的请求体扫描功能,可以实时检测出这些可疑搜索模式、异常访问和针对性的邮件盗窃行为。

另外,PowerShell 应用池在 Exchange 中权限较高,攻击者获取后端 PowerShell 端点访问权后,会利用合法管理 cmdlet(如 Get – Mailbox 等),传入恶意参数或序列化有效载荷,实现远程代码执行。AMSI 则可以监控所有后端 PowerShell 命令及其参数,检查请求缓冲区中的可疑 API 调用,阻止这类攻击。在 SharePoint Server 方面,攻击者利用像 CVE – 2024 – 38094 等漏洞,滥用站点所有者权限,通过 Business Data Connectivity(BDC)功能和恶意 BDCMetadata.bdcm 文件执行任意代码。开启 AMSI 的请求体扫描后,就能检测并阻止这类恶意代码执行。

 

企业想要保护好 Exchange Server 和 SharePoint Server,需要多管齐下。首先,要激活 AMSI,并将服务器更新到支持请求体扫描的版本(Exchange Server 2024 年 11 月安全更新版本及之后,SharePoint Server Subscription Edition Version 25H1 及之后),按照官方文档配置 AMSI。其次,及时安装最新安全更新,定期使用威胁和漏洞管理工具检查服务器,修复漏洞和错误配置。再者,开启杀毒软件、防火墙保护、多因素身份验证(MFA)等安全防护措施,合理配置云交付保护、自动样本提交、攻击面减少规则和篡改保护功能。然后,定期审查敏感角色和组,避免随意添加高权限账户,及时发现可疑变动。同时,遵循最小权限原则,管理好凭据,使用 LAPS 等工具设置强随机、及时生效的本地管理员密码。最后,重视安全警报,特别是与可疑进程相关的警报,在攻击者探索阶段就发现并阻止攻击。

  • AMSI:让脚本攻击现形的幕后英雄

AMSI(Antimalware Scan Interface)不是一个新名词,但它的重要性常被低估。它的独特之处在于可以在脚本执行前将其拆包,并交由防病毒引擎进行深度扫描。这意味着即便攻击者使用混淆、加密等手段藏匿恶意代码,只要脚本要运行,AMSI就能让它“现出原形”。

此次更新,微软将AMSI集成到了:

  • Exchange Server 2016 / 2019
  • SharePoint Server Subscription Edition

对于仍运行本地版本的企业来说,这是一次具有里程碑意义的安全增强。

  • 攻击者的老把戏,AMSI一眼识破

攻击者偏爱通过PowerShell或JScript注入恶意代码到Exchange和SharePoint中,尤其是在获取初始访问权限之后,常常通过运行本地脚本进行横向移动或信息窃取。而这些脚本过去可能会轻易绕过传统防护。

但在启用AMSI支持后,以下行为将被实时检测并阻断:

  • 使用PowerShell远程执行命令
  • 加载和执行加密脚本模块
  • SharePoint页面中的嵌入式JScript篡改
  • 利用漏洞上传并运行Web Shell

微软报告显示,AMSI已成功阻止了多起真实攻击案例,包括APT组织使用合法管理工具(如Exchange命令行)进行持久化操作。

  • 从平台到生态:合作伙伴防线更坚固

AMSI的强大之处在于它并不是一套孤立的安全机制,而是一个开放接口。只要你的环境中安装了支持AMSI的防病毒软件(如Microsoft Defender、SentinelOne、Sophos等),即可无缝接入,不需要额外开发或部署。

这就像在ExchangeSharePoint之间安插了一个智能翻译官,能将混淆、压缩、编码过的内容还原为人类可读的信息交给防病毒软件审查。

对于使用微软安全产品的用户,微软提供了丰富的检测和响应工具。Microsoft Defender XDR 能跨端点、身份、邮件和应用程序协调检测、预防、调查和响应;Microsoft Defender Antivirus 可针对不同服务器检测特定恶意软件;Microsoft Defender for Endpoint 会发出相关警报;Microsoft Defender Vulnerability Management 能发现受相关漏洞影响的设备;Microsoft Security Exposure Management 帮助用户识别 Exchange 服务器并应用新安全设置;Security Copilot 则提供了自动化的事件响应和调查功能。用户还可以使用微软提供的各种狩猎查询,如在 Microsoft Defender XDR 和 Microsoft Sentinel 中搜索可疑活动。

Microsoft Defender 防病毒将 SharePoint Server 上的威胁检测为以下恶意软件:

  • 漏洞利用程序:Script/SPLobSystemRCE.A
  • 漏洞利用:Script/SPLobSystemRCE.B
  • 漏洞利用:Script/SPAuthBypass.A

Microsoft Defender 防病毒将 Exchange Server 上的威胁检测为以下恶意软件:

  • 漏洞利用:Script/SuspMailboxSearchEWS.A
  • 漏洞利用:Script/SuspExchgSession.D
  • 漏洞利用:Script/ExchgProxyRequest

Microsoft Defender for Endpoint 警报:

  • 可能的 Web Shell 安装
  • 可能的 IIS Web Shell
  • 指示 Web Shell 的可疑进程
  • 可能的 IIS 泄露
  • 可疑的 Exchange 进程执行
  • 可能利用 Exchange Server 漏洞

Microsoft Defender 漏洞管理:

  • CVE-2021-34473、CVE-2021-34523、CVE-2021-31207、CVE-2022-41040、CVE-2022-41082、CVE-2019-0604、CVE-2024-21413、CVE-2023-23397、CVE-2023-36563、CVE-2023-29357、CVE-2023-24955、CVE-2024-38094、CVE-2024-38024、CVE-2024-38023

Microsoft 安全风险管理:

Microsoft Security Exposure Management (MSEM) 通过为客户提供高价值资产的预定义分类逻辑,增强了重要资产的可见性。这包括托管 (Microsoft Defender for Endpoint 载入) 和非托管 Exchange 服务器。

客户可以查看设备清单和关键分类库,以识别 Exchange 服务器,并考虑对它们应用新的安全设置。

 

Microsoft Defender XDR

广泛搜索 IIS 工作进程执行的进程。应在创建的进程指示侦查的任何设备上执行进一步调查。

DeviceProcessEvents

| where InitiatingProcessFileName == 'w3wp.exe'

| where InitiatingProcessCommandLine contains "MSExchange" or InitiatingProcessCommandLine contains "SharePoint"

| where FileName !in~ ("csc.exe","cvtres.exe","conhost.exe","OleConverter.exe","wermgr.exe","WerFault.exe","TranscodingService.exe")

| project FileName, ProcessCommandLine, InitiatingProcessCommandLine, DeviceId, Timestamp

Chopper 是针对 SharePoint 和 Exchange 服务器的最广泛使用的 Web Shell 之一。使用以下查询搜寻 Chopper Web Shell 活动:

DeviceProcessEvents

| where InitiatingProcessFileName =~ "w3wp.exe" and FileName == "cmd.exe"

| where ProcessCommandLine has "&cd&echo"

SharePoint 或 Exchange 目录中的可疑文件

DeviceFileEvents

| where Timestamp >= ago(7d)

| where InitiatingProcessFileName == "w3wp.exe"

| where FolderPath has "\\FrontEnd\\HttpProxy\\" or FolderPath has "\\TEMPLATE\\LAYOUTS\\ " or FolderPath has "\\aspnet_client\\"

| where InitiatingProcessCommandLine contains "MSExchange" or InitiatingProcessCommandLine contains "Sharepoint"

| project FileName,FolderPath,SHA256, InitiatingProcessCommandLine, DeviceId, Timestamp
  • 启用方式:轻松部署,无缝集成

想要开启这道护盾?你几乎无需改动任何业务逻辑。

  • 对于Exchange:在2024年11月及之后的CU版本中自动启用
  • 对于SharePoint:在SharePoint Server SE最新版中已默认集成

你只需确保服务器安装了最新更新,并运行支持AMSI的安全软件即可。

虽然越来越多企业正在迈向云端,但本地部署仍在诸多行业中扮演关键角色。通过引入AMSI,微软将云原生的行为检测能力带到了本地环境,实现了“云地同防”的安全策略。

在网络攻防永无止境的时代,每一道“可视”的防线都可能成为决定胜负的关键。而AMSI,正在悄悄改变这场博弈的走向。

如果希望为你的Exchange或SharePoint环境增强防御,不妨立刻启用AMSI支持,迈出构建“零信任”架构的重要一步。

最后使用一张思维到图展现如何使用AMSI增强企业本地Exchange Server 和 SharePoint Server安全性

 


了解 365vCloud's Journey to the Cloud 的更多信息

订阅后即可通过电子邮件收到最新文章。