SuperAPI AI 工具集

dns-pentesting

安全与审计

查看项目

更新于 10-16 10:12

技能介绍

用途

本技能是一套针对 DNS 服务(53 端口,TCP/UDP)的渗透测试方法论,用于在授权测试中系统化地发现、枚举和评估 DNS 服务的安全状况。当扫描发现 53 端口开放、需要枚举 DNS 记录与子域名、测试区域传送,或通过 DNS 进行数据传输时触发。

主要能力

整体流程按决策树分为七个阶段:

  • Phase 1 服务发现与版本识别:使用 nmap 的 -sV -sC -p 53(TCP)与 -sU -sV -p 53(UDP)扫描,配合 DNS 专项脚本(dns-srv-enum、dns-random-txid、dns-random-srcport、fcrdns 等)。通过 dig version.bind CHAOS TXT @<IP>、fpdns -D <IP>、nmap --script dns-nsid 识别 BIND、Windows DNS、dnsmasq、PowerDNS 等软件与版本,并判断是权威服务器还是递归解析器,检查递归是否开放。
  • Phase 2 区域传送测试(AXFR):使用 dig axfr <DOMAIN> @<IP> 或 fierce --domain <DOMAIN> --dns-servers <IP> 尝试区域传送;成功后提取内部主机名、IP、MX、TXT、SRV、CNAME 等高价值信息。
  • Phase 3 DNS 记录枚举:查询 A/AAAA/MX/NS/TXT/SOA/SRV/CNAME 等记录;针对 AD 环境查询 _gc._tcp、_ldap._tcp、_kerberos._tcp、_kpasswd._tcp 等 SRV 记录;检查 DNSSEC 的 DNSKEY/DS 记录,并在使用 NSEC(非 NSEC3)时进行 zone walking。
  • Phase 4 子域名枚举:使用 dnsenum、dnsrecon、dnscan、gobuster dns 等工具进行字典爆破,并给出 SecLists 字典选择建议;另含 IPv6 子域名枚举(dnsdict6、dnsrevenum6)。
  • Phase 5 反向查询:对目标网段进行 PTR 扫描(dnsrecon -r、dig -x),发现内部主机名并交叉验证 A 记录与 PTR 记录一致性。
  • Phase 6 DNS 隧道检测与利用:识别异常长查询、高频 TXT/NULL/CNAME 查询等隧道特征,使用 tcpdump、Wireshark、Zeek 检测;利用 iodine、dnscat2、dns2tcp 建立隐蔽通道。
  • Phase 7 已知漏洞:针对 BIND、Windows DNS、dnsmasq 的已知 CVE(如 CVE-2021-25216、CVE-2020-1350 SIGRed、CVE-2020-25681~25687 DNSpooq 等)进行排查,检测缓存投毒(随机 TXID/源端口)与递归放大风险,并列出 Metasploit 相关模块。

使用方式

技能以决策树形式组织,从 53 端口开放出发,按阶段逐步推进;每个阶段给出具体命令(dig、nslookup、nmap、dnsrecon、dnsenum、fierce、gobuster、iodine、dnscat2 等)与判断分支。深入命令参考见 references/dns-techniques.md。后渗透部分列出需审计的 BIND 配置文件(named.conf、named.conf.local、named.conf.options、resolv.conf、host.conf、named.conf.log)及关键配置项(allow-transfer、allow-recursion、allow-query、TSIG 密钥文件)。

适用场景

  • 授权渗透测试中发现 53 端口开放,需评估 DNS 服务配置与版本安全。
  • 需要枚举 DNS 记录、子域名或内部主机名以扩大攻击面。
  • 测试区域传送是否被错误开放。
  • 在 AD 环境中通过 SRV 记录定位域控。
  • 检测或建立 DNS 隧道进行数据渗出评估。

限制

被动子域名收集(crt.sh、SecurityTrails)明确不在本技能范围内。NSEC3 因哈希保护,需离线破解或放弃遍历。DNS 隧道利用需要控制一个域名的 NS 记录。本技能为方法论与命令集合,具体效果取决于目标环境配置,资料未提供实际测试结果或成功率数据。