SharePoint ToolShell | 零日漏洞在野利用针对企业服务器
观察目标
我们观察到初始的ToolShell漏洞利用针对高价值组织,受害者主要集中在技术咨询、制造业、关键基础设施以及与敏感架构和工程组织相关的专业服务领域。早期目标表明该活动最初经过精心选择,针对具有战略价值或高级访问权限的组织。
本报告中描述的攻击具有针对性,发生在漏洞公开披露之前,随后引发了更广泛攻击者的大规模利用尝试。我们预计,在国家背景和经济动机攻击者的推动下,更广泛的利用尝试将加速,以利用未修补的系统。
SentinelOne观察到多个与国家相关的威胁行为者(与第一波利用无关)开始进行侦察和早期利用活动。此外,我们还发现攻击者可能搭建诱饵蜜罐环境以收集和测试漏洞利用实现,并在已知共享平台上共享工具和技术。随着这些社区内的意识扩散,我们预计将进一步武器化和持续针对易受攻击的SharePoint基础设施。
技术概述
先前修补的CVE(49704/49706)首次在Pwn2Own柏林会议上披露。后来发现这两个漏洞可以组合在一起形成完整的RCE“ToolShell”攻击链。名称“ToolShell”指的是最初滥用SharePoint的/ToolPane.aspx(CVE-2025-49704),这是一个用于网站配置和管理的系统页面。
此漏洞链通过向URI /layouts/15/ToolPane.aspx?DisplayMode=Edit发送特制POST请求,利用Referer头验证中的逻辑缺陷,实现未授权远程代码执行。此绕过允许攻击者无需身份验证即可访问SharePoint的ToolPane功能,最终通过上传或内存中的Web组件实现代码执行。
xxx.aspx
2025年7月18日09:58 GMT,SentinelOne观察到一次利用尝试,攻击者投放了一个名为xxx.aspx的自定义密码保护ASPX webshell。此活动似乎是手动和探索性的,可能由人工操作而非自动化脚本执行。
webshell写入以下路径:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\xxx.aspx
此webshell提供基本HTML界面,允许三个主要功能:
- 通过嵌入式表单设置cookie进行身份验证
- 通过GTaRkhJ9wz参数提交命令,通过cmd.exe运行并返回客户端
- 通过多部分表单使用字段0z3H8H8atO(文件)和7KAjlfecWF(目标路径)进行文件上传
该shell利用基本混淆和验证机制,包括基于cookie的身份验证和硬编码SHA512哈希以限制访问。密码检查逻辑表明攻击者预期重复或远程使用该shell。
投放webshell后,攻击者发出以下命令:
cmd.exe /c whoami > c:\progra~1\common~1\micros~1\webser~1\16\template\layouts\info.js
首次重定向whoami输出的尝试因拼写错误(\templa)而失败,表明活动可能是手动和探索性的。修正后的第二个命令成功将whoami输出写入Web可访问的.js文件,这是验证命令执行并可能通过浏览器检索输出的常见策略。
虽然此活动仅限于单个观察实例,但定制工具和交互行为表明威胁行为者有意进行后期利用尝试,测试或准备更广泛的操作。
spinstall0.aspx
SentinelOne观察到两波不同的活动,涉及一致的最终载荷spinstall0.aspx,于2025年7月18日和19日从不同的攻击者基础设施投放到SharePoint环境。虽然初始投放脚本在波次之间略有不同,但两者都部署了相同的webshell,旨在从主机提取和暴露敏感加密材料。
第一波 – 2025年7月18日(14:54–18:44 GMT) 源IP:107.191.58[.]76 此初始波次涉及基于PowerShell的载荷投递。Base64编码的blob被解码并写入SharePoint LAYOUTS目录:
|
|
生成的文件spinstall0.aspx不是传统的命令webshell,而是侦察和持久化实用程序:
|
|
此代码提取并打印主机的MachineKey值,包括ValidationKey、DecryptionKey和加密模式设置——这些信息对于攻击者寻求在负载平衡的SharePoint环境中保持持久访问或伪造身份验证令牌至关重要。
第二波 – 2025年7月19日(03:06–07:59 GMT) 源IP:104.238.159[.]149 大约12小时后,第二波使用几乎相同的逻辑投递相同的spinstall0.aspx载荷。关键区别在于PowerShell暂存脚本:
|
|
虽然编码载荷在形式上略有不同,但解码为相同的spinstall0.aspx shell。目标目录从16\TEMPLATE更改为15\TEMPLATE,可能反映了在不同SharePoint版本或环境中的测试。
与此活动中观察到的更交互式webshell不同,spinstall0.aspx不支持命令执行或文件上传。相反,其唯一目的似乎是信息收集,特别针对可能跨SharePoint实例重用以伪造身份验证或会话令牌的加密秘密。
鉴于此shell收集的MachineKey数据的独特性和战略价值,我们评估此集群是建立对高价值SharePoint部署持久访问的更广泛努力的一部分。
“no shell”
此活动集群跟踪为“no shell”,代表比此活动中其他集群更高级和隐蔽的方法。SentinelOne观察到该集群在2025年7月17日10:35:04 GMT至2025年7月18日03:51:29 GMT之间运行,使其成为我们已知最早的CVE-2025-53770在野利用。
与其他集群不同,没有持久性webshell写入磁盘。相反,遥测和行为指标表明攻击者依赖内存中的.NET模块执行,完全避免传统的基于文件的工件。此方法显著复杂化了检测和取证恢复,强调了无文件后期利用技术构成的威胁。
此集群中所有观察到的活动源自单个IP地址:96.9.125[.]147。尽管缺乏文件系统工件,受感染主机表现出与SharePoint利用一致的模式,随后通过PowerShell或本机.NET反射进行编码载荷投递和动态程序集加载。
鉴于时间(在公开概念验证讨论开始后仅几天)和无文件执行链的复杂性,我们评估此集群要么是熟练红队模拟练习,要么是具有专注于规避访问和凭据收集能力的威胁行为者的工作。
防御者应特别警惕SharePoint利用尝试后的内存驻留活动,并应采用能够检测异常.NET执行模式和程序集加载的EDR解决方案。
结论
现代威胁行为者通过快速采用补丁差异分析、n日利用和迭代开发漏洞利用来最大化收益。SharePoint服务器对威胁行为者具有吸引力,因为它们很可能存储敏感组织数据。除了作为知识存储的价值外,易受攻击的SharePoint服务器可用于暂存和投递额外攻击组件到受害组织,进行内部水坑攻击。利用的便利性和这些服务器上托管数据的潜在价值使“ToolShell”成为强大而危险的攻击链。
截至本文撰写时,Microsoft 365的SharePoint Online不受影响。我们的研究团队提供了开箱即用的平台检测规则和狩猎查询,以帮助发现和隔离相关行为。我们建议易受攻击的组织应用Microsoft发布的安全更新(2025年7月21日发布)以尽快缓解相关漏洞。SentinelOne正在积极监控其客户群的影响,并在识别时通知受影响者。
危害指标(IOC)
SHA-1
- f5b60a8ead96703080e73a1f79c3e70ff44df271 - spinstall0.aspx webshell
- fe3a3042890c1f11361368aeb2cc12647a6fdae1 - xxx.aspx webshell
- 76746b48a78a3828b64924f4aedca2e4c49b6735 - App_Web_spinstall0.aspx.9c9699a8.avz5nq6f.dll,spinstall0.aspx的编译版本
IP地址
- 96.9.125[.]147 - “no shell”集群的攻击者IP
- 107.191.58[.]76 - 在spinstall0.aspx集群第一波中使用的攻击者IP
- 104.238.159[.]149 - 在spinstall0.aspx集群第二波中使用的攻击者IP
新SentinelOne平台检测规则
- LAYOUTS目录中的Web Shell创建
- 检测到LAYOUTS目录中的Web Shell文件
- SharePoint IIS工作进程产生的可疑进程
SentinelOne平台狩猎查询
|
|
免责声明 本出版物中提及的所有第三方产品名称、徽标和品牌均为其各自所有者的财产,仅用于识别目的。使用这些名称、徽标和品牌并不意味着与第三方有关联、认可、赞助或关联。