免费开源!ksubdomain v2.1发布

· 2025-04-12 10:10 · 6 阅读

原创 w8ay 2025-04-12 10:10 广东

极致的爆破性能与智能预测的结合,最快的子域名爆破工具!

 

免费开源!ksubdomain v2.1发布

极致的爆破性能与智能预测的结合,最快的子域名爆破工具

最近终于更新了ksubdomain ,在新版本中ksubdomain不仅继承了超强爆破速度的基因,更融入了前沿的 域名预测 算法和 泛解析过滤 机制,同时提供了更灵活的 输出格式 支持。

开源世界

在开源世界中,有很多优秀的子域名枚举/爆破工具。

  • https://github.com/projectdiscovery/dnsx
    • • projectdiscovery出品的开源dns爆破工具,通过构造系统DNS包进行爆破并结合go的超强并发,但是由于是基于系统发包,占用系统socket资源导致网络无法问题,并且速度也受到很大限制。
  • https://github.com/blechschmidt/massdns
    • • massdns使用socket发包,然后用epoll,pcap,busy-wait polling等技术来接收。速度很快,但是丢包严重。
  • https://github.com/shmilylty/OneForAll
    • • 功能全面,利用各种手段尽可能收集域名,dns爆破底层调用masscan,python项目,依赖较多,不适合开箱即用
  • https://github.com/blacklanternsecurity/bbot
    • • 同样是利用各种手段尽可能收集域名,讲究模块之间递归查询。dns爆破底层调用masscan,也是python项目,依赖较多,不适合开箱即用

ksubdomain对标的是massdns 专注于将爆破性能做到极致,并在易用性和结果准确性上持续投入。

KSubdomain 是一款基于无状态技术的子域名爆破工具,带来前所未有的扫描速度和极低的内存占用。 KSubdomain 支持 Windows、Linux 和 macOS,是进行大规模DNS资产探测的理想选择。

你可以和OneForAll或者bbot一样,将ksubdomain作为爆破模块,前置subfinder之类的被动引擎,用来大规模验证子域名的存在。

Vs MassDNS

前面所说,ksubdomain对标的是massdns,但是在部分机制上截然不同。

  1. 1. massdns使用socket发包,然后用epoll,pcap,busy-wait polling等技术来接收。技术复杂并且丢包严重。ksubdomain基于网卡发包和接收,原生从Ethernet->IPv4->UDP->DNS构造数据包,发送速度更快,且自建轻量级状态表且有重发机制,漏包很少,最终速度极快!
  2. 2. ksubdomain 极致的性能优化:
    • • 状态表优化:
      • • 分片锁 (Sharded Lock): 大幅减少锁竞争,提高并发写入效率。
      • • 高效哈希: 优化键值存储,提升查找速度。
    • • 发包机制优化:
      • • 对象池: 复用 DNS 包结构体,减少内存分配和 GC 开销。
      • • 模板缓存: 为相同 DNS 服务器复用底层数据,减少重复构建。
      • • 并行发送: 多协程并行发包,榨干多核 CPU。
      • • 批量处理: 批量发送请求,减少系统调用。
    • • 接收机制优化:
      • • 对象池: 复用解析器和缓冲区,降低内存消耗。
      • • 并行处理管道: 接收、解析、处理三阶段并行,效率最大化。
      • • 缓冲区优化: 增加 Channel 缓冲区,避免阻塞。
      • • 高效过滤: 优化 BPF 规则,快速丢弃无效包。
    • • 内存管理优化:
      • • 全局内存池 (sync.Pool): 管理常用数据结构,减少内存碎片。
      • • 结构复用: 复用查询结构和缓冲区。
    • • 架构与并发优化:
      • • 动态并发: 自动调整协程数。
      • • 高效随机数: 性能更优。
      • • 自适应速率: 动态调整发包速率。
      • • 批量加载: 降低单个域名处理开销。

这些精心设计的优化,共同铸就了 ksubdomain 无与伦比的爆破速度和资源利用率。

高级域名预测算法

在现代化的 IT 架构中,域名的使用往往遵循着一定的规范和模式。什么是“现代化”公司?简单来说,就是那些广泛采用微服务、自动化流程、云原生技术的组织。它们的域名命名往往更具逻辑性。

传统的子域名爆破和第三方接口查询,往往难以覆盖到这些基于特定模式生成的“变体”域名。例如,您发现了一个 shoot.A.com,但很可能就错过了 api.shoot.A.comshoot-api.test.A.com 甚至 backend-api.prod.shoot.A.com 等关键目标。

为了解决这个问题,ksubdomain v2.1 集成了先进的 域名预测算法(灵感来源于 gotator 和 domainNamePredictor 等优秀项目)。

例如在通过暴力扫描发现test.example.com域名后,ksubdomain会按照现代域名命名逻辑,生成大量新的字典,如

并对其进行爆破。在这样层层的域名预测下,发现的资产越来越多。

泛解析域名精准识别

泛解析域名是子域名爆破过程中的一大干扰因素,它们会将大量不存在的子域名解析到同一个 IP 地址,污染爆破结果。

ksubdomain v2.1 内置了 智能泛解析域名过滤算法。在爆破任务完成后,它会自动对结果进行分析和过滤,剔除泛解析产生的无效记录,确保您得到的列表更加干净、准确,节省了大量手动筛选的时间。

ksubdomain内置高级标准两种模式的过滤算法。

  • • 标准模式下:通过分析整体结果,对解析记录中相同的ip进行动态/固定阈值判断,超过则丢弃该结果
  • • 高级模式下:使用多种启发式方法和特征检测来识别泛解析

新增 JSON 与 CSV 格式

为了方便用户将 ksubdomain 的结果集成到自动化流程或与其他工具联动,v2.1 版本新增了 JSON 和 CSV 两种输出格式。无论您是想进行数据分析、生成报告,还是将结果导入其他扫描器,都能轻松集成。

Ksubdomain vs. 同类工具

KSubdomain 在速度和效率上远超同类工具。以下是在 4 核 CPU、5M 带宽网络环境下,使用 10 万字典进行的对比测试:

工具
扫描模式
发包方式
命令
耗时
成功个数
备注
KSubdomain
验证
pcap 网卡发包
time ./ksubdomain v -b 5m -f d2.txt -o k.txt --retry 3 --np~30 秒
1397
--np
 关闭实时打印
massdns
验证
pcap/socket
time ./massdns -r dns.txt -t A -w m.txt d2.txt --root -o L
~3 分 29 秒
1396

dnsx
验证
socket
time ./dnsx -a -o d.txt -r dns.txt -l d2.txt -retry 3 -t 5000
~5 分 26 秒
1396
-t 5000
 设置 5000 并发

结论: KSubdomain 的速度是 massdns 的 7 倍,是 dnsx 的 10 倍 以上!

✨ 特性与技巧

  • • 带宽自动适配: 只需使用 -b 参数指定你的公网下行带宽 (如 -b 10m), KSubdomain 会自动优化发包速率。
  • • 测试最大速率: 运行 ./ksubdomain test 测试当前环境的最大理论发包速率。
  • • 自动网卡检测: KSubdomain 会自动检测可用网卡。可通过环境变量 KSubdomainEth 指定网卡,或--eth制定网卡名称。
  • • 进度显示: 实时进度条显示 成功数 / 发送数 / 队列长度 / 接收数 / 失败数 / 已耗时。
  • • 参数调优: 根据网络质量和目标域名数量,调整 --retry 和 --timeout 参数以获得最佳效果。当 --retry 为 -1 时,将无限重试直至所有请求成功或超时。
  • • 泛解析过滤: 支持自动检测并过滤泛解析域名 (枚举模式下使用 --skip-wild)。
  • • 多种输出格式: 支持 txt (实时输出), json (完成后输出), csv (完成后输出)。通过 -o 指定文件名后缀即可 (如 result.json)。
  • • 环境变量配置:
    • • KSubdomainConfig: 指定配置文件的路径。
    • • KSubdomainEth: 指定使用的网卡名称 (例如 eth0)。

即刻体验

公众号回复ksubdomain,将获得ksubdomain开源代码和成品二进制。

 

阅读原文

跳转微信打开