零认证冒充管理员:SharePointJWT绕过漏洞CVE-2026-55040复盘"

admin 2026-10-17 08:33:33 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

零认证冒充管理员:SharePoint JWT绕过漏洞CVE-2026-55040复盘

零日手记
零日手记

随笔漫记安全路

2026年8月13日 08:48
北京

在小说阅读器读本章

去阅读

SharePoint Server的JWT校验流程存在多处缺陷,攻击者无需任何凭据,伪造令牌冒充任意用户——包括站点管理员。7月14日Patch Tuesday修复,Rapid7在8月11日放出完整技术分析和PoC。

CVE-2026-55040,CVSS 9.1。SharePoint Online不受影响,仅影响本地部署版。


漏洞根因:嵌套JWT校验缺陷

SharePoint的S2S(Service-to-Service)认证使用嵌套JWT——外层JWT承载用户身份声明,内层actor JWT承载应用身份。校验逻辑要求每一层都跟认证主体做密码学绑定。

问题在于:SharePoint允许未签名的外层令牌。攻击者可以用alg: none构造一个外层JWT,在里面放任意身份、受众、签发者、委派声明。内层actor令牌只需通过结构检查或元数据检查,就能让这些不受信任的外层声明生效。

伪造的令牌可以用两种身份命名方式:

  • SID方式:用Windows安全标识符(S-1-5-21-...),通过枚举RID找到站点管理员
  • UPN方式:用用户主体名称(如[email protected][1]),需要知道目标用户的UPN

利用流程:三步冒充管理员

Rapid7的PoC脚本(CVE-2026-55040.py)自动化了整个流程:

第一步:自动发现参数

脚本访问SharePoint的STS元数据端点,自动提取:

  • x5t:STS签名证书指纹
  • realm:SharePoint领域GUID

不需要任何认证,这些信息公网可查。

第二步:枚举用户找管理员

如果攻击者能访问目标域控(通过SMB/LSARPC),脚本自动获取域SID,然后枚举RID(从500开始,然后1000-10000),逐个构造伪造JWT测试是否有效,直到找到站点管理员:

[+] RID 1605: SHAREPOINT\\system (System Account) ** SITE ADMIN **
[+] Found site admin at RID 1605, stopping scan

如果无法访问域控,也可以用UPN方式——从HTTPS证书域名推导出UPN,默认试administrator。

第三步:伪造JWT获取权限

用发现的参数伪造JWT令牌,发送到SharePoint API。PoC演示获取form digest成功——管理员权限到手。


RCE链:认证绕过+代码执行

Rapid7没有止步于认证绕过。他们将CVE-2026-55040与另一个漏洞CVE-2026-63520(CVSS 8.1)串联——SharePoint Business Connectivity Services中的不安全.NET类型实例化。

链式利用:认证绕过冒充管理员 → 调用BCS功能触发不安全类型实例化 → 以Windows服务账户权限执行任意代码。

完整链:零认证 → 冒充管理员 → RCE。

CVE-2026-63520影响范围更广:SharePoint Subscription Edition、2019、2016,以及Project Server 2013 SP1和Office Web Apps 2013 SP1。


AI辅助挖掘:80,000次工具调用

Rapid7在2026年1月和3月对SharePoint代码库跑了两次研究冲刺。1月没出成果。3月出了——他们用了一个重度提示的AI Agent辅助发现这条双漏洞链。

24天Agent工作期间:96个会话、256次提示、约80,000次工具调用。

Rapid7明确说全自动方式不行——模型经常产生有问题的或不准确的发现,需要专家引导。而且Agent还\"作弊\"了:它超出指导范围,重放管理员凭据、启用调试标志、读取密钥——这些都不在原始威胁模型里。

又是AI不择手段达成目标的案例。


影响范围

版本 受影响范围 修复版本
SharePoint Server 2016 16.0.0 - 16.0.5561.1001之前 16.0.5561.1001+(7月14日)
SharePoint Server 2019 16.0.0 - 16.0.10417.20175之前 16.0.10417.20175+(7月14日)
SharePoint Server Subscription Edition 16.0.0 - 16.0.19725.20434之前 16.0.19725.20434+(7月14日)
SharePoint Online — 不受影响

Shodan搜索\"sharepoint\"约602个实例暴露在公网。

CISA在7月14日的评估中标记该漏洞:automatable=yes, technical\_impact=total。截至7月14日尚无在野利用。

注意:7月14日也是SharePoint Server 2016和2019的生命周期结束日。这两个版本虽然出现在受影响列表里,但微软不再为已停止支持的版本提供新安全更新。CVE-2026-63520(RCE部分)的修复包发布时间尚不确定。


修复建议

  1. 立即安装7月安全更新(打破认证绕过→RCE链)
  2. SharePoint Subscription Edition升级到16.0.19725.20434+
  3. SharePoint 2016/2019已停止支持——考虑迁移到Subscription Edition或SharePoint Online
  4. 关注8月更新包,修复CVE-2026-63520(RCE部分)
  5. 如果运行过暴露在公网的SharePoint,检查IIS机器密钥是否被盗——CISA警告有攻击者在窃取IIS机器密钥
  6. 限制SharePoint的SMB/LSARPC访问(阻断SID枚举路径)
  7. SharePoint不应直接暴露在公网——602个公网实例都是靶子

参考链接

  • Rapid7技术分析:rapid7.com/blog/post/ra-microsoft-sharepoint-jwt-token-authentication-bypass-cve-2026-55040
  • PoC:github.com/sfewer-r7/CVE-2026-55040
  • MSRC:msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55040
  • The Hacker News:thehackernews.com/2026/08/researchers-disclose-ai-assisted.html
  • Nuclei检测模板:github.com/projectdiscovery/nuclei-templates/pull/16676

引用链接

[1][email protected]: mailto:[email protected]


记一次安全测试实战——某企业级AI平台:203个API接口的渗透实录" 网络安全文章

记一次安全测试实战——某企业级AI平台:203个API接口的渗透实录"

该文档记录了对某企业级AI平台的安全测试实战,通过JS逆向发现203个API接口和18个微服务。测试揭示了严重的安全漏洞:全站912处接口零认证,JWT存在None算法伪造和公钥暴露问题,可任意身份伪造和账号接管。还发现了SSTI模板注入等漏洞。两轮测试共发现3913项问题,高危以上占2296项。建议进行网关统一鉴权、API资产测绘和常态化安全扫描。
APIkey泄露进git的三道防线" 网络安全文章

APIkey泄露进git的三道防线"

本文提出防止API密钥泄露进Git的三层防线:构建阶段通过envOr模式和环境变量文件避免密钥硬编码;运行阶段在启动和首次请求时检查空密钥并立即报错;代码审查阶段使用pre-commithook和CI扫描工具自动化检测,辅以人工复查。核心建议是密钥永远不应出现在Git历史中,三层防线协同可将泄露概率降至接近零。
CVSS10.0!ManageEngineADAuditPlus爆未授权RCE漏洞,攻击者可直接接管企业AD审计服务器" 网络安全文章

CVSS10.0!ManageEngineADAuditPlus爆未授权RCE漏洞,攻击者可直接接管企业AD审计服务器"

CVE-2026-6516是ManageEngineADAuditPlus的极危漏洞,CVSS评分10.0。攻击者利用认证绕过和路径遍历组合,无需认证即可实现远程代码执行,完全控制服务器并威胁ActiveDirectory环境。受影响版本为build8606以下,官方已于2026年4月17日发布修复版本。建议立即升级至build8606或更高版本,并更新所有Windows和Macagent。
评论:0   参与:  0