渗透测试前置阶段——信息搜集

张开发
2026/4/19 13:10:11 15 分钟阅读

分享文章

渗透测试前置阶段——信息搜集
介绍信息收集是渗透测试的基石直接决定了后续攻击的广度和深度。所谓的“正面”与“侧面”本质区别在于是否与目标系统发生直接交互。一、正面信息收集主动侦察核心逻辑直接向目标发送探测请求通过分析响应获取情报。优点是信息准确缺点是会留下访问日志容易被防御系统发现。1. 网络层探测存活主机发现使用ping、nmap -sn或fping进行 ICMP 探测或利用 TCP SYN 扫描nmap -PS来绕过某些防火墙的禁 ping 策略。端口服务识别通过nmap -sS半开扫描或-sV版本探测确定开放端口及运行的服务如 SSH、HTTP、数据库。2. 应用层爬取Web 目录/文件枚举使用gobuster、dirb或ffuf配合字典暴力扫描隐藏的目录、备份文件.bak、配置文件等。技术栈指纹识别分析 HTTP 响应头中的Server、X-Powered-By字段以及页面源码中的注释、特定文件如/robots.txt来识别 CMS、框架及中间件版本。3. 自动化工具整合利用nmap脚本引擎--script或自动化框架如recon-ng、theHarvester批量处理从单一工具输出自动导入到下一个环节。二、侧面信息收集被动侦察核心逻辑不直接触碰目标而是从第三方平台或公开渠道“拼凑”情报。优点是隐蔽性强几乎零风险。1. 公开情报OSINT挖掘域名与子域名通过whois查询注册信息利用搜索引擎Google dorking、证书透明度日志CT log如crt.sh或平台如SecurityTrails挖掘子域名。代码泄露在 GitHub、GitLab 等平台搜索目标相关代码仓库常能发现硬编码的 API 密钥、数据库连接字符串等敏感信息。历史漏洞关联查询CVE、Exploit-DB等数据库结合已识别的软件版本寻找可利用的公开漏洞。2. 社会工程学信息员工信息收集从 LinkedIn、企业官网团队介绍中获取员工姓名、邮箱格式如 first.lastcompany.com为后续钓鱼攻击做准备。供应链与第三方分析目标使用的第三方服务如云存储、CDN或供应商攻击面往往比主站更薄弱。三、实战协同流程在实际渗透中通常采用“先侧面后正面”的战术形成侦察闭环被动定界通过 OSINT 摸清目标域名、IP 段、子公司及云资产绘制初步攻击面。主动验证对梳理出的目标进行低速率、分散式的端口扫描验证服务真实性。深度关联将正面获取的 Banner 信息与被动收集的 CVE 数据匹配筛选出高价值攻击路径。⚠️ 法律红线所有技术仅限在授权测试或自有环境中使用。未经授权的渗透测试属于违法行为。网站页面在网站渗透中页面层面的信息搜集是成本最低、风险最小的突破口。你不需要急于扫描或爆破仅通过浏览器“查看源代码”和观察细节就能构建出精准的攻击地图。一、基础指纹识别“身份”与“弱点”这部分信息直接决定了后续攻击手法的选择。关注点搜集方法攻击价值技术栈​查看响应头Server、X-Powered-By检查页面底部或注释中的WordPress、ThinkPHP等标识锁定 CMS 或框架后直接关联已知漏洞如特定版本的 SQLi 或 RCE前端敏感信息​按F12查看源码搜索admin、password、token、API_KEY、备份等关键词常能直接发现测试账号、硬编码密钥或未删除的备份文件路径输入点与参数​观察表单input、URL 参数?id1、robots.txt、sitemap.xml确定注入点、隐藏接口robots.txt常泄露管理后台路径二、关键文件寻找“入口”与“后门”这些文件是网站的“藏宝图”必须优先检查。robots.txt访问http://目标/robots.txt。它本意是告诉搜索引擎不要抓取什么但往往直接暴露了/admin/、/backup/、/database/等敏感目录。sitemap.xml访问http://目标/sitemap.xml。它会列出网站所有重要页面的 URL是快速发现隐藏功能模块的捷径。错误页面故意输入错误路径如http://目标/xxx观察 404 或 500 报错信息。详细的错误回显如数据库报错、绝对路径是进行 SQL 注入或路径遍历的绝佳线索。三、交互逻辑挖掘“隐藏”攻击面除了静态内容更要关注网站“怎么用”。登录/注册流程用户名枚举测试注册时提示“用户名已存在”还是“密码错误”这决定了能否爆破账号。验证码机制验证码是否在客户端生成可绕过、是否可重复使用、是否触发次数限制。API 接口通过浏览器开发者工具的Network网络​ 面板监控 Ajax 请求。寻找未鉴权的GET/POST接口这些往往是逻辑漏洞的高发区。文件上传点寻找头像上传、附件上传功能测试是否对文件类型如.php、.jsp和后缀进行了严格过滤。四、防御态势判断“防守”强度在动手前先看看对方有没有“眼睛”。WAF 识别修改请求头如畸形的User-Agent或发送简单测试载荷如观察是否返回403 Forbidden或特定的 WAF 拦截页面如 Cloudflare、安全狗。Cookie 策略检查 Cookie 是否设置了HttpOnly防 XSS 窃取和Secure仅 HTTPS 传输。框架安全头查看响应头是否有X-Frame-Options防点击劫持、Content-Security-PolicyCSP等。五、实战 SOP高效信息流不要盲目翻页按这个顺序操作效率最高肉眼观察浏览首页点击主要功能形成业务逻辑概念。文件抓取优先访问robots.txt、sitemap.xml获取目录结构。源码分析CtrlU查看源代码搜索敏感关键词。流量监控开启 DevTools → Network重新操作关键功能登录、搜索分析请求/响应。指纹归档将识别出的 CMS、框架、中间件版本记录在案为后续漏洞利用做准备。⚠️ 法律与道德边界上述技术细节仅限用于授权测试、CTF 比赛或个人学习研究。未经授权对他人网站进行信息搜集可能触犯法律。whois工具Whois​ 是渗透测试中用于被动信息收集的基础工具它通过查询互联网域名注册数据库帮你回答一个核心问题“这个网站到底是谁的”在正式发起扫描前先查 Whois 是行业标准动作能让你在不惊动目标的情况下摸清底细。一、它能查什么关键情报Whois 记录是一份“域名身份证”对于攻击者或防御者来说最有价值的信息通常集中在以下几类情报类型实战价值攻击视角注册商/注册人​获取企业名称、邮箱常为运维邮箱可用于社工钓鱼或密码爆破DNS 服务器​获取ns1/ns2记录判断是否使用第三方云服务如 Cloudflare避免直接攻击源站注册/到期时间​判断目标活跃度。刚过期的域名甚至可能被抢注接管IP 地址段​获取主机 IP用于绘制更大的网络拓扑寻找同段其他资产C 段扫描二、怎么查多平台操作根据你的环境和需求有多种执行方式1. 命令行Kali/Linux 首选最直接、最自动化适合批量处理。# 基础查询 whois example.com # 配合 grep 快速提取关键信息如注册邮箱 whois example.com | grep -i email2. 在线查询工具隐蔽侦察不想暴露自己的 IP使用第三方在线平台相当于“披着马甲”去问路。国内常用站长之家whois.chinaz.com、爱站网国外常用Whois.com、ICANN Lookup优势完全匿名且部分平台会提供历史记录和关联域名挖掘。3. 集成化工具进阶在 Kali 中Whois 常被集成进自动化侦察框架中如Recon-ng通过whois模块自动查询并存入数据库。theHarvester配合域名参数综合搜集邮箱和子域名。三、实战应用从 Whois 到攻击链单纯看信息没用关键在于情报转化。一个典型的攻击链如下锁定目标whois victim.com发现注册邮箱为admincorp.com。关联资产在搜索引擎或 GitHub 搜索corp.com发现该公司还有test.corp.com、api.corp.com等子域。社工准备邮箱格式暴露了命名规则如 first.lastcorp.com结合 LinkedIn 找到员工名单生成爆破字典。网络测绘获取 IP 后在 Shodan 或 Fofa 搜索同网段如IP/24寻找暴露的数据库或管理后台。四、隐私保护与局限性⚠️ 注意现在直接查到详细个人信息越来越难主要因为 GDPR通用数据保护条例等法规的推行很多注册商对个人信息进行了隐藏显示为REDACTED。局限性只能查到公开的注册信息无法获取服务器实时状态如端口开放情况。法律红线Whois 查询本身是公开信息访问但严禁将获取的邮箱、电话用于恶意骚扰、钓鱼或非法入侵。最佳实践在授权测试中将 Whois 作为资产梳理的第一步配合nslookup、dig等工具构建完整的初始攻击面清单。域名查询域名查询是信息收集的“总入口”它不仅仅是把域名变成 IPDNS而是通过多维度关联把孤立的域名扩展成一张完整的攻击面地图。在渗透测试中这步做得好往往能发现目标自己都遗忘的“影子资产”。一、基础解析DNS 的三种查法这一步解决“域名指向哪里”的问题是后续所有动作的基石。工具/方法命令示例核心价值nslookup​ (交互/直查)nslookup target.com或nslookup进入交互模式快速验证 DNS 解析是否正常可指定 DNS 服务器如server 8.8.8.8dig​ (Linux 首选)dig target.com ANY或dig 8.8.8.8 target.com A信息最全。可获取 A 记录IP、CNAME别名、MX邮件、TXTSPF/DKIM 配置host​ (简洁版)host target.com输出比nslookup更简洁适合脚本化处理 实战技巧重点关注CNAME 记录。如果目标用了云服务如xxx.cloudfront.net直接攻击源站 IP 可能无效必须识别出背后的 CDN 或 WAF。二、进阶拓展从“一个点”到“一张网”单纯解析主域意义有限真正的价值在于关联挖掘。1. 子域名挖掘横向扩展主站防御强但子域名尤其是测试、遗留站点往往是突破口。字典爆破使用gobuster dns、subfinder或amass配合大字典进行枚举。证书透明度CT查询crt.sh通过 HTTPS 证书日志发现从未公开过的子域如dev-api.target.com。搜索引擎语法利用site:target.com或-site:www.target.com site:*.target.com挖掘被收录的页面。2. 历史记录与关联纵向追溯DNS 历史记录使用SecurityTrails或ViewDNS.info查看域名过去的 IP 解析记录。刚下线的测试服务器 IP​ 往往比当前生产环境更脆弱。IP 反查C 段扫描拿到 IP 后在Shodan或Fofa中搜索同网段如IP/24寻找目标公司的其他非公开资产如监控后台、未备案的子公司站点。三、自动化整合工具链推荐手动查询效率低推荐使用以下工具进行“一键式”资产发现工具适用场景特点Amass​深度侦察OWASP 出品集成了 DNS 枚举、CT 日志、API 查询数据源最全Subfinder​快速扫描速度快资源消耗少适合初期快速绘制攻击面OneForAll​综合收集国产神器整合了爆破、搜索引擎、接口查询等多种方式四、防御规避与注意事项隐蔽性直接向目标权威 DNS 发起大量查询会被记录。建议使用公共 DNS如 8.8.8.8或配置为低速率扫描。合法性仅限在授权测试范围内操作。大规模扫描商业域名或他人资产可能触发法律风险。信息甄别注意区分“泛解析”如*.target.com都解析到同一 IP和真实子域避免无效爆破。渗透思维域名查询不是独立的步骤而是情报的起点。拿到 IP 后要立刻接上端口扫描发现子域后要立刻接上 Web 指纹识别形成“查询 → 扫描 → 验证”的闭环。子域名搜集one for allOneForAll 是当前国内安全圈公认的子域名收集“天花板”。它不仅仅是一个简单的 DNS 查询工具而是一个集成了多源情报、智能爆破、自动验证于一体的自动化资产发现平台。在渗透测试的信息收集阶段它是将“一个点”主域名扩展为“一张网”完整攻击面的核心工具。一、核心能力为什么它是“神器”传统工具如nslookup只能查询已知的 DNS 记录而 OneForAll 通过OSINT开源情报​ 挖掘目标散落在互联网角落的“影子资产”。能力维度实战价值多源数据聚合​不仅查 DNS还抓取证书透明度CT日志、搜索引擎缓存、威胁情报平台VirusTotal/Shodan API、DNS 历史记录等挖出那些未在公开 DNS 中注册但实际存在的子域。智能爆破与去噪​内置优化字典利用massdns高速解析。最关键的是能自动识别泛解析如*.target.com指向同一 IP剔除大量无效结果避免“数据海啸”。存活验证与指纹​最实用的功能。自动对发现的子域进行 HTTP/HTTPS 探测返回状态码、Title、BannerWeb 指纹直接输出“活”的资产列表无缝对接后续漏洞扫描。风险资产识别​可检测子域名是否可被接管Subdomain Takeover例如指向了已删除的 GitHub Pages 或云服务桶。二、极速上手Kali/Windows环境要求Python 3.8 环境。1. 安装部署# 1. 克隆项目 git clone https://github.com/shmilylty/OneForAll.git cd OneForAll # 2. 安装依赖建议使用国内源加速 pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/2. 基础使用命令# 单个目标最常用 python3 oneforall.py --target example.com run # 批量目标将域名写入 domains.txt python3 oneforall.py --targets domains.txt run3. 结果解读运行完成后结果默认保存在results/目录下CSV/TXT 格式。重点关注以下字段域名发现的子域如dev-api.example.com。解析 IPC 段扫描的基础用于发现同网段其他资产。状态码200正常页面、403可能是后台入口、302重定向。Web 指纹识别出的 CMS如WordPress或框架直接关联已知漏洞。三、实战进阶从“收集”到“攻击”单纯收集列表没有意义关键在于情报转化C 段测绘提取结果中的 IP 地址在 Shodan 或 Fofa 中搜索同网段IP/24寻找目标公司的老旧服务器或测试环境。脆弱资产筛选利用title字段快速筛选出登录、管理、测试、API等关键词对应的子域优先进行弱口令爆破或漏洞扫描。API 增强在config/api.py中配置 Shodan、Censys 等 API Key能显著提升数据挖掘深度尤其是历史记录和非常规端口服务。四、避坑与合规速率控制默认并发较高测试云上资产或受 WAF 保护的目标时建议修改config/setting.py中的线程数避免被拉黑 IP。法律红线OneForAll 能力极强严禁在未授权的情况下对他人域名进行大规模扫描。仅限用于授权测试、SRC 漏洞挖掘或自有资产梳理。绕过CDN绕过 CDN 本质上是在授权测试中通过技术手段找出被 CDN 节点隐藏的源站真实服务器IP。这主要依赖“信息差”和“配置疏忽”。以下是实战中常用的思路与手法按成功率排序。一、信息收集类低门槛首选这类方法利用目标暴露在公网的历史数据或关联资产。查 DNS 历史记录网站接入 CDN 前的解析记录可能被存档。使用ViewDNS.info、DNSlytics、微步在线等工具查询域名的历史 A 记录常能直接找到旧 IP。子域名爆破最常用主站www做了 CDN但api.、dev.、mail.等子域名可能直连源站。用工具如subfinder、OneForAll扫出子域解析其 IP若与主站同网段C 段极可能就是源站。空间搜索引擎FOFA/Shodan利用全网指纹匹配证书指纹获取网站 SSL 证书的 SHA256 指纹在 Censys 或 FOFA 中搜索certxxx匹配到的 IP 可能是源站。Favicon 哈希计算网站favicon.ico的 mmh3 哈希值在 Shodan 中搜索http.favicon.hash:xxxx。Title/Body 特征搜索独特的标题或页面内容。邮件头溯源注册、找回密码等邮件通常由源站内网发出。查看邮件原文Header中的Received字段最底层的 IP 往往是真实服务器。二、技术试探类需要动手通过特定请求或配置漏洞直接“骗”过 CDN。非标端口与协议端口试探CDN 通常只转发 80/443 端口。直接访问IP:8080、IP:8443等常见管理端口可能直连源站。协议遗漏CDN 可能只配置了 HTTPS直接访问 HTTP 版http://domain.com可能回源。Host 头伪造在请求中修改 Host 头如Host: internal.domain.com或在本地 hosts 文件强行将域名解析到疑似 IP若浏览器能打开网站则命中源站。边缘节点漏洞利用 CDN 配置错误如未过滤回源请求通过 SSRF 漏洞或特定 Header如X-Forwarded-For让服务器主动连接你的 VPS从而暴露源 IP。三、特殊场景与进阶国外节点请求很多国内 CDN 未覆盖海外。使用国外的 DNS如8.8.8.8解析或通过海外代理/VPS 访问可能拿到真实 IP。App/小程序抓包移动端应用内可能硬编码了源站 IP 或内部域名通过 Burp Suite 或 Fiddler 抓包分析。全网扫描Zmap/Masscan这是“笨办法”但有效。扫描全网 IP通过 Banner 或页面指纹匹配目标网站。四、防御视角与法律红线防御思路源站应严格设置防火墙只允许 CDN 节点 IP 回源并清理遗留文件如phpinfo.php、隔离邮件服务。法律声明上述技术仅适用于授权渗透测试、红队演练或自家资产排查。未经授权攻击他人 CDN 属于违法行为请务必在合法合规范围内操作。如果你有具体的测试场景如某类网站或特定 CDN 厂商我可以提供更针对性的排查路径。

更多文章