【Web 安全渗透】被动信息收集全流程实战:从 whois 到 DNS 区域传输漏洞利用

📅 2026/7/6 4:49:59
【Web 安全渗透】被动信息收集全流程实战:从 whois 到 DNS 区域传输漏洞利用
前言很多刚入门渗透测试的朋友总想着赶紧学 SQL 注入、文件上传、拿 shell却忽略了信息收集才是渗透测试的根基。 我在刚接触攻防的时候也踩过这个坑拿到一个目标就直接扫端口、跑目录忙活半天没找到突破口回头才发现人家的测试环境、后台入口早就通过公开渠道泄露了。而被动信息收集OSINT 开源情报收集是所有渗透环节中风险最低、隐蔽性最强的一步 —— 全程不向目标服务器发送一个探测包仅靠公开数据源就能摸透目标的域名、资产、技术栈、人员信息是红队作战和授权测试的必经之路。今天我就用安全圈公认的官方演示靶场zonetransfer.me带大家从头到尾走一遍完整的被动信息收集流程重点复现经典的DNS 区域传输漏洞。所有工具都是 Kali Linux 系统自带跟着敲命令就能复现零基础也能上手。 实验环境Kali Linux 2024.x 目标站点zonetransfer.me由 DigiNinja 官方提供专用于 DNS 安全演示合法测试目标一、先搞懂什么是被动信息收集1.1 核心定义被动信息收集指的是完全通过公开的第三方渠道、公共数据库、搜索引擎等获取目标信息全程不与目标网络、目标服务器产生直接交互的侦察手段。打个比方主动扫描像你走到人家门口挨个敲门、扒窗户看有没有漏洞很容易被保安防火墙、IDS发现而被动收集就像你站在马路对面通过公开的门牌、水电单、新闻报道来摸清这栋楼的结构全程不会留下任何痕迹。1.2 为什么它是渗透的第一道关卡极致隐蔽零告警风险没有任何攻击流量不会触发 WAF、入侵检测系统适合红队的前期静默侦察成本极低收益极高一条 DNS 区域传输漏洞就能一次性拿到目标所有子域名比爆破效率高几十倍拓宽攻击面能找到很多被忽略的资产 —— 比如废弃的测试站、内部系统入口、泄露的配置文件1.3 一次合格的被动收集要拿到这些信息域名注册信息、权威 DNS 服务器、IP 地址段完整的子域名列表、对应服务器资产目标组织的员工邮箱、联系信息社工切入点目标站点的 Web 技术栈、服务器版本、托管信息站点历史变更、遗留的敏感页面与信息二、第一步whois 查询 —— 域名基础信息摸排2.1 工具原理whois 是 TCP/IP 协议族的标准查询协议默认端口 43。它对接全球顶级域名注册局的数据库能查询到域名的完整注册信息是所有域名类侦察的入口。2.2 实战命令bash运行# 基础查询获取目标域名的完整注册信息 whois zonetransfer.me2.3 结果逐字段解读执行后会返回一大段信息新手不用全看重点关注这几个高价值字段表格字段名含义渗透利用价值Registrar域名注册商可通过注册商社工或反查同注册商的关联域名Creation Date域名注册时间运营越久的域名越容易存在历史遗留漏洞Expiry Date域名到期时间临近过期的域名可能管理松懈配置权限宽松Name Server权威 DNS 服务器后续 DNS 区域传输测试的直接目标Registrant注册人 / 组织社工信息的重要来源可反查管理员个人信息实战技巧 现在很多域名开启了隐私保护whois 查不到真实联系人。这时候可以用 Whoxy、DomainTools 等平台查历史 whois 记录往往能找到未隐藏的真实邮箱和电话。三、第二步dig 查询 —— DNS 记录全量枚举3.1 为什么用 dig 不用 nslookupdig 是 BIND 团队开发的专业 DNS 调试工具是 Linux 下的 DNS 查询神器。相比 Windows 自带的 nslookup它功能更强大、返回结果更清晰、支持更多高级查询比如区域传输是渗透测试的标配工具。3.2 常见 DNS 记录类型科普先搞懂几种核心记录类型后面测试才不会懵NS 记录域名服务器记录指定负责解析该域名的权威 DNS 服务器A 记录IPv4 地址记录域名对应的服务器 IPAAAA 记录IPv6 地址记录MX 记录邮件交换记录目标域名的邮件服务器地址TXT 记录文本记录常用来做 SPF 反垃圾邮件、域名验证容易泄露敏感信息CNAME 记录别名记录域名的跳转指向能发现关联的其他域名3.3 常用查询命令实战bash运行# 1. 查询NS记录必做区域传输的前置步骤 dig ns zonetransfer.me # 2. 查询A记录获取域名对应IP dig a zonetransfer.me # 3. 查询MX邮件服务器记录 dig mx zonetransfer.me # 4. 查询所有类型的DNS记录尽量用批量获取信息 dig any zonetransfer.me # 5. 指定DNS服务器查询绕过本地DNS直接查权威服务器 dig nsztm1.digi.ninja zonetransfer.me a3.4 踩坑提醒很多 DNS 服务器为了防信息泄露会拒绝ANY类型的查询。如果执行dig any没返回结果不用慌分开查询 NS、A、MX 等类型即可。执行完dig ns命令后我们就能拿到目标的权威 DNS 服务器比如这里的nsztm1.digi.ninja和nsztm2.digi.ninja。拿到这个我们就可以进入今天的核心环节 —— 测试 DNS 区域传输漏洞。四、核心实战DNS 区域传输AXFR漏洞复现与深度解析4.1 漏洞是怎么来的先搞懂正常的 DNS 区域传输是干嘛的 一个域名通常会配置多台 DNS 服务器一主多从为了保证主从服务器的解析数据一致从服务器会定期通过AXFR 协议向主服务器复制完整的域名解析文件这个过程就叫「区域传输」。正常情况下DNS 服务器应该配置 ACL 访问控制只允许信任的从服务器 IP 发起 AXFR 请求。但如果运维人员配置疏忽没做 IP 限制就会导致任何人都能向 DNS 服务器请求完整的域名解析数据—— 这就是 DNS 区域传输漏洞。4.2 这个漏洞危害到底有多大很多人觉得这只是个信息泄露漏洞没什么大不了其实大错特错一次性拿到目标所有子域名和对应 IP不用子域名爆破效率提升几十倍能发现很多不对外公开的资产内部办公系统、测试环境、后台管理、数据库服务器通过主机命名规则能推断出目标的运维习惯、组织架构为后续攻击提供方向在真实的红队项目里一个 DNS 区域传输漏洞往往能直接帮你打开整个攻击面。4.3 手把手漏洞复现命令格式很简单dig axfr [DNS服务器地址] [目标域名]bash运行# 向目标DNS服务器发起AXFR区域传输请求 dig axfr nsztm1.digi.ninja zonetransfer.me4.4 怎么判断漏洞是否存在漏洞存在执行后返回大量解析记录包含各种子域名、A 记录、MX 记录、LOC 记录等说明成功拿到了完整的区域文件漏洞不存在返回Transfer failed.、状态码REFUSED或者只返回 SOA 记录说明服务器做了权限限制进阶测试除了完整传输 AXFR还有增量传输 IXFR只传输变更的记录。部分服务器会拦截 AXFR 但忽略 IXFR可以补充测试bash运行dig ixfr nsztm1.digi.ninja zonetransfer.me五、第三步theHarvester —— 批量 OSINT 情报收集5.1 工具定位theHarvester 是 Kali 内置的开源情报集成工具它能调用百度、必应、谷歌、PGP 密钥库、Shodan 等几十种公开数据源批量爬取目标域名的员工邮箱、子域名、主机名、IP 地址是被动收集中效率最高的批量工具。5.2 命令参数详解bash运行# 基础用法指定域名用百度、必应作为数据源收集 theHarvester -d zonetransfer.me -b baidu,bing # 完整高级用法全数据源限制结果数DNS解析保存为HTML报告 theHarvester -d zonetransfer.me -b all -l 500 -n -c -f result.html核心参数说明-d指定目标域名-b指定数据源多个用逗号分隔all表示调用全部数据源-l限制每个数据源返回的结果数量避免结果太多-n对收集到的主机名做 DNS 反向解析-f将结果保存为 HTML/XML 文件方便整理报告5.3 收集到的信息怎么用邮箱列表可以用来做钓鱼攻击也可以去社工库撞库找泄露的密码子域名列表补充 DNS 区域传输没覆盖到的资产扩大攻击面IP 与端口如果开启了 Shodan 数据源能直接拿到目标 IP 的开放端口信息六、第四步Netcraft —— 零交互探测目标技术栈6.1 工具介绍Netcraft 是全球知名的网站分析服务它通过全网扫描收录了海量站点的技术信息。我们不用访问目标网站只需要输入域名就能查到目标的 Web 服务器版本、操作系统、托管商、建站历史、安全评级等信息。6.2 使用方法打开官方站点报告页面https://toolbar.netcraft.com/site_report输入目标域名zonetransfer.me点击查询查看完整的站点分析报告6.3 高价值信息解读服务器版本比如 Apache 2.4.41、Nginx 1.18直接对应 CVE 漏洞库找可利用漏洞技术栈信息用的是 PHP 还是 Java有没有用 WordPress、Drupal 等 CMS直接决定后续渗透方向历史 IP 变更能找到目标的旧服务器 IP很多旧服务器防护更薄弱托管商信息判断目标是不是云服务器有没有旁注攻击的可能七、第五步Wayback Machine —— 历史快照回溯挖隐藏信息7.1 为什么要查历史快照很多当前页面隐藏的敏感信息在历史版本里都是公开的。比如早年泄露的后台地址、测试账号密码已经下线但后端没删除的功能接口团队介绍页里的员工姓名、联系方式旧版本的网站源码、配置文件泄露Wayback Machine互联网档案馆从 1996 年开始存档网页保存了几十亿份历史快照是被动收集中的宝藏工具。7.2 使用方法访问官网https://archive.org/web/输入目标域名点击「Browse History」在时间轴上选择年份和日期点击对应快照就能查看历史页面进阶玩法命令行批量提取历史 URL 用waybackurls工具可以一次性导出目标域名所有的历史 URL快速筛选敏感路径bash运行echo zonetransfer.me | waybackurls八、防御篇DNS 区域传输漏洞的完整加固方案这个漏洞属于典型的「配置失误导致的风险」修复成本很低但很多企业都没做好。完整的防护体系分为四层8.1 基础层严格限制区域传输 IP这是最核心、最有效的手段。在 DNS 服务器配置中只允许授权的从服务器 IP 发起 AXFR 请求拒绝所有未授权 IP。BIND 配置示例named.confconfzone zonetransfer.me IN { type master; file zonetransfer.me.zone; # 仅允许指定的从服务器IP进行区域传输 allow-transfer { 192.168.1.10; 192.168.1.11; }; };8.2 认证层启用 TSIG 事务签名仅靠 IP 限制有被伪造的风险更安全的方式是启用 TSIG 密钥认证。主从服务器之间通过共享密钥进行身份校验只有携带正确签名的请求才会被响应从认证层面杜绝未授权访问。8.3 架构层拆分 DNS内外网隔离部署两套独立的 DNS 服务器外部 DNS只放公网需要解析的记录官网、邮件网关等内部 DNS存放所有内部系统、办公服务器的解析记录仅内网可访问就算外部 DNS 出现区域传输泄露也不会暴露核心内部资产把风险降到最低。8.4 运营层定期安全审计每季度主动对自身 DNS 服务器做 AXFR 测试验证配置有效性规范 DNS 变更流程临时调整权限后及时恢复及时升级 DNS 服务器软件版本修复协议层面的安全漏洞九、总结与学习路线9.1 流程复盘今天我们完整走了一遍被动信息收集的标准流程whois域名摸底 → dig枚举DNS记录 → 测试DNS区域传输漏洞 → theHarvester批量OSINT收集 → Netcraft技术栈探测 → 历史快照回溯挖敏感信息整个过程没有向目标发送任何探测流量却能构建出完整的目标信息画像这就是被动收集的魅力。9.2 进阶工具推荐入门掌握这些工具后可以往更专业的 OSINT 方向拓展子域名收集Amass、OneForAll国内数据源更全、Sublist3r全网资产测绘Fofa、Shodan、ZoomEye、Quake企业信息收集企查查、天眼查、爱企查可视化情报分析Maltego9.3 写在最后信息收集能力的高低直接决定了渗透测试的上限。很多新手觉得这一步枯燥没用其实是没挖到深层的信息价值。 建议大家拿合法靶场多练手慢慢培养「从公开信息里挖突破口」的思维这比背十个漏洞 Payload 有用得多。⚠️ 免责声明本文仅用于网络安全技术教学与研究旨在帮助企业提升安全防护能力。请勿对任何未授权的目标进行测试。网络安全法底线不可逾越技术学习请遵守法律法规与道德规范。