ksubdomain 快速子域枚举工具 无状态子域爆破

ksubdomain 快速子域枚举工具 无状态子域爆破

ksubdomain简介

子域枚举工具,异步dns包,使用pcap 1秒扫描160万个子域
ksubdomain是类似状态下的快速探测无状态的子域的爆破,无端口,支持在Windows/Linux/Mac上进行的DNS爆破,拥有发机制不用漏包重磅。

ksubdomain 快速子域枚举工具 无状态子域爆破

特性和提示

  • 无状态爆破,有失败重发机制,速度极快
  • 中文帮助,-h会看到中文帮助
  • 两种模式,枚举模式和验证模式,枚举模式内置10w字典
  • 将网络参数简化为了-b参数,输入你的网络下载速度如-b 5m,将会自动限制网卡发包速度。
  • 可以使用./ksubdomain test来测试本地最大发包数
  • 获取网卡改为了全自动并可以根据配置文件读取。
  • 会有一个时时的进度条,依次显示成功/发送/队列/接收/失败/耗时 信息。
  • 不同规模的数据,调整 –retry –timeout参数即可获得最优效果
  • 当–retry为-1,将会一直重试直到所有成功。
  • 支持爆破ns记录

与massdns、dnsx对比

使用100w字典,在4H5M的网络环境下测试

ksubdomainmassdnsdnsx
支持系统Windows/Linux/DarwinWindows/Linux/DarwinWindows/Linux/Darwin
功能支持验证和枚举只能验证只能验证
发包方式pcap网卡发包epoll,pcap,socketsocket
命令行time ./ksubdomain v -b 5m -f d2.txt -o ksubdomain.txt -r dns.txt –retry 3 –nptime ./massdns -r dns.txt -t AAAA -w massdns.txt d2.txt –root -o Ltime ./dnsx -a -o dnsx.txt -r dns.txt -l d2.txt -retry 3 -t 5000
备注加了–np 防止打印过多
结果耗时:1m28.273s
成功个数:1397
耗时:3m29.337s
成功个数:1396
耗时:5m26.780s
成功个数:1396

ksubdomain只需要1分半,速度远远比massdns、dnsx快~

安装

  1. 下载加密https://github.com/boyhack/ksubdomain
  2. 安装libpcap环境
    • Windows 下载npcap,winpcap 驱动有人反馈典型
    • Linux 本身已经封装了libpcap,不需要其他
    • MacOS自带libpcap,独立其他操作
  3. 执行!
ksubdomain 快速子域枚举工具 无状态子域爆破

快速安装

需要go 1.17更高版本并安装libpcap环境,运行以下命令

go install -v github.com/boy-hack/ksubdomain/cmd/ksubdomain@latest

用法

名称:
   KSubdomain - 无状态子域名爆破工具

用法:
   ksubdomain [global options] command [command options] [arguments...]

版本:
   1.8.6

命令:
   enum, e    枚举域名
   verify, v  验证模式
   test       测试本地网卡的最大发送速度
   help, h    Shows a list of commands or help for one command

全局参数:
   --help, -h     显示帮助信息 (默认: false)
   --version, -v  输出版本信息 (默认: false)

模式

验证模式 提供完整的域名列表,ksubdomain负责快速获取结果

./ksubdomain verify -h

NAME:
   ksubdomain verify - 验证模式

USAGE:
   ksubdomain verify [command options] [arguments...]

OPTIONS:
   --filename value, -f value   验证域名文件路径
   --band value, -b value       宽带的下行速度,可以5M,5K,5G (default: "2m")
   --resolvers value, -r value  dns服务器文件路径,一行一个dns地址
   --output value, -o value     输出文件名
   --silent                     使用后屏幕将仅输出域名 (default: false)
   --retry value                重试次数,当为-1时将一直重试 (default: 3)
   --timeout value              超时时间 (default: 6)
   --stdin                      接受stdin输入 (default: false)
   --only-domain, --od          只打印域名,不显示ip (default: false)
   --not-print, --np            不打印域名结果 (default: false)
   --dns-type value             dns类型 1为a记录 2为ns记录 5为cname记录 16为txt (default: 1)
   --help, -h                   show help (default: false)
从文件读取 
./ksubdomain v -f dict.txt

从stdin读取
echo "www.hacking8.com"|./ksubdomain v --stdin

读取ns记录
echo "hacking8.com" | ./ksubdomain v --stdin --dns-type 2

枚举模式 只提供一级域名,指定域名字典或使用ksubdomain内置字典,枚举所有二级域名

./ksubdomain enum -h

NAME:
   ksubdomain enum - 枚举域名

USAGE:
   ksubdomain enum [command options] [arguments...]

OPTIONS:
   --band value, -b value          宽带的下行速度,可以5M,5K,5G (default: "2m")
   --resolvers value, -r value     dns服务器文件路径,一行一个dns地址
   --output value, -o value        输出文件名
   --silent                        使用后屏幕将仅输出域名 (default: false)
   --retry value                   重试次数,当为-1时将一直重试 (default: 3)
   --timeout value                 超时时间 (default: 6)
   --stdin                         接受stdin输入 (default: false)
   --only-domain, --od             只打印域名,不显示ip (default: false)
   --not-print, --np               不打印域名结果 (default: false)
   --dns-type value                dns类型 1为a记录 2为ns记录 5为cname记录 16为txt (default: 1)
   --domain value, -d value        爆破的域名
   --domainList value, --dl value  从文件中指定域名
   --filename value, -f value      字典路径
   --skip-wild                     跳过泛解析域名 (default: false)
   --level value, -l value         枚举几级域名,默认为2,二级域名 (default: 2)
   --level-dict value, --ld value  枚举多级域名的字典文件,当level大于2时候使用,不填则会默认
   --help, -h                      show help (default: false)
./ksubdomain e -d baidu.com

从stdin获取
echo "baidu.com"|./ksubdomain e --stdin

下载地址:

GitHub:

项目地址:

GitHub:https://github.com/boy-hack/ksubdomain

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注