渗透测试中的信息收集:从入门到精通
目录
前言:信息收集的重要性
一、基础信息收集
1.1 域名发现
1.2 IP地址收集
1.3 子域名发现
二、端口和服务扫描
2.1 Nmap高级用法
2.2 批量扫描工具
三、指纹识别技术
3.1 识别Web应用指纹
3.2 识别WAF
四、敏感信息发现
4.1 备份文件扫描
4.2 目录扫描工具
结语
前言:信息收集的重要性
在渗透测试的五个关键阶段中,信息收集是第一个也是最基础的一环。良好的信息收集可以让我们:
- 更全面地了解目标系统
- 发现潜在的攻击入口
- 为后续的漏洞扫描和利用奠定基础
一、基础信息收集
1.1 域名发现
WHOIS查询是最基本的域名信息收集技术:
# 使用whois命令查询域名信息
whois example.com
常用WHOIS查询网站:
- Boce.com
- Whois查查
1.2 IP地址收集
判断目标是否使用CDN:(如果对方使用cdn需要进行绕过)
# 使用ping测试多个地理位置的IP
ping www.example.com
# 使用在线工具查看全球ping结果
6种绕过CDN获取真实IP的方法:
- 查询历史DNS记录:微步在线
- 检查邮件服务器信息
- 通过SSL证书匹配
- 使用国外节点请求
- 查找子域名(常不使用CDN)
- 网络空间引擎搜索:FOFA
1.3 子域名发现
kali中使用dnsenum工具
dnsenum --enum example.com
JSFinder脚本使用:
python JSFinder.py -u https://www.example.com -ou urls.txt -os subdomains.txt
myssl网站查询
亚数信息-SSL/TLS安全评估报告
fofa搜索引擎查询(根据语法进行查询)
网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统
二、端口和服务扫描
2.1 Nmap高级用法
nmap -sV -O -p- --script=vuln -T4 目标IP -oA scan_result
Nmap常用参数:
-sV
:服务版本探测-O
:操作系统识别--script=vuln
:漏洞扫描脚本-T4
:调整扫描速度
2.2 批量扫描工具
Fscan工具:
fscan64.exe -hf ip_list.txt
特点:
- 高效的批量扫描
- 自动识别常见服务
- 支持多种协议
Goby可视化扫描: 优势:
- 自动绘制网络拓扑图
- 可视化漏洞管理
- 资产关联分析
尖刀portscanner
扫描一个网段的所有主机; 开启的c段ip地址+开启的端口
三、指纹识别技术
3.1 识别Web应用指纹
使用whatweb工具:
whatweb -a3 https://target.com --color=never
常见指纹特征:
- HTTP响应头
- 特定文件/目录
- Cookie命名规则
- JavaScript/CSS特征
3.2 识别WAF
使用wafw00f工具:
wafw00f https://www.example.com
常见WAF识别特征:
- 特殊的响应头
- 拦截页面的签名
- HTTP状态码异常
四、敏感信息发现
4.1 备份文件扫描
常见备份文件扩展名:
- .bak
- .old
- .temp
- .swp
4.2 目录扫描工具
7KBScan特点:
- 轻量级快速扫描
- 支持自定义字典
- 可识别备份文件和敏感目录
御剑后台扫描器: 优势:
- 丰富的内置字典
- 支持多种扫描方式
- 结果直观展示
结语
信息收集作为渗透测试的基础阶段,需要:
- 系统性思维方式
- 持续更新的技术知识
- 严格遵守法律道德规范
建议学习路线:
- 掌握基础网络协议
- 熟练使用常见工具
- 参与合法的漏洞赏金计划
- 持续跟踪安全社区动态
注意:本文所有技术仅供合法的授权测试使用,未经授权实施可能面临法律制裁。