文章总结: 本文系统阐述渗透测试中的信息收集,将其提升至攻击面管理高度。涵盖资产发现、指纹识别、敏感信息挖掘、防御绕过及社会工程学等六大维度,推荐了FOFA、ARL、Nuclei等工具链。核心建议是构建全域攻击面视图,遵循被动到主动、自动化与手工结合的原则,文中末尾包含付费社群推广信息。
综合评分: 80
文章分类: 渗透测试,红队,安全工具,WEB安全,社会工程学
渗透测试信息收集终极指南:构建全域攻击面视图
原创
鲸落
Rot5pider安全团队
2025年10月17日 15:26
江西
点击上方蓝字 关注安全知识
本文旨在系统化地阐述渗透测试中的信息收集阶段,其深度和广度直接决定了渗透测试的最终成效。我们将信息收集提升到 “攻击面管理” 的高度,它不仅是一次性的动作,更是一个持续的过程。本文将遵循一个清晰的逻辑层次:从原则到实践,从外部到内部,从被动到主动,从自动化到手工精耕,最终整合为智能化的情报。
第一部分:核心理念与基础原则
1.1 信息收集的本质:攻击面发现与测绘信息收集的根本目的,是绘制一张尽可能完整的“目标地图”。这张地图上不仅标注了所有的入口(IP、域名、应用),还详细说明了每个入口的防御强度(WAF、防火墙)、使用的技术(操作系统、中间件、框架)、以及可能存在的“后门”或“捷径”(敏感信息泄露、配置错误)。优秀的渗透测试员如同一位战略家,在攻击前已对战场了如指掌。
1.2 核心原则
- 合法性原则: 所有活动必须在授权范围内进行。明确的测试范围(哪些IP、域名可以测试)是红线。
- 循序渐进原则: 遵循“被动收集 -> 主动扫描 -> 交互验证”的流程,避免过早触发防御系统。
- 多源印证原则: 不依赖单一信息源或工具。交叉验证来自不同引擎、工具和手工检查的结果,确保准确性。
- 深度与广度平衡: 既要全面覆盖(广度),也要对关键资产进行深度挖掘。资源永远有限,需要优先聚焦在最可能突破的点上。
- 持续性原则: 攻击面是动态变化的。在长期渗透测试(如红队行动)中,需要建立持续监控机制,及时发现新资产、新漏洞。
1.3 参考框架
- Cyber Kill Chain(网络杀伤链): 信息收集对应“侦查”和“武器化”的早期阶段。
- PTES(渗透测试执行标准): 将情报收集作为独立且关键的阶段。
- MITRE ATT&CK: 信息收集技术对应 Reconnaissance (TA0043) 矩阵下的各项技术,如主动扫描(T1595)、搜集受害者主机信息(T1592)、搜集受害者组织信息(T1591)等。
第二部分:全域信息收集详解
我们将信息收集分为六大维度,层层递进。
维度一:资产发现 – 划定战场边界
目标是回答:“目标到底有哪些资产暴露在互联网上?”
2.1.1 域名系统(DNS)深度利用
-
WHOIS查询:
-
目的: 获取域名注册人、注册商、注册日期、过期日期、管理员联系邮箱(常可发现邮箱命名规则)和电话。
-
工具:
whois命令、ViewDNS.info、ICANN Lookup。注意现在很多信息被隐私保护服务隐藏。 -
技巧: 查询历史WHOIS记录可能暴露未受保护的真实信息。
-
DNS记录枚举:
-
A/AAAA记录: 直接获取IPv4/IPv6地址。
-
CNAME记录: 别名记录,可能指向第三方服务(如CDN、云存储),是发现关联资产的关键。
-
MX记录: 邮件服务器地址,通常是一个核心内部系统,可能未受CDN保护。
-
TXT记录: 常用于SPF反垃圾邮件配置(包含邮件服务器IP)、域名验证、甚至可能泄露内部信息(如
_github-challenge-*用于验证域名所有权)。 -
NS记录: 域名服务器记录,其本身也是重要的子域名。
-
SPF记录: 从TXT记录中解析,明确列出允许发送邮件的IP范围,是获取真实IP段的重要来源。
-
工具:
dig、nslookup、dnsrecon、DNSDumpster。
2.1.2 子域名发现(重点与难点)
-
证书透明度(CT)日志: 这是当前最有效的方法之一。几乎所有SSL/TLS证书的签发都会被记录在CT日志中。
-
平台:
crt.sh(最强大,支持通配符查询)、CertSpotter、Google Transparency Report。 -
自动化枚举工具: 采用“协同工作”模式。
-
被动枚举: 调用各种API和搜索引擎接口,速度快,噪音小。工具:
subfinder,Amass(被动模式)。 -
字典爆破: 使用强大的字典(如
subdomains-top1million-5000.txt,fuzzdb中的字典)进行暴力破解。工具:Amass(主动模式)、gobuster dns、OneForAll(集成了被动、爆破、递归等多种技术,强烈推荐)。 -
递归搜索: 对发现的子域名再进行子域名爆破(如对
dev.api.target.com进行爆破),发现更深层次的资产。 -
置换与组合: 基于已知子域名生成新域名(如
api-dev,admin-prod)。 -
搜索引擎语法:
site:.target.com在Google、Bing中搜索,常能发现爬虫抓取到但未被工具收录的子域名。 -
网络空间测绘引擎: 使用
domain="target.com"语法在FOFA、Shodan等平台搜索,结果极为全面。
2.1.3 IP地址空间测绘
-
ASN(自治系统号)发现:
-
目的: 大型组织通常拥有自己的ASN,用于管理其IP地址块。找到ASN,就等于找到了目标的“IP领地”。
-
方法: 通过目标域名或IP反查ASN。工具:
BGP.he.net(非常直观)、IPinfo.io、RIPE Database。 -
技巧: 查询关联的ASN,如上游ISP、对等互联的ASN,可能发现托管的管理接口或测试环境。
-
C段/Zmap全网扫描:
-
C段扫描: 在发现一个真实IP(如
1.1.1.10)后,扫描1.1.1.0/24网段。工具:Nmap。 -
B段/Zmap扫描: 在红队场景下,时间充裕时可对更大网段(如
1.1.0.0/16)进行扫描,使用Zmap或Masscan快速定位开放端口,再用Nmap进行精细验证。
2.1.4 关联资产挖掘
-
企业架构情报: 使用企查查、天眼查、国外类似的
Owler等,了解公司的子公司、控股公司、投资方。这些关联实体的资产通常也在测试范围内,且安全水平可能参差不齐,成为突破口。 -
内容与指纹关联:
-
图标(Favicon)哈希: 计算目标网站图标的MD5哈希,然后在FOFA/Shodan中搜索
icon_hash="-123456789",可快速发现使用相同程序的所有站点。 -
特定标题/正文: 搜索公司名称、电话、邮箱等独特信息,可能发现被遗忘的旧站点、测试站点或员工博客。
维度二:技术栈指纹识别 – 描绘技术画像
目标是回答:“这些资产是用什么技术构建的?版本号是多少?”
2.2.1 Web应用指纹识别
-
HTTP响应头分析:
Server(Nginx/1.18.0)、X-Powered-By(PHP/7.4.33)、X-AspNet-Version、Set-Cookie(JSESSIONID暗示JAVA,PHPSESSID暗示PHP)等。 -
文件路径与内容:
-
特定路径:
/wp-admin/(WordPress),/admin/login.asp(可能为ASP),/console(WebLogic)。 -
静态资源: JavaScript/CSS文件中的注释、代码库特有变量、地图文件(
.map)可能泄露源码。 -
默认页面/错误页面: 特有的404页面、500报错信息。
-
HTML源码特征: Meta标签、注释、特定代码片段(如
React App)。 -
TCP/IP栈指纹: 使用
Nmap -O进行操作系统识别,基于TCP/IP协议栈的细微差异。 -
工具:
-
浏览器插件:
Wappalyzer,BuiltWith。适合快速浏览。 -
命令行工具:
WhatWeb(功能丰富),Nuclei(使用模板识别,社区活跃,更新快)。 -
被动识别: 在Burp Suite中安装
Software Version Reporter等插件,在代理流量中自动识别。
2.2.2 端口与服务探测
-
端口扫描策略:
-
全端口扫描: 使用
Masscan快速扫全端口,再用Nmap对开放端口进行精细化探测。 -
TOP端口扫描:
Nmap --top-ports 1000是效率与效果的平衡点。 -
服务版本探测:
Nmap -sV会尝试与端口通信,根据响应信息判断服务类型和版本号。例如,识别出OpenSSH 7.4是否存在已知漏洞,或者Apache Tomcat 8.5.31是否可被弱口令攻击。 -
NSE脚本引擎: 使用
Nmap --script运行特定脚本,如--script vuln进行漏洞检查,--script ssl-enum-ciphers检查SSL/TLS配置。
维度三:敏感信息泄漏挖掘 – 寻找“藏宝图”
目标是回答:“目标是否无意中把钥匙放在了门口?”
2.3.1 源码版本控制泄露
-
Git泄露:
-
风险: 完整的代码库历史、提交记录、敏感硬编码信息(API密钥、数据库密码)。
-
检测: 访问
/.git/目录,看是否返回403而非404。使用工具GitHack、dvcs-ripper可下载整个.git目录并恢复源码。 -
自动化:
Nuclei有大量针对Git、SVN等泄露的检测模板。 -
SVN泄露: 原理类似,会存在
.svn/目录和entries文件。工具:svnExploit。 -
DS_Store文件: Mac系统自动生成,包含目录结构。工具:
ds_store_exp。
2.3.2 备份文件与配置文件
-
备份文件扫描: 使用字典爆破常见备份文件名,如
www.zip,database.sql.gz,web.tar.gz,index.php.bak。 -
配置文件泄露:
-
通用:
.env(环境变量,常含数据库凭证),config.php,application.properties。 -
Java:
WEB-INF/web.xml(泄露程序结构),WEB-INF/classes/下的配置文件。 -
编辑器临时文件:
.swp(Vim),.swo,.swn。
2.3.3 目录与文件遍历
- 目录爆破: 使用强大字典(如
SecLists中的目录字典)发现隐藏的管理后台、API文档、文件上传点等。 - 工具:
ffuf(速度快,功能强),gobuster dir,DirBuster(图形化老牌工具)。 - 技巧: 使用扩展名列表(如
php,asp,aspx,jsp,do,action)进行联合爆破。
2.3.4 第三方平台信息泄露(社会工程学宝库)
-
GitHub/GitLab/Gitee:
-
搜索语法:
org:companyname "password",filename:id_rsa,"target.com" AND "API_KEY"。 -
监控: 设置GitHub监控脚本,实时推送含有敏感关键词的新提交。
-
工具:
git-all-secrets,truffleHog(用于扫描代码库历史中的敏感信息)。 -
网盘与文档分享平台: 搜索公司名称,可能找到员工公开分享的内部培训资料、系统架构图、账号密码列表。
-
错误信息与日志: 应用程序的调试信息、SQL报错可能暴露数据库结构、绝对路径、部分数据。
维度四:防御体系绕过与真实源识别
目标是回答:“如何绕过CDN/WAF,直击真实服务器?”
2.4.1 CDN绕过技术大全
-
查询历史DNS记录: 目标可能近期才使用CDN。平台:
ViewDNS.info,SecurityTrails。 -
寻找未使用CDN的子域名: 重点扫描
mail.target.com,dev.target.com,api.target.com,ftp.target.com等。 -
利用邮件服务器: 注册目标网站,触发密码重置邮件,邮件中的链接或图片源地址可能指向真实IP。
-
SSL证书匹配: 在
Censys或Shodan中搜索目标证书的哈希值或序列号,找到使用相同证书的其他IP。 -
国外DNS或冷门资源记录查询: 利用CDN分布不均,通过国外DNS解析或查询不常见的记录类型(如
AAAAIPv6记录)获取真实IP。 -
业务漏洞触发:
-
SSRF: 利用Web应用的SSRF漏洞让服务器从内网发起请求,从而探测真实IP。
-
XSS: 让访问者浏览器(如管理员)执行命令,返回其网络信息。
-
全网扫描与碰撞: 使用
Zmap扫描80/443端口,然后对返回的Banner信息与目标网站特征进行比对。
2.4.2 WAF识别与绕过
-
识别: 发送恶意请求(如
/<script>alert(1)</script>),根据响应头(如X-Protected-By)、状态码或拦截页面内容识别WAF厂商(Cloudflare, Akamai, 阿里云盾等)。 -
工具:
WAFW00F。 -
绕过思路:
-
编码/混淆: URL编码、Unicode编码、十六进制编码。
-
请求方法转换: 将GET请求改为POST,或使用其他HTTP方法。
-
参数污染:
id=1&id=2,WAF和后台应用解析可能不一致。 -
填充无用数据: 添加大量无用参数或长字符串,绕过基于正则表达式的检测。
维度五:社会工程学与人员信息收集
目标是回答:“如何从‘人’的角度找到突破口?”
-
员工信息收集:
-
来源: 企业官网、招聘网站(LinkedIn、脉脉)、技术社区(GitHub、博客园)、社交媒体(微博)。
-
信息: 姓名、职位、部门、技术栈、工作项目、邮箱、电话号码。
-
邮箱收集与验证:
-
工具:
Hunter.io(付费但精准),phonebook.cz(theHarvester的在线版),clearbit(浏览器插件)。 -
生成规则: 推测邮箱格式,如
姓.名@company.com,名首字母姓@company.com。 -
密码心理学: 结合收集到的公司信息(名称、产品、成立年份、口号)生成高针对性的密码字典,用于后续的爆破攻击。
维度六:云环境与特定资产收集
-
云服务商识别: 通过IP段归属(如阿里云、腾讯云、AWS)、HTTP响应头(如
X-AWS-Instance-ID)识别。 -
云存储桶枚举:
-
AWS S3: 桶名全局唯一,可通过字典爆破可读写的S3桶。工具:
AWSBucketDump,s3scanner。 -
阿里云OSS/腾讯云COS: 原理类似。
-
API接口发现: 通过JS文件(如
app.js、api.js)、APP反编译、文档站(如swagger-ui.html)发现未被前端页面引用的API端点。
第三部分:工具链与自动化平台
3.1 网络空间测绘引擎(“上帝视角”)
| 平台名称 | 特点与核心语法示例 |
| — | — |
| FOFA | 国内最强,语法丰富。domain="target.com", icon_hash="-xxx", header="thinkphp", ip="1.1.1.0/24" |
| Quake(鹰图) | 360出品,数据质量高,支持漏洞POC查询。app:"Tomcat" && country:CN |
| Shodan | 侧重设备、服务器、IoT。http.title:"Dashboard" org:"Amazon", port:"22" city:"Beijing" |
| ZoomEye(钟馗之眼) | 知道创宇出品,老牌可靠。app:OA, os:Windows |
| Censys | 证书信息详细,常用于CDN绕过。parsed.names: target.com |
3.2 综合自动化平台(“流水线工厂”)
- ARL(资产侦察灯塔系统): 开源,功能全面。输入主域名,自动进行子域名收集、端口扫描、服务识别、URL爬取、指纹识别、POC检测,并生成可视化报告。是构建自动化体系的基石。
- OneForAll: 非平台,但作为子域名收集的“瑞士军刀”,其强大程度足以单独列出。它集成了证书、DNS、搜索引擎、爆破等多种数据源,是目前最优秀的子域名收集工具。
- xRay: 不仅是强大的漏洞扫描器,其爬虫和被动扫描功能也能在代理模式下高效地收集信息并自动进行漏洞检测。
- Nuclei: 基于YAML模板的快速扫描器。社区有数千个模板,覆盖指纹识别、信息泄露、漏洞POC。可与子域名发现工具结合,实现“发现即扫描”。
3.3 专项工具精选(“特种部队”)
- 子域名:
subfinder(被动),amass(综合) - 目录/文件爆破:
ffuf(速度之王),gobuster - 端口扫描:
masscan(速度),nmap(精度) - 服务识别:
nmap -sV - 漏洞POC:
nuclei - APP测试:
jadx(反编译),frida(动态调试),objection(运行时) - 代理抓包:
Burp Suite(专业),Charles(APP友好)
第四部分:实战流程与报告输出(约500字)
4.1 标准化流程
- 目标确认: 明确授权范围(IP、域名列表)。
- 被动信息收集: 不直接接触目标。使用引擎、WHOIS、DNS、GitHub等收集。
- 主动信息收集: 开始与目标交互。进行端口扫描、指纹识别、目录扫描等。
- 信息整理与验证: 去重、去伪存真,将杂乱信息整理成结构化的资产清单。
- 深度交互与漏洞探测: 针对重点资产进行手动测试、漏洞验证。
- 持续监控: 在项目周期内,设置监控任务,关注资产和漏洞情报变化。
4.2 报告输出核心要素信息收集的成果不应只是一堆数据,而应是一份清晰的 《攻击面分析报告》 ,包含:
- 执行摘要: 概述发现的资产总数、高风险点、主要技术栈。
- 资产清单: 以表格形式列出所有发现的域名、IP、开放端口、服务版本、Web技术栈。
- 攻击路径图: 可视化地展示从外网到内网的可能攻击路径,例如:
子域名A(存在SQL注入)-> 获取服务器权限 -> 内网横向移动。 - 风险评级: 对发现的每个信息点进行风险评级(如暴露的管理后台、过时的框架版本)。
- 证据截图: 关键发现(如Git泄露、配置文件)的截图。
- 附录: 使用的工具列表、命令示例等。
结论
信息收集绝非简单的工具堆砌,而是一场需要策略、耐心和创造力的“情报战”。从被动到主动,从外部到内部,从自动化到手工,每一个环节都蕴含着突破的可能。真正的渗透测试高手,往往在信息收集阶段就已经看到了胜利的曙光。请记住:你的攻击面视图有多清晰,你的渗透路径就有多顺畅。
【限时6折!华普安全研究星球:以原创实战为主+SRC/内网渗透核心资源库,助你在漏洞挖掘、SRC挖掘少走90%弯路】当90%的网络安全学习者还在重复刷题、泡论坛找零散资料时,华普安全研究星球已构建起完整的「攻防实战知识生态」:
✅ 原创深度技术文档(独家SRC漏洞报告/代码审计报告)
✅ 实战中使用到的工具分享
✅ 全年更新SRC挖掘、代码审计报告(含最新0day验证思路)
✅ 漏洞挖掘思维导图
✅内部知识库目前建设中、后续进入圈子免费进入
【实战为王】不同于传统课程的纸上谈兵!!
后期我们将持续发布原创代码审计、src等漏洞挖掘文章,后期有些源码、挖掘思路等也会放进圈子哈~
有任何问题可后台留言
往期精选
围观
丨更多
热文
丨更多
·end·
—如果喜欢,快分享给你的朋友们吧—
我们一起愉快的玩耍吧
【免责声明】
“Rot5pider安全团队”作为专注于信息安全技术研究的自媒体平台,致力于传播网络安全领域的前沿知识与防御技术。本平台所载文章、工具及案例均用于合法合规的技术研讨与安全防护演练,严禁任何形式的非法入侵、数据窃取等危害网络安全的行为。所有技术文档仅代表作者研究过程中的技术观察,不构成实际操作建议,更不作为任何法律行为的背书。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Rot5pider安全团队 鲸落《渗透测试信息收集终极指南:构建全域攻击面视图》