新时代的渗透思路!微服务下的信息搜集(II)
字数 1270 2025-08-25 22:58:34
微服务架构下的渗透测试信息收集技术(II)
一、相关域名发现技术
1. 备案信息查询
- 通过ICP备案查询可发现关联域名
- 示例工具:各地通信管理局备案查询系统
- 典型发现:主站abc.com的备案信息中可能包含xyz123.com等关联域名
2. 证书透明度(CT)日志枚举
- 原理:CA机构发布的SSL/TLS证书会记录在公共日志中
- 可获取信息:域名、子域名、邮件地址
- 推荐工具:crt.sh (https://crt.sh/)
- 使用方法:在crt.sh中查询目标域名
3. DNS信息收集
- 推荐工具:OneForAll
- 功能特点:
- 支持多种DNS查询方式
- 可获取子域名、关联域名
- 示例发现:如ddba.com等关联域名
二、服务划分与识别
1. 服务分类
- 对收集到的域名逐个访问分析
- 常见微服务类型:
- 展示站
- 综合运营管理平台
- 广告服务
- 办公服务(如office.abc.com)
2. 服务器特征分析
- IP段分析:注意异常IP段(如不同于常见的11*...或14...*)
- 服务命名特征:如office、admin等关键词
三、端口扫描技术
1. 全面扫描策略
- 命令示例:
nmap -sC -T4 -p 1-65535 [目标IP] - 注意事项:
- 必须扫描全端口(1-65535)
- 重点关注非常规端口服务
2. 重要发现
- 开发中服务:可能包含默认账户密码
- 特殊服务端口:如管理后台、测试环境等
四、隐私文件探测
1. Git目录探测
- 探测方法:
- 尝试访问/.git/返回403说明存在
- 直接访问/.git/config可能获取配置信息
- 可获取信息:
- 开发人员姓名、邮箱
- 内网IP分布
- Git服务器位置
2. 其他敏感文件
- 常见探测路径:
- /.git/HEAD
- /.git/index
- 各种备份文件(.bak, .swp等)
五、API信息收集
1. Webpack打包应用分析
- 特点:前后端分离,API集中暴露
- 分析方法:
- 查看网页源代码中的.js文件
- 寻找API端点
2. Source Map文件利用
- 作用:还原网站原始代码
- 两种使用方法:
- 浏览器自带解析功能(如Firefox)
- 工具解析:
npm install -g source-map-unpack
- 可获取信息:
- 完整API列表
- 内部代码逻辑
- 可能的敏感信息
六、综合渗透思路
- 通过备案、CT日志、DNS查询获取关联域名
- 对每个域名进行服务识别和分类
- 针对异常IP和特殊命名的服务重点扫描
- 全端口扫描发现隐藏服务
- 探测.git等版本控制目录获取开发信息
- 分析Webpack打包的JS文件获取API端点
- 利用Source Map还原源代码寻找漏洞
七、防御建议
- 严格控制.git等目录的访问权限
- 生产环境禁用Source Map文件
- 定期检查证书透明度日志中的信息
- 监控异常端口开放情况
- 对开发中服务实施严格的访问控制
- 定期进行安全审计和渗透测试
通过以上系统化的信息收集方法,渗透测试人员可以全面掌握微服务架构的目标系统情况,为后续的漏洞挖掘和利用奠定基础。