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

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

摘要

微软发现针对本地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 安全更新KB5002760
Microsoft SharePoint Server 2016语言包 安全更新KB5002759

已发布威胁情报博客,提供威胁参与者战术技术程序、入侵指标和环境中威胁狩猎指南:中断本地SharePoint漏洞的活跃利用

为缓解潜在攻击,客户应:

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

如何保护环境

使用SharePoint Subscription Edition、SharePoint 2019或SharePoint 2016的客户应立即安装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服务器ASP.NET机器密钥并在所有SharePoint服务器上重启IIS。按照改进的ASP.NET视图状态安全和密钥管理中的PowerShell指南操作。

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

  • 使用Set-SPMachineKey -WebApplication <SPWebApplicationPipeBind>在PowerShell中生成机器密钥
  • 使用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")

高级狩猎

在自有环境中进行威胁狩猎的额外指南可在我们的威胁情报博客中找到:中断本地SharePoint漏洞的活跃利用

以下示例查询可搜索一周的事件。要检查网络中过去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 设计