完整收集信息以扩展实战攻击面
字数 1254 2025-08-06 20:12:36

完整收集信息以扩展实战攻击面 - 渗透测试技术指南

0x00 前言

本文通过两个实战案例(外部渗透和内部横向移动)展示信息收集在渗透测试中的重要性。掌握目标信息的程度直接决定了渗透的深度和广度。

0x01 外部信息收集实战

案例背景

  • 目标系统:ThinkPHP框架网站
  • 发现漏洞:TP3.x日志泄露
  • 使用工具:ThinkphpGUI-1.2-SNAPSHOT、TPlogScan.py

关键步骤

  1. 初始信息收集

    • 使用Wappalyzer识别网站指纹
    • 通过路径报错确认ThinkPHP版本(3.x或5.x)
  2. 发现日志泄露

    python3 TPLogScan.py -u http://xx.xx.xx.xx -v 3 -p /Application/Runtime/Logs/Home/ -y 2021 -m 11 -d 1
    
  3. 日志分析技巧

    • 信息-关键字关联法:将收集到的信息与关键字段关联筛选
    • 常见关键字:password, username, passwd, user, Key, Token, Session, Cookie等
    • 场景化筛选
      • 只有登录页面时:优先筛选用户凭证相关字段
      • 已有后台权限时:关注SQL操作关键词(Insert, Delete, Update, Select等)
      • 获取加密数据库凭证时:查找加密前的明文
  4. 实战应用

    • 从日志中筛选出管理员admin的查询语句和hash值
    • 通过cmd5解密hash获取凭证
    • 后台文件上传绕过:
      • 换行绕过后缀限制
      • 脏数据绕过内容检查

0x02 内部信息收集实战

案例背景

  • 初始入口:Shiro反序列化漏洞
  • 环境特点:小型内网,数据价值有限

关键步骤

  1. 数据库配置文件收集

    • 搜索常见配置文件后缀:yml, ini, conf, config
    • 发现内网阿里云MySQL数据库
  2. 源码分析技巧

    • 解压JAR包分析源码(使用IDEA或Jd-Gui)
    • 搜索硬编码信息:
      • 测试账号密码
      • API密钥
      • Token等敏感信息
  3. 企业微信API利用

    • 发现app_id和app_secret字段
    • 参考企业微信API文档利用:
      • 获取Token
      • 调用用户管理API
    • 当直接认证失败时,从数据库token_cache字段获取有效Token
  4. 云服务凭证收集

    • 搜索文件名关键词:Upload, OSS, Redis, Mysql, Config等
    • 搜索内容关键词:Accesskey, AccessID, Access_Key, Bucket等
    • 发现:
      • 两个阿里云accesskey
      • 一个七牛云accesskey
    • 成果:
      • 获取OSS BUCKET访问权限
      • 控制150多台云主机

0x03 核心方法论总结

  1. 信息-关键字关联筛选法

    • 根据当前环境特点选择合适的关键字
    • 建立信息与渗透目标的关联性假想
  2. 多维度信息收集

    • 外部:框架特征、日志、错误信息
    • 内部:配置文件、源码、数据库记录
  3. 渗透测试思维

    • 从有限信息中挖掘最大价值
    • 不放过任何可能包含敏感信息的数据源
    • 当一条路径受阻时,立即转向其他可能的信息源
  4. 工具与手工结合

    • 使用工具进行初步扫描
    • 手工分析关键数据提高效率

通过系统化的信息收集和关联分析,可以显著扩展渗透测试的攻击面,提高渗透成功率。

完整收集信息以扩展实战攻击面 - 渗透测试技术指南 0x00 前言 本文通过两个实战案例(外部渗透和内部横向移动)展示信息收集在渗透测试中的重要性。掌握目标信息的程度直接决定了渗透的深度和广度。 0x01 外部信息收集实战 案例背景 目标系统:ThinkPHP框架网站 发现漏洞:TP3.x日志泄露 使用工具:ThinkphpGUI-1.2-SNAPSHOT、TPlogScan.py 关键步骤 初始信息收集 : 使用Wappalyzer识别网站指纹 通过路径报错确认ThinkPHP版本(3.x或5.x) 发现日志泄露 : 日志分析技巧 : 信息-关键字关联法 :将收集到的信息与关键字段关联筛选 常见关键字 :password, username, passwd, user, Key, Token, Session, Cookie等 场景化筛选 : 只有登录页面时:优先筛选用户凭证相关字段 已有后台权限时:关注SQL操作关键词(Insert, Delete, Update, Select等) 获取加密数据库凭证时:查找加密前的明文 实战应用 : 从日志中筛选出管理员admin的查询语句和hash值 通过cmd5解密hash获取凭证 后台文件上传绕过: 换行绕过后缀限制 脏数据绕过内容检查 0x02 内部信息收集实战 案例背景 初始入口:Shiro反序列化漏洞 环境特点:小型内网,数据价值有限 关键步骤 数据库配置文件收集 : 搜索常见配置文件后缀:yml, ini, conf, config 发现内网阿里云MySQL数据库 源码分析技巧 : 解压JAR包分析源码(使用IDEA或Jd-Gui) 搜索硬编码信息: 测试账号密码 API密钥 Token等敏感信息 企业微信API利用 : 发现app_ id和app_ secret字段 参考企业微信API文档利用: 获取Token 调用用户管理API 当直接认证失败时,从数据库token_ cache字段获取有效Token 云服务凭证收集 : 搜索文件名关键词:Upload, OSS, Redis, Mysql, Config等 搜索内容关键词:Accesskey, AccessID, Access_ Key, Bucket等 发现: 两个阿里云accesskey 一个七牛云accesskey 成果: 获取OSS BUCKET访问权限 控制150多台云主机 0x03 核心方法论总结 信息-关键字关联筛选法 : 根据当前环境特点选择合适的关键字 建立信息与渗透目标的关联性假想 多维度信息收集 : 外部:框架特征、日志、错误信息 内部:配置文件、源码、数据库记录 渗透测试思维 : 从有限信息中挖掘最大价值 不放过任何可能包含敏感信息的数据源 当一条路径受阻时,立即转向其他可能的信息源 工具与手工结合 : 使用工具进行初步扫描 手工分析关键数据提高效率 通过系统化的信息收集和关联分析,可以显著扩展渗透测试的攻击面,提高渗透成功率。