Kmoon Blog

渗透测试前如何完成信息收集?

约 3k 字 7 min

信息收集是渗透测试的基础和关键阶段,完整的信息收集能够为后续的漏洞挖掘提供方向和突破口。本文将系统梳理渗透测试前的信息收集方法和思路。

一、信息收集概述

1.1 为什么要做信息收集?

信息收集的目的是为了全面了解目标的攻击面,包括但不限于:

1.2 信息收集的分类

类型 说明 特点
被动信息收集 不与目标系统直接交互 隐蔽性好,不会触发告警
主动信息收集 直接与目标系统进行交互 信息更全面,但可能被记录

二、被动信息收集

2.1 域名相关信息

Whois 查询

获取域名的注册信息,包括:

常用工具/网站:

ICP 备案查询

国内网站必须进行 ICP 备案,通过备案可以:

查询网站:

权重与流量分析

2.2 子域名收集

子域名是渗透测试中的重要目标,往往存在安全防护较弱的情况。

在线子域名收集工具

搜索引擎语法

Google/必应/百度搜索语法:

site:example.com
site:example.com -www  # 排除主站

Fofa 语法:

domain="example.com"
host="*.example.com"

2.3 IP 信息收集

多地 Ping 测试

用于判断是否存在 CDN:

如果多地 Ping 返回不同 IP,说明目标使用了 CDN。

IP 反查

通过 IP 地址反查绑定的域名:

C 段扫描

获取目标 IP 所在的 C 段,发现同网段的其他资产:

假设目标 IP 是 192.168.1.100
C 段范围:192.168.1.0/24

2.4 敏感信息收集

Google Hacking 语法

查找后台/管理页面:

site:example.com inurl:login|admin|manage|system|cms
site:example.com intext:管理|后台|登陆|用户名|密码

查找可能存在注入的页面:

site:example.com inurl:aspx|jsp|php|asp?id=
site:example.com inurl:Show.asp?ID=

查找上传点:

site:example.com inurl:file|load|editor|upload

查找编辑器:

site:example.com inurl:ewebeditor|editor|uploadfile|eweb|edit

查找数据库/备份文件:

site:example.com filetype:mdb|asp|#|sql|zip|bak|rar

查看脚本类型:

site:example.com filetype:asp|aspx|php|jsp

迂回策略(查找 CMS 默认路径):

inurl:cms/data/templates/images/index/

Fofa 资产测绘

查找特定系统:

body="xxx系统" && org="China Education and Research Network Center"
title="后台管理" && country="CN"
host=".edu.cn" && status_code="200"

查找管理系统:

"管理系统" && org="China Education and Research Network Center"

2.5 组织架构信息

公司/子公司信息

移动端资产

人员信息


三、主动信息收集

3.1 端口扫描

识别目标开放的服务和端口:

# Nmap 常用命令
nmap -sV -O -p- target.com
nmap -sS -A target.com

常见关注端口:

端口 服务 风险点
21 FTP 匿名登录、弱口令
22 SSH 弱口令、密钥泄露
80/443 Web 各类 Web 漏洞
3306 MySQL 弱口令、未授权
6379 Redis 未授权访问
8080/8443 管理后台 默认密码、配置不当

3.2 目录/文件扫描

发现隐藏目录、备份文件、敏感文件:

# 常用工具
- dirsearch: python3 dirsearch.py -u target.com
- ffuf: ffuf -w wordlist.txt -u target.com/FUZZ
- gobuster: gobuster dir -u target.com -w wordlist.txt

重点关注:

3.3 指纹识别

识别网站使用的技术栈:

识别方法:

CMS 漏洞利用: 识别出 CMS 后,可搜索历史漏洞:

3.4 JS 文件分析

现代前端应用常在 JS 中暴露敏感信息:

分析工具:


四、针对 EDU 目标的收集思路

4.1 信息收集方向

以高校为例,可从以下维度收集:

4.2 重点关注的系统

统一身份认证系统

业务系统

4.3 收集技巧

学号收集:

site:xxx.edu.cn 学号
site:xxx.edu.cn 身份证

账号规律:

批量挖掘语法:

site:edu.cn inurl:/payment intitle:大学缴费平台
site:xxx.edu.cn 注册|忘记密码|登录

4.4 建站公司关联

很多高校网站由外包公司开发:


五、自动化工具辅助

5.1 资产测绘工具

工具 功能 特点
Goby 资产测绘、漏洞扫描 可视化、支持主动+被动
Fofa 网络空间搜索引擎 语法强大、数据全面
Shodan 物联网设备搜索 全球视角
Hunter 企业资产搜索引擎 国内企业信息丰富
Fofamap Fofa API 工具 批量收集、联动 Nuclei

5.2 批量扫描工具

Nuclei

# 基于模板的漏洞扫描器
nuclei -l urls.txt -t cves/

afrog

# 国产 POC 扫描工具
afrog -T urls.txt

Xray

# 被动式扫描,配合浏览器使用
xray webscan --listen 127.0.0.1:7777

5.3 信息收集流程建议

┌─────────────────────────────────────────────────────┐
│                    信息收集流程                      │
├─────────────────────────────────────────────────────┤
│  1. 确定目标范围 → 域名、IP、业务范围               │
│           ↓                                         │
│  2. 被动收集 → Whois、备案、子域名、搜索引擎        │
│           ↓                                         │
│  3. 主动探测 → 端口扫描、目录扫描、指纹识别         │
│           ↓                                         │
│  4. 深度分析 → JS 审计、API 发现、逻辑梳理          │
│           ↓                                         │
│  5. 资产梳理 → 建立资产清单、风险分级               │
└─────────────────────────────────────────────────────┘

六、常见漏洞入口点

信息收集完成后,可重点关注以下功能的漏洞挖掘:

6.1 认证相关

功能点 可能的漏洞
登录 SQL 注入、弱口令、验证码绕过、返回包篡改
注册 任意用户注册、短信轰炸、注册覆盖
密码找回 任意密码重置、验证码爆破、密保问题泄露

6.2 业务功能

功能点 可能的漏洞
会员系统 越权访问、信息泄露、CSRF
支付系统 金额篡改、订单重放、优惠券滥用
文件上传 任意文件上传、路径遍历
搜索功能 SQL 注入、XSS、敏感信息泄露

七、总结与建议

7.1 信息收集的核心原则

  1. 全面性:不放过任何可能的入口点
  2. 持续性:新资产持续出现,定期复查
  3. 关联性:将收集到的信息关联分析
  4. 隐蔽性:被动收集优先,避免过早暴露

7.2 提升效率的建议

  1. 建立知识库:将收集到的信息结构化存储
  2. 工具链整合:将多个工具串联,自动化处理
  3. 关注边缘资产:子域名、测试环境往往防护较弱
  4. 重视人工分析:工具发现后,人工验证和深入挖掘

7.3 合规提醒

信息收集和渗透测试必须在授权范围内进行,遵守相关法律法规,不得对未授权目标进行扫描和攻击。


参考资源


信息收集是一个持续学习和积累的过程,多实战、多总结,才能不断提升信息收集的能力和效率。

#Security