web渗透-信息打点
字数 2843 2025-08-10 08:28:07
Web渗透测试信息打点全面指南
1. 信息打点概述
信息打点是Web渗透测试中至关重要的前期准备工作,目的是对目标网站进行全面信息收集,为后续渗透测试奠定基础。完整的信息打点工作包含以下核心内容:
- 基础信息收集(WHOIS、DNS)
- 网络拓扑分析
- 子域名枚举
- 开放端口探测
- 指纹识别
- 目录和文件探测
- 漏洞扫描
- 源码与配置检视
2. 基础信息收集
2.1 WHOIS信息收集
工具与方法:
- 使用whois命令行工具或在线查询服务
- 常用命令:
whois example.com
收集内容:
- 域名注册人姓名
- 注册邮箱地址
- 注册商信息
- 注册日期和过期时间
- 域名服务器(NS)记录
- 技术联系人信息
注意事项:
- 注册信息可能使用代理服务隐藏
- 需要结合其他信息综合分析
- 不同顶级域(TLD)的WHOIS信息格式可能不同
2.2 DNS信息收集
查询类型:
- A记录:获取网站IP地址
- MX记录:邮件服务器信息
- TXT记录:可能包含验证信息或其他配置
- CNAME记录:别名信息
- NS记录:名称服务器
常用工具:
- dig:
dig example.com ANY - nslookup
- host
- 在线DNS查询工具
关键点:
- 获取网站IP地址段
- 识别DNS服务提供商
- 发现可能的CDN使用情况
- 收集邮件服务器信息用于后续社工
3. 网络拓扑分析
3.1 寻找初始资产
- 基于WHOIS和DNS收集的IP地址段
- 识别ASN(自治系统号)获取更多IP范围
3.2 活跃主机发现
- Ping扫描:
nmap -sn 192.168.1.0/24 - TCP SYN扫描:
nmap -PS 192.168.1.0/24 - ARP扫描(内网)
3.3 端口扫描
- 全端口扫描:
nmap -p- 192.168.1.1 - 快速扫描:
nmap -F 192.168.1.1 - UDP扫描:
nmap -sU 192.168.1.1
3.4 服务识别
- 服务版本探测:
nmap -sV 192.168.1.1 - 操作系统探测:
nmap -O 192.168.1.1
3.5 网络拓扑绘制
- 使用工具:Network Topology Mapper、Lucidchart
- 标注主机间关系(如DB服务器与应用服务器)
- 识别可能的内部网络跳板
4. 子域名枚举
4.1 种子子域名收集
- 搜索引擎:
site:example.com - SSL证书查询:crt.sh
- 历史DNS记录:DNSdumpster
4.2 字典生成策略
- 基于已知子域名模式扩展
- 常见前缀/后缀组合(admin、test、dev等)
- 行业特定关键词
4.3 暴力枚举工具
- Sublist3r
- Amass
- Subfinder
- Gobuster:
gobuster dns -d example.com -w wordlist.txt
4.4 递归解析
- 对新发现的子域名进行二次枚举
- 扩大枚举范围
4.5 结果处理
- 去重和验证
- 识别隐藏的管理入口(如admin.internal.example.com)
5. 开放端口探测
5.1 扫描策略
- TCP全连接扫描
- SYN半开扫描(需要root权限)
- UDP扫描(较慢但重要)
5.2 关键端口识别
- Web服务:80, 443, 8080, 8443
- 数据库:3306(MySQL), 5432(PostgreSQL), 27017(MongoDB)
- 远程管理:22(SSH), 3389(RDP), 5900(VNC)
- 特殊服务:6379(Redis), 9200(Elasticsearch)
5.3 服务版本探测
- Banner抓取
- 协议交互分析
- 版本指纹匹配
6. 指纹识别
6.1 指纹库准备
- Wappalyzer数据库
- Nmap服务探测数据库
- 自定义指纹规则
6.2 主动指纹识别
- HTTP头分析(Server、X-Powered-By等)
- 特定请求响应分析(如404页面特征)
- 协议特定交互(如SSH、FTP的banner)
6.3 被动指纹识别
- JavaScript文件分析
- CSS样式表特征
- Cookie命名规则
- 静态资源路径模式
6.4 关键指纹
- Web服务器:Apache、Nginx、IIS版本
- 编程语言:PHP、ASP.NET、Java等
- 框架:Laravel、Django、Spring等
- CMS:WordPress、Drupal、Joomla等
7. 目录和文件探测
7.1 字典构建
- 常见目录名:admin、backup、config等
- 常见文件名:robots.txt、.git/config、.env等
- 备份文件模式:.bak、.old、*.tar.gz等
7.2 扫描工具
- Dirb
- Dirbuster
- Gobuster:
gobuster dir -u http://example.com -w wordlist.txt
7.3 关键发现
- 管理后台入口
- 配置文件泄露(.env、config.php等)
- 源码备份文件
- 版本控制目录(.git、.svn等)
8. 漏洞扫描
8.1 扫描工具
- OpenVAS
- Nessus
- Nexpose
- Acunetix
- Burp Suite Professional
8.2 常见漏洞类型
- SQL注入
- 跨站脚本(XSS)
- 跨站请求伪造(CSRF)
- 文件包含漏洞
- 文件上传漏洞
- 认证绕过漏洞
- 敏感信息泄露
8.3 扫描策略
- 认证扫描(提供有效凭证)
- 深度爬取(确保覆盖所有路径)
- 自定义漏洞检查规则
9. 源码与配置检视
9.1 获取方式
- 目录遍历漏洞利用
- 备份文件下载
- 版本控制信息泄露(.git、.svn)
- 错误信息泄露
9.2 关键分析点
- 数据库连接字符串
- API密钥和密码硬编码
- 输入验证逻辑
- 权限检查机制
- 第三方组件版本
10. 信息整合与分析
10.1 资产清单
- 整理所有发现的域名、子域名、IP地址
- 服务与端口映射表
- 技术栈汇总
10.2 攻击面评估
- 识别高风险服务
- 标记潜在入口点
- 规划渗透路径
10.3 报告生成
- 使用工具:Dradis、Faraday
- 包含详细发现和证据
- 提供风险评估和建议
11. 工具推荐
11.1 综合工具
- Recon-ng
- SpiderFoot
- Maltego
11.2 专项工具
- DNS枚举:dnsrecon、dnsenum
- 子域名枚举:Sublist3r、Amass
- 端口扫描:Nmap、Masscan
- 目录爆破:Dirb、Dirbuster、Gobuster
- 漏洞扫描:Nessus、OpenVAS
12. 注意事项
- 法律合规:确保获得授权后再进行测试
- 扫描频率控制:避免对目标系统造成影响
- 数据保密:妥善保管收集的信息
- 误报验证:手动验证自动化工具的结果
- 记录完整:详细记录所有步骤和发现
通过系统性地执行上述信息打点步骤,渗透测试人员可以全面了解目标系统的安全状况,为后续的深入测试提供坚实的基础。