记一次EDU证书站挖掘
字数 1527
更新时间 2026-01-31 12:03:48

渗透测试教学:从边缘资产测绘到获取权限

概述

本教学文档基于一篇真实的渗透测试案例,详细记录了安全研究人员如何通过对一个教育机构(EDU)证书站的测试,发现并利用多个安全漏洞,最终获得系统权限的过程。文档将逐步解析测试的各个阶段,包括信息收集、漏洞发现与利用,旨在为安全学习者和从业者提供参考。

1. 信息收集与边缘资产测绘

1.1 目标锚定

  • 目标为教育机构的证书站,常规资产可能已被多次测试,因此重点转向边缘资产(非核心或次要系统)。
  • 使用Hunter语法进行测绘:
    web.title="xxxx大学" && icp.number!="xxxxxxx"
    该语法筛选出标题包含特定大学名称但未备案的IP站点,避免与主站重复测试。

1.2 关键点

  • 边缘资产通常防护较弱,易被忽略。
  • 备案信息缺失可能意味着管理疏忽,增加漏洞存在的可能性。

2. 漏洞发现与分析

2.1 接口未授权访问

  • 目标站点存在.map文件泄露,通过解析文件还原前端代码,发现文件上传和下载接口。
  • 未授权访问允许直接调用接口,无需身份验证。

2.2 任意文件下载漏洞

  • 下载接口的fileName参数需传入Base64编码的文件路径。
  • 通过编码/etc/passwd等路径,成功下载系统文件,确认服务运行用户(如datahomeelasticsearch)。
  • 利用方法
    将路径转换为Base64格式(如/etc/passwdL2V0Yy9wYXNzd2Q=),作为参数发送请求。

2.3 Bash History泄露凭据

  • 尝试读取/root/.bash_history获取历史命令记录。
  • 历史记录中意外暴露管理员账户凭据(如用户名、密码)。
  • 关键点
    • 管理员操作痕迹可能包含敏感信息。
    • 默认配置未清理历史记录是常见隐患。

2.4 任意文件上传与路径穿越

  • 文件上传接口未对文件类型和内容过滤,可上传任意文件(如JSP网页木马)。
  • 文件存储路径通过响应包返回,但直接访问返回404,需结合路径穿越上传到Web目录。
  • 利用步骤
    1. 从Bash History获知Web绝对路径(如/datahome/tomcat8_case/webapps/case)。
    2. 上传时修改文件名,使用路径穿越符号(如../../../webapps/case/shell.jsp)。
    3. 上传后直接访问Web路径下的文件,获取权限。

3. 漏洞链整合与利用

3.1 完整流程

  1. 信息收集:通过边缘资产测绘发现目标。
  2. 未授权访问:利用接口泄露获取代码逻辑。
  3. 文件下载:读取系统文件(如/etc/passwd、Bash History)泄露凭据。
  4. 权限提升:用凭据登录后台,结合路径穿越上传Webshell。
  5. 权限确认:上传JSP文件执行命令,验证漏洞。

3.2 技术要点

  • Base64编码:用于处理文件路径参数,避免特殊字符被过滤。
  • 路径穿越:利用文件名参数中的../跳转目录,将文件上传至可执行路径。
  • 防御规避:测试时使用无害文件(如计算1+1的JSP脚本)避免触发防护。

4. 修复建议

  • 输入验证:对文件上传接口限制类型、内容及路径参数。
  • 访问控制:关键接口需强制身份验证。
  • 日志管理:定期清理Bash History等敏感记录。
  • 资产梳理:隐藏或加固边缘资产,避免信息泄露。

总结

本案例展示了渗透测试中常见的漏洞链:信息收集→未授权访问→文件操作→权限获取。关键在于逐步深入,结合多漏洞实现目标。安全人员应注重边缘资产管理和输入验证,避免类似风险。


本文基于公开技术文章整理,仅用于教学目的。实际测试需获得授权,遵守法律法规。

 全屏