SharePoint漏洞CVE-2025-53770防护指南:立即安装安全更新

微软发布针对SharePoint服务器漏洞CVE-2025-53770的安全更新指南,涉及漏洞防护、机器密钥轮换、Defender检测配置等关键技术措施,帮助企业抵御正在进行的攻击活动。

摘要

微软发现针对本地SharePoint服务器的活跃攻击,这些攻击利用了7月安全更新中部分修复的漏洞。

微软已发布安全更新,为所有受CVE-2025-53770和CVE-2025-53771影响的SharePoint版本提供完全保护。客户应立即应用这些更新以确保受到保护。

这些漏洞仅影响本地SharePoint服务器,Microsoft 365中的SharePoint Online不受影响。

SharePoint安全更新是累积性的。如果您应用了此处链接的最新安全更新,则无需应用早期更新,但应同时应用SharePoint 2016和2019的两个更新。

产品 安全更新链接
Microsoft SharePoint Server Subscription Edition 下载安全更新
Microsoft SharePoint Server 2019 下载安全更新
Microsoft SharePoint Server 2019语言包 下载安全更新
Microsoft SharePoint Server 2016 下载安全更新
Microsoft SharePoint Server 2016语言包 下载安全更新

已发布威胁情报博客,提供威胁参与者的战术、技术和程序,入侵指标以及在您自己环境中进行威胁搜寻的指导。

为减轻潜在攻击,客户应:

  • 使用受支持的本地SharePoint Server版本
  • 应用上述最新安全更新
  • 部署Microsoft Defender for Endpoint保护或等效威胁解决方案
  • 确保反恶意软件扫描接口(AMSI)已开启并正确配置,使用适当的防病毒解决方案如Defender Antivirus
  • 轮换SharePoint Server ASP.NET机器密钥

如何保护您的环境

使用SharePoint Subscription Edition、SharePoint 2019或SharePoint的客户应立即应用CVE-2025-53770和CVE-2025-53771中提供的安全更新以缓解漏洞。

使用或升级到受支持的本地Microsoft SharePoint Server版本 受支持版本:SharePoint Server 2016、2019和SharePoint Subscription Edition

确保反恶意软件扫描接口已开启并正确配置

在SharePoint中配置反恶意软件扫描接口(AMSI)集成。如果HTTP请求体扫描可用,启用完整模式以提供最全面的保护,并在所有SharePoint服务器上部署Microsoft Defender Antivirus,这将阻止未经身份验证的攻击者利用此漏洞。

注意:AMSI集成在SharePoint Server 2016/2019的2023年9月安全更新和SharePoint Server Subscription Edition的23H2功能更新中默认启用。

如果无法启用AMSI,建议考虑在应用上述最新安全更新之前将服务器与互联网断开连接。如果服务器无法与互联网断开连接,考虑使用需要身份验证的VPN或代理,或使用身份验证网关来限制未经身份验证的流量。

部署Microsoft Defender for Endpoint或等效解决方案

建议部署Defender for Endpoint以检测和阻止利用后活动。

轮换SharePoint Server ASP.NET机器密钥

在应用上述最新安全更新或启用AMSI后,客户必须在所有SharePoint服务器上轮换SharePoint服务器ASP.NET机器密钥并重新启动IIS。请遵循"改进的ASP.NET视图状态安全和密钥管理"中的PowerShell指导。

要使用PowerShell更新Web应用程序的机器密钥:

  1. 使用Set-SPMachineKey -WebApplication <SPWebApplicationPipeBind>在PowerShell中生成机器密钥
  2. 使用Update-SPMachineKey -WebApplication <SPWebApplicationPipeBind>在PowerShell中将机器密钥部署到场

轮换完成后,使用iisreset.exe在所有SharePoint服务器上重新启动IIS。

如果无法启用AMSI,您需要在安装新的安全更新后轮换密钥。

Microsoft Defender检测和保护

Microsoft Defender Antivirus

Microsoft Defender Antivirus提供针对与此威胁相关的组件和行为的检测和保护,检测名称包括:

  • Exploit:Script/SuspSignoutReq.A
  • Trojan:Win32/HijackSharePointServer.A
  • Exploit:Script/SuspSignoutReqBody.A
  • Trojan:PowerShell/MachineKeyFinder.DA!amsi

Microsoft Defender for Endpoint

Microsoft Defender for Endpoint为客户提供可能指示与此威胁相关的威胁活动的警报。这些警报也可能由不相关的威胁活动触发。Microsoft Defender安全中心门户中的以下警报标题可能指示网络上的威胁活动:

  • 可能的Web shell安装
  • SharePoint服务器漏洞的可能利用
  • 可疑的IIS工作进程行为
  • IIS工作进程加载了可疑的.NET程序集
  • 在SharePoint服务器上阻止了’SuspSignoutReq’恶意软件
  • 在SharePoint服务器上阻止了’HijackSharePointServer’恶意软件

在Microsoft Defender漏洞管理中映射暴露情况

MDVM漏洞记录现在包括所有受影响SharePoint版本(包括SharePoint Server 2010和2013)的这两个漏洞的CVSS评分和零日标志。

浏览到漏洞管理▸软件漏洞并按漏洞标识符过滤,以查看暴露的设备、修复状态和利用证据标签。

统一高级搜寻查询:

1
2
DeviceTvmSoftwareVulnerabilities
| where CveId in ("CVE-2025-49706","CVE-2025-53770")

高级搜寻

有关在您自己环境中进行威胁搜寻的额外指导,请参阅我们的威胁情报博客。

以下示例查询让您可以搜索一周的事件。要检查网络中过去30天的事件并定位可能相关的指标,请转到高级搜寻页面>查询选项卡,选择日历下拉菜单将查询更新为搜寻过去30天。

要定位可能的利用活动,请在Microsoft 365安全中心运行以下查询。

通过文件创建成功利用(需要Microsoft 365 Defender)

查找spinstall0.aspx的创建,这表明CVE-2025-53770的成功利用后活动。在Microsoft 365 Defender中运行查询:

1
2
3
4
5
DeviceFileEvents
| where FolderPath has_any (@'microsoft shared\Web Server Extensions\16\TEMPLATE\LAYOUTS', @'microsoft shared\Web Server Extensions\15\TEMPLATE\LAYOUTS')
| where FileName has "spinstall0"
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, FileName, FolderPath, ReportId, ActionType, SHA256
| order by Timestamp desc

查找w3wp.exe生成涉及spinstall0文件或已知写入文件路径的编码PowerShell的进程创建:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
DeviceProcessEvents
| where InitiatingProcessFileName has "w3wp.exe"
 and InitiatingProcessCommandLine !has "DefaultAppPool"
 and FileName =~ "cmd.exe"
 and ProcessCommandLine has_all ("cmd.exe", "powershell")
 and ProcessCommandLine has_any ("EncodedCommand", "-ec")
| extend CommandArguments = split(ProcessCommandLine, " ")
| mv-expand CommandArguments to typeof(string)
| where CommandArguments matches regex "^[A-Za-z0-9+/=]{15,}$"
| extend B64Decode = replace("\\x00", "", base64_decodestring(tostring(CommandArguments)))  
| where B64Decode has_any ("spinstall0", @'C:\PROGRA~1\COMMON~1\MICROS~1\WEBSER~1\15\TEMPLATE\LAYOUTS', @'C:\PROGRA~1\COMMON~1\MICROS~1\WEBSER~1\16\TEMPLATE\LAYOUTS')
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计