完整收集信息以扩展实战攻击面
字数 1254 2025-08-06 20:12:36
完整收集信息以扩展实战攻击面 - 渗透测试技术指南
0x00 前言
本文通过两个实战案例(外部渗透和内部横向移动)展示信息收集在渗透测试中的重要性。掌握目标信息的程度直接决定了渗透的深度和广度。
0x01 外部信息收集实战
案例背景
- 目标系统:ThinkPHP框架网站
- 发现漏洞:TP3.x日志泄露
- 使用工具:ThinkphpGUI-1.2-SNAPSHOT、TPlogScan.py
关键步骤
-
初始信息收集:
- 使用Wappalyzer识别网站指纹
- 通过路径报错确认ThinkPHP版本(3.x或5.x)
-
发现日志泄露:
python3 TPLogScan.py -u http://xx.xx.xx.xx -v 3 -p /Application/Runtime/Logs/Home/ -y 2021 -m 11 -d 1 -
日志分析技巧:
- 信息-关键字关联法:将收集到的信息与关键字段关联筛选
- 常见关键字: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 核心方法论总结
-
信息-关键字关联筛选法:
- 根据当前环境特点选择合适的关键字
- 建立信息与渗透目标的关联性假想
-
多维度信息收集:
- 外部:框架特征、日志、错误信息
- 内部:配置文件、源码、数据库记录
-
渗透测试思维:
- 从有限信息中挖掘最大价值
- 不放过任何可能包含敏感信息的数据源
- 当一条路径受阻时,立即转向其他可能的信息源
-
工具与手工结合:
- 使用工具进行初步扫描
- 手工分析关键数据提高效率
通过系统化的信息收集和关联分析,可以显著扩展渗透测试的攻击面,提高渗透成功率。