Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/haccer/subjack
漏洞扫描器Web安全渗透测试子域名枚举DNS 分析
GitHubhaccer/subjack

subjack

并发的DNS接管扫描器,可检测跨云提供商的CNAME、NS、AXFR、SPF、MX、SRV及过期的A记录漏洞,具有多级链分析功能。

查看仓库
2.1k349145个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

subjack

Go Report Card GoDoc GitHub license

subjack 标志
DNS 子域名接管扫描器

Subjack 是一个用 Go 编写的 DNS 接管扫描器,旨在并发扫描域名列表,并识别出可被劫持的域名。借助 Go 的速度和效率,该工具在大规模测试中表现尤为突出。请务必手动复核结果以排除误报。

Subjack 可检测:

  • CNAME 接管 — 指向未认领第三方服务的悬挂 CNAME 记录
  • NS 委派接管 — 已过期的域名服务器域名和悬挂的云 DNS 区域(Route 53、Google Cloud DNS、Azure DNS、DigitalOcean、Vultr、Linode)
  • 过时的 A 记录 — 指向云提供商(AWS、GCP、Azure、DigitalOcean、Linode、Vultr、Oracle)已失效 IP 的 A 记录
  • 区域传输(AXFR) — 配置错误的域名服务器泄露整个区域文件,并包含 NS 主机名暴力破解
  • SPF include 接管 — SPF include: 指令中已过期的域名,可导致邮件伪造
  • MX 记录接管 — 已过期的邮件服务器域名,可导致邮件拦截
  • CNAME 链接管 — 多级 CNAME 链,其中间目标可认领
  • SRV 记录接管 — 指向已过期/可注册域名的 SRV 记录
  • NXDOMAIN 注册 — 不存在的域名且可注册

安装

需要 Go

root@kitploit:~
go install github.com/haccer/subjack@latest

用法

root@kitploit:~
subjack -w subdomains.txt -t 100 -timeout 30 -o results.txt -ssl

标准输入支持

Subjack 可以从标准输入读取域名,方便与其他工具搭配使用:

root@kitploit:~
subfinder -d example.com | subjack -ssl -o results.json
cat domains.txt | subjack -t 20 -o results.txt

域名服务器接管

使用 -ns 标志时,subjack 会执行两种类型的域名服务器接管检查:

过期的 NS 域名:检查域名的域名服务器是否已过期并可购买。攻击者注册已过期的域名服务器后,可完全控制该域名的所有 DNS 记录——可将任意记录指向任意位置、拦截邮件、签发证书等。

悬挂的 NS 委派:检测到域名的 NS 记录指向云 DNS 提供商但托管区域已被删除。Subjack 直接向每个域名服务器查询 SOA 记录——如果所有服务器都返回 SERVFAIL 或 REFUSED,则说明区域已消失且可能可认领。支持的提供商:

  • AWS Route 53(ns-*.awsdns-*)
  • Google Cloud DNS(ns-cloud-*.googledomains.com)
  • Azure DNS(ns*-*.azure-dns.*)
  • DigitalOcean DNS(ns*.digitalocean.com)
  • Vultr DNS(ns*.vultr.com)
  • Linode DNS(ns*.linode.com)
root@kitploit:~
subjack -w subdomains.txt -ns -o results.json

过时的 A 记录检测

使用 -ar 标志时,subjack 会解析 A 记录并检查 IP 地址是否存活。当公司终止云服务器但忘记移除 DNS A 记录时,该 IP 会重新回到提供商地址池。攻击者可以在该提供商上启动新实例,直到分配到相同 IP,从而控制该子域名。

Subjack 在可能的情况下会识别云提供商(AWS、GCP、Azure、DigitalOcean、Linode、Vultr、Oracle),有助于定位目标平台。检测使用 ICMP Ping(需要 root 权限),并回退到 TCP 端口 80/443。

root@kitploit:~
sudo subjack -w subdomains.txt -ar -o results.json

结果标记为 STALE A RECORD,应手动验证——不响应的 IP 并不一定可以重新认领。

区域传输检测

使用 -axfr 标志时,subjack 会尝试 DNS 区域传输(AXFR),这可能会暴露整个域名的 DNS 记录。Subjack 不仅测试域名的官方域名服务器,还会暴力破解常见的域名服务器主机名(ns1、dns-0、ns-backup 等),因为隐藏或遗忘的域名服务器即使在主域名服务器已加固后,也常常未加保护。

root@kitploit:~
subjack -d example.com -axfr -o results.json
subjack -w domains.txt -axfr -o results.json

结果标记为 ZONE TRANSFER,并显示易受攻击的域名服务器和暴露的记录数。

邮件接管检测

使用 -mail 标志时,subjack 检查两种基于邮件的接管向量:

SPF include 接管:解析 SPF TXT 记录,检查 include: 域是否已过期并可注册。攻击者注册被包含的域名后,可以以目标身份发送完全验证通过的邮件,绕过 SPF 和 DMARC。

MX 记录接管:检查 MX 记录目标是否已过期并可注册。攻击者控制邮件服务器后,可以拦截所有入站邮件——包括密码重置、2FA 验证码等。

root@kitploit:~
subjack -w domains.txt -mail -o results.json

CNAME 链和 SRV 检测

这些检查会在每次扫描中自动运行:

CNAME 链接管:追踪多级 CNAME 链(最多 10 层),检查是否有中间目标可认领。标准 CNAME 检测仅检查第一跳——链检测可以发现更深层的接管机会。

SRV 记录接管:检查常见 SRV 记录(SIP、XMPP、LDAP、Kerberos、IMAP、CalDAV 等)的目标是否已过期并可注册。

实用方法

你可以使用 scanio.sh,它是一个 PoC 脚本,通过 Rapid7 的 Project Sonar 结果批量定位易受攻击的子域名。该脚本解析并 grep 转储文件中的目标 CNAME 记录,生成一个大型子域名列表,供 subjack 检查是否易受恶意子域名接管影响。请负责任地使用。

词表格式

你的词表中应包含每行一个子域名的列表:

root@kitploit:~
assets.xen.world
assets.github.com
b.xen.world
big.example.com
cdn.xen.world
dev.xen.world
dev2.twitter.com

参考资料

关于 DNS 接管的额外信息:

  • Can I take over XYZ?
  • Hostile Subdomain Takeover using Heroku/GitHub/Desk + More
  • Can I take over DNS?
下载工具
标志描述默认值
-d要检查的单个域名
-w子域名列表的文件路径
-t并发线程数10
-timeout连接超时等待秒数10
-o输出结果到文件(使用 .json 扩展名输出 JSON 格式)
-ssl强制使用 HTTPS 连接(可能提高准确性)false
-a对所有 URL 发送请求,而不仅仅是已识别出 CNAME 的 URL (推荐)false
-m即使域名无法注册也标记死亡的 CNAME 记录false
-rDNS 解析器列表文件路径(每行一个 IP,失败时回退到 8.8.8.8)
-ns检查 NS 接管(过期的 NS 域名 + 悬挂的云 DNS 委派)false
-ar检查指向已失效 IP 的过时 A 记录(ICMP 可能需要 root 权限)false
-axfr检查区域传输(AXFR),包括 NS 暴力破解false
-mail检查 SPF include 和 MX 记录接管false
-v显示每个请求的更多信息false