译文 | 赏金猎人:2022 子域枚举工具的全面详细比较

admin 2022年2月23日16:32:40评论176 views字数 14325阅读47分45秒阅读模式
译文 | 赏金猎人:2022 子域枚举工具的全面详细比较

开卷有益 · 不求甚解

译文 | 赏金猎人:2022 子域枚举工具的全面详细比较

前言

译文 | 赏金猎人:2022 子域枚举工具的全面详细比较

在攻击新目标时,子域的枚举几乎是强制性过程的一部分。但是,有许多工具可以使用尽可能多的不同来源和技术来执行此任务。蛮力、DNS 更改、排列、被动或主动收集……为了帮助您为日常狩猎选择最佳设备,我们对这些工具进行了详细比较。

本文是Six2dez撰写的客座博文。

方法

自从我第一次比较子域枚举工具以来已经快一年了,从那时起,新工具出现了,好吧,老实说,出现了许多新工具,一些现有的工具得到了改进,而另一些工具则被新的语言所取代,技术。

以下部分将描述进行比较所遵循的方法以及评估结果时需要考虑的方面。

在之前的评论之后,我根据用于收集数据的类型或技术对工具进行了分类,对于每种类型的技术测量都在YesWeHack上的一个公共程序的三个不同领域进行,特别是已选择的程序作为目标的是Lazada。

技术

  • 被动:这些类型的工具从免费和付费的第三方服务收集数据,这些数据基于您每次向他们请求数据集时所花费的 API 令牌和积分(在付费模型服务的情况下)。如果您在短时间内滥用 GitHub、Wayback Machine 或 Crt.sh 等其他工具,它们可能会强制执行某些类型的禁令,但大多数工具都可以处理这种情况以避免被禁令。在本主题中,您可以请求数据的第三方来源越多越好。即使子域的数据较旧或不再可用,此数据也将在侦察过程的后续步骤中有用。为了衡量哪些工具比其他工具更好,我收集了工具使用的来源、返回数据的速度以及返回的数据量。

  • DNS 解析:本主题将涵盖 DNS 解析和 DNS 蛮力,因为最终它是相同的,只需更改提供输入的方式(子域列表与目标 + 单词列表)。这里的关键点更复杂,因为我们必须考虑速度和精度的组合,我们不想要尽可能多的结果,因为我们需要从给定的输入中确定哪些结果是有效的。为了衡量在该领域哪些工具比其他工具更好,我解析了 3 个目标域中的子域列表,并检查了输出的准确性和处理分辨率的速度,其中包含大约 100K 行的子域列表和另一个更多超过 900 万个子域。

  • 排列:这是一个特殊的测试,因为在这种技术中,我们只需要创建一个高质量的字典来解决任何用于 DNS 解析的工具。更改和排列的技术包括创建一个给定子域列表和排列列表的字典,一个好的工具应该向上和向下迭代数字,并构建尽可能多的组合。这里的关键点是字典的数量和给出的结果的质量。为了衡量哪些工具成功地完成了这项工作,我采用了速度、数量,并手动检查了结果来衡量质量。

关键值

  • 来源:集成到工具中的来源数量。使用最多工具的工具获得 5 星。

  • 速度:这始终是使用任何工具的重要一点,它越快,你就会越快。用时最短的工具将获得 5 星。

  • 数量:我们通常想要尽可能多的结果,所以返回数据最多的工具会有 5 颗星,除了 DNS 解析,我测量了这个值并检查了哪个工具的结果最准确。

  • 质量:仅根据 DNS 解析和排列来衡量。我想明确一点,这是一个完全主观的价值,基于我的经验以及我发现工具给我的结果有多有用。

我研究了很多(实际上是很多)关于这个主题的工具,本次审查的第一个工具列表包含 50 多个工具的列表,但在分析过程中,我意识到大多数工具都向几乎相同的来源发出请求,他们处理它并在被动源的情况下返回相同的数据。所以我决定从比较中删除一些工具,因为从我的角度来看,它们没有增加我想要的价值。此外,所有工具都已发布,其中包含我发现的最佳指标集,以获得最佳结果。

技术数据

所有工具都在具有以下规格的新 Ubuntu VPS 上运行:

  • 2 个 CPU 内核。
  • 4 GB 内存。
  • 没有网络限制。
  • 80 GB 磁盘空间。
  • 不同的位置(eu-central、us-central 和 ap-west)。

由于大部分的Bug Hunter都是在VPS上运行任务,所以我选择了一个中端主机以避免由于资源不足而导致的崩溃,无论如何一些工具由于资源限制而崩溃,但我认为这些工具应该不需要太多CPU 或 RAM,事实上,它应该能够在 RPi 上运行(虽然不推荐)。

目标

来自Lazada公共漏洞赏金计划:

  • lazada.com
  • redmart.com
  • lazada.sg

使用的列表

  • 默认子域列表自定义。
  • 大子域列表(来自 Assetnote)。
  • 排列列表自定义。
  • 使用dnsvalidator生成的解析器列表。

结果

所有结果都已汇总在一张表中,以便您对每个工具(执行时间、发现的子域数量、使用的命令、使用的词表……)进行全局和综合审查。

工具

类型 工具 回购 星星 最新发布 最新提交 编程语言
被动的 Amass https://github.com/OWASP/Amass 6,1K 3.15.0 2021 年 11 月 12 日
被动的 Sublist3r https://github.com/aboul3la/Sublist3r 6,5K 1.1 2020 年 7 月 29 日 Python
被动的 SonarSearch https://github.com/Cgboal/SonarSearch 428 2021 年 9 月 17 日
被动的 chaos-client https://github.com/projectdiscovery/chaos-client 270 0.1.9 2021 年 10 月 20 日
被动的 subfinder https://github.com/projectdiscovery/subfinder 4,4K 2.4.9 2021 年 10 月 20 日
被动的 assetfinder https://github.com/tomnomnom/assetfinder 1,5K 2020 年 4 月 15 日
被动的 waybackurls https://github.com/tomnomnom/waybackurls 1,5K 2020 年 4 月 24 日
被动的 gau https://github.com/lc/gau 1,6K 2.0.6 2021 年 11 月 15 日
被动的 github-subdomains https://github.com/gwen001/github-subdomains 276 2021 年 4 月 15 日
被动的 Findomain https://github.com/Findomain/Findomain 2,1K 5.0.0 2021 年 11 月 9 日
被动的 OneForAll https://github.com/shmilylty/OneForAll 4,1K 0.4.3 2021 年 11 月 19 日 Python
分辨率/BF shuffledns https://github.com/projectdiscovery/shuffledns 692 1.0.4 2021 年 10 月 20 日
分辨率/BF puredns https://github.com/d3mondev/puredns 580 2.0.1 2021 年 6 月 25 日
分辨率/BF dnsx https://github.com/projectdiscovery/dnsx 629 1.0.7 2021 年 11 月 19 日
分辨率/BF dnscan https://github.com/rbsec/dnscan 643 2021 年 10 月 28 日 Python
分辨率/BF gobuster https://github.com/OJ/gobuster 5,3K 3.1.0 2021 年 6 月 21 日
分辨率/BF aiodnsbrute https://github.com/blak/aiodnsbrute 403 0.3.2 2019 年 6 月 4 日 Python
分辨率/BF massdns https://github.com/blechschmidt/massdns 2,1K 1.0.0 2021 年 11 月 11 日 C
分辨率/BF Amass https://github.com/OWASP/Amass 6,1K 3.15.0 2021 年 11 月 12 日
分辨率/BF rusolver https://github.com/Edu4rdSHL/rusolver 136 0.7.0 2021 年 10 月 20 日
词汇表 altdns https://github.com/infosec-au/altdns 1,6K 2021 年 9 月 10 日 Python
词汇表 dnscewl https://github.com/codingo/DNSCewl 213 2021 年 6 月 7 日 C++
词汇表 gotator https://github.com/Josue87/gotator 126 1.1 2021 年 7 月 24 日
词汇表 dmut https://github.com/bp0lr/dmut 99 2021 年 6 月 5 日
词汇表 dnsgen https://github.com/ProjectAnte/dnsgen 511 1.0.4 2020 年 3 月 24 日 Python

被动结果

带有 api 的工具 添加了 API lazada.com 时间 lazada.com 结果 redmart.com 时间 redmart.com 结果 lazada.sg 时间 lazada.sg 结果 笔记 命令
Amass 18 0:02:12 5251 0:02:15 5239 0:03:00 6610 amass enum -passive -d domain.com
Sublist3r 0:00:11 143 0:00:11 69 0:00:12 102 python3 sublist3r.py -d domain.com | 尾 -n +25
SonarSearch 0:00:01 37 0:00:01 10 0:00:01 22 crobat -s domain.com
chaos-client 1 0:00:01 81 0:00:01 55 0:00:01 70 chaos-client-d domain.com -silent
subfinder 15 0:00:41 5265 0:00:28 5110 0:00:30 5194 subfinder -d domain.com -all -silent
assetfinder 3 0:00:48 241 0:00:05 160 0:00:01 229 时间不一致 assetfinder–仅订阅 domain.com
waybackurls 0:00:01 127 0:00:01 60 0:00:23 26 waybackurls domain.com | 展开 -u 域
gau 0:01:29 134 0:01:32 69 0:05:01 43 Inconsistente en tiempo y resultados (71m!) gau –subs domain.com | 展开 -u 域
github-subdomains 1 0:00:10 144 0:00:15 72 0:00:10 97 github-subdomains -d domain.com -k -q -t .github_tokens -o result.txt
Findomain 4 0:00:06 246 0:00:02 181 0:00:08 201 findomain –quiet -t domain.com
OneForAll 10 0:03:18 425 0:02:20 613 0:01:42 155 python3 oneforall.py –target domain.com –alive False –brute False –dns False –fmt json –path results/ run && cat results/domain.com.json | jq'.[] | .子域'
没有 APIS 自定义 API lazada.com 时间 lazada.com 结果 redmart.com 时间 redmart.com 结果 lazada.sg 时间 lazada.sg 结果 笔记 命令
Amass 0:02:02 4233 0:02:58 253 0:03:14 3938 amass enum -passive -d domain.com
Sublist3r python3 sublist3r.py -d domain.com | 尾 -n +25
SonarSearch crobat -s domain.com
chaos-client chaos-client-d domain.com -silent
subfinder 0:00:24 249 0:00:06 115 0:00:26 160 subfinder -d domain.com -all -silent
assetfinder 时间不一致 assetfinder–仅订阅 domain.com
waybackurls waybackurls domain.com | 展开 -u 域
gau Inconsistente en tiempo y resultados (71m!) gau –subs domain.com | 展开 -u 域
github-subdomains github-subdomains -d domain.com -k -q -t .github_tokens -o result.txt
Findomain findomain –quiet -t domain.com
OneForAll python3 oneforall.py –target domain.com –alive False –brute False –dns False –fmt json –path results/ run && cat results/domain.com.json | jq'.[] | .子域'

DNS 结果

BF 短
工具 lazada.com 时间 lazada.com 结果 redmart.com 时间 redmart.com 结果 lazada.sg 时间 lazada.sg 结果 % 失败 笔记 命令
shuffledns 0:00:29 120 0:00:36 102 0:00:39 119 57,89 shuffledns -d domain.com -w ~/Tools/subdomains_big.txt -r ~/Tools/resolvers.txt
puredns 0:00:09 75 0:00:09 16 0:00:15 60 -1,32 puredns bruteforce ~/Tools/subdomains_big.txt domain.com -w puredns_domain.com_bf.txt -r ~/Tools/resolvers.txt
dnsx
dnscan 0:21:56 82 0:14:37 43 0:19:36 74 7,89 python3 Tools/dnscan/dnscan.py -d domain.com -w ~/Tools/subdomains_big.txt -L ~/Tools/resolvers.txt
gobuster 0:08:55 69 0:05:51 15 0:08:52 59 -9,21 gobuster dns -d domain.com -w ~/Tools/subdomains_big.txt -q -t 100
aiodnsbrute 0:13:28 151 0:14:53 85 0:18:48 202 98,68 aiodnsbrute -w ~/Tools/subdomains_big.txt -r ~/Tools/resolvers.txt
massdns
Amass 0:29:35 75 0:16:41 20 0:28:17 1040 -1,32 amass enum -brute -d domain.com -rf ~/Tools/resolvers.txt -w ~/Tools/subdomains_big.txt
rusolver 0:12:55 59 0:12:19 15 0:11:04 49 -22,37 cat ~/Tools/subdomains_big.txt | rusolver -d domain.com -r ~/Tools/resolvers.txt
基线结果 76 16 65
BF长
工具 lazada.com 时间 lazada.com 结果 redmart.com 时间 redmart.com 结果 lazada.sg 时间 lazada.sg 结果 % 失败 笔记 命令
shuffledns 3:39:00 19834 1:00:31 3911 1:28:33 11379 12948,68 shuffledns -d domain.com -w ~/Tools/subdomains.txt -r ~/Tools/resolvers.txt
puredns 0:09:19 152 0:08:15 39 0:09:46 108 0,00 puredns bruteforce ~/Tools/subdomains.txt domain.com -w puredns_domain.com_bf.txt -r ~/Tools/resolvers.txt
dnsx
dnscan 2:19:07 145 2:25:05 298 2:11:02 112 -4,61 python3 Tools/dnscan/dnscan.py -d domain.com -w ~/Tools/subdomains.txt -L ~/Tools/resolvers.txt
gobuster 21:00:00 20000 13057,89 更多线程,更少结果 gobuster dns -d domain.com -w ~/Tools/subdomains.txt -q -t 100
aiodnsbrute 2:59:25 3450 2169,74 aiodnsbrute -w ~/Tools/subdomains.txt -r ~/Tools/resolvers.txt
massdns
Amass 碰撞 碰撞 碰撞 amass enum -brute -d domain.com -rf ~/Tools/resolvers.txt -w ~/Tools/subdomains.txt
rusolver 9:54:02 98 11:27:35 21 10:09:22 76 -35,53 更多线程更多时间¿? cat ~/Tools/subdomains.txt | rusolver -d domain.com -r ~/Tools/resolvers.txt
基线结果 152 38 109

AltPerm 结果

20 个订阅者 lazada.com
工具 时间 尺寸 独特的线条 笔记 解决 命令
altdns 0:00:01 2,5M 104408 485 altdns -i subdomains.txt -w permutations.txt
dnscewl 0:00:01 1,3M 52261 135 DNScewl –tL subdomains.txt -p permutations.txt –level=0 –subs –no-color | 尾 -n +14
gotator 0:00:02 3,6M 143583 642 gotator -sub subdomains.txt -perm permutations.txt -depth 1 -numbers 10 -mindup -adv -md -silent
dmut 0:00:01 2,5M 104728 415 猫子域.txt | dmut -d permutations.txt –save-gen
dnsgen 0:00:01 2,7M 108302 631 dnsgen subdomains.txt –wordlist permutations_list.txt
150 个订阅者 lazada.com
工具 时间 尺寸 独特的线条 笔记 解决 命令
altdns 0:00:02 21M 847774 1410 altdns -i subdomains.txt -w permutations.txt
dnscewl 0:00:02 9,5M 397162 296 DNScewl –tL subdomains.txt -p permutations.txt –level=0 –subs –no-color | 尾 -n +14
gotator 0:00:18 32M 1217298 1747 gotator -sub subdomains.txt -perm permutations.txt -depth 1 -numbers 10 -mindup -adv -md -silent
dmut 0:00:01 21M 850463 805 猫子域.txt | dmut -d permutations.txt –save-gen
dnsgen 0:00:11 25M 922930 1729 dnsgen subdomains.txt –wordlist permutations_list.txt
500 个订阅者 lazada.com
工具 时间 尺寸 独特的线条 笔记 解决 命令
altdns 0:00:09 116M 3268905 altdns -i subdomains.txt -w permutations.txt
dnscewl 0:00:03 37M 1166233 DNScewl –tL subdomains.txt -p permutations.txt –level=0 –subs –no-color | 尾 -n +14
gotator 0:03:38 645M 14755896 gotator -sub subdomains.txt -perm permutations.txt -depth 1 -numbers 10 -mindup -adv -md -silent
dmut 0:00:03 122M 3280384 猫子域.txt | dmut -d permutations.txt –save-gen
dnsgen 0:01:08 240M 5625287 dnsgen subdomains.txt –wordlist permutations_list.txt

💡完整的表格可以在这里找到

工具

被动工具

积累

  • 网址:https ://github.com/OWASP/Amass
  • 星星:6,1K
  • 语言:围棋
  • 最新提交:2021 年 11 月 12 日
  • 支持的来源:87

在 OWASP 的支持下并不断更新,Amass 是最流行的子域和侦察工具。它支持许多功能、选项和设置,但在本次审查中,我将重点介绍被动和主动技术。

优点

  • 它支持的资源比任何其他工具都多,集成了 80 多个资源,包括付费和免费。
  • 提供比被动来源的任何其他工具更多的子域,即使我们在没有 API 密钥的情况下比较它们。
  • 它具有许多可用作识别套件的功能。

缺点

  • 几乎所有功能都比大多数工具慢。
  • 使用大型单词列表进行暴力破解时崩溃..
  • DNS 暴力破解中缺乏功能,无法控制通配符或受信任的解析器。

结果

来源 速度 数量 DNS速度 DNS 质量
★★★★★ ★★☆☆☆ ★★★★★ ★★★★★ ★★★☆☆

Sublist3r

  • 网址:https ://github.com/aboul3la/Sublist3r
  • 星星:6,5K
  • 语言:Python
  • 最新提交:2020 年 7 月 29 日
  • 支持的来源:11

Sublist3r 是最早成功搜索子域的最常用工具之一,它还集成了 subbrute 以添加 DNS 蛮力模块,但由于缺乏更新、来源和维护,最近它已被 amass 或 subfinder 等其他工具取代。

优点

  • 它比大多数都快。
  • 它具有有趣的功能,例如端口扫描或 subbrute 模块。

缺点

  • 返回的结果少于预期。
  • 蛮力模块的功能非常有限。
  • 过时了。

结果

来源 速度 数量
★★☆☆☆ ★★★★☆ ★★☆☆☆

SonarSearch

  • 网址:https ://github.com/Cgboal/SonarSearch
  • 星数:428
  • 语言:围棋
  • 最新提交:2021 年 9 月 17 日
  • 支持的来源:1

SonarSearch 数据库的客户端,该数据库从 Rapid7 的 Project Sonar 数据集中检索数据,该数据集是最大的公开可用数据集之一。

优点

  • 它非常快。
  • 每次执行的结果数量一致。

缺点

  • 有时 SonarSearch API 已关闭,使其无用。

结果

来源 速度 数量
★☆☆☆☆ ★★★★★ ★★☆☆☆

混乱

  • 网址:https ://github.com/projectdiscovery/chaos-client
  • 星数:270
  • 语言:围棋
  • 最新提交:2021 年 10 月 20 日
  • 支持的来源:1

与 Crobat 一样,它是针对特定来源的工具,在这种情况下,它是 Project Discovery 的 Chaos 数据库的官方客户端,从自己的数据集中检索数据。

优点

  • 它真的很快。
  • 无需第三方来源即可返回相当大量的数据。

缺点

  • Chaos API 密钥仅提供给受邀用户。

结果

来源 速度 数量
★☆☆☆☆ ★★★★★ ★★☆☆☆

subfinder

  • 网址:https ://github.com/projectdiscovery/subfinder
  • 星星:4,4K
  • 语言:围棋
  • 最新提交:2021 年 10 月 20 日
  • 支持的来源:32

近年来,这是 Project Discovery 开发的用于获取数据源子域的最著名的工具。

优点

  • 它抓取的来源数量非常快。
  • 就回收来源和数量而言,这是最好的之一。

缺点

  • 它可以支持更多的来源成为最完整的工具。

结果

来源 速度 数量
★★★★☆ ★★★★☆ ★★☆☆☆

assetfinder

  • 网址:https ://github.com/tomnomnom/assetfinder
  • 星星:1,5K
  • 语言:围棋
  • 最新提交:2020 年 4 月 15 日
  • 支持的来源:9

由著名的tomnomnom开发的子域提取工具。

优点

  • 它不需要任何 API 密钥来获得相当数量的子域。

缺点

  • 显示结果所需的时间不一致。

结果

来源 速度 数量
★★★☆☆ ★★★☆☆ ★★☆☆☆

waybackurls

  • 网址:https ://github.com/tomnomnom/assetfinder
  • 星星:1,5K
  • 语言:围棋
  • 最新提交:2020 年 4 月 24 日
  • 支持的来源:3

WaybackMachine URL 抓取工具。在这种情况下,它可用于使用 unfurl 从 URL 列表中过滤子域。

优点

  • 检索到的数据量真的很快。

缺点

  • 只需从 WaybackMachine 服务获取数据。
  • 例如,它可能具有一些功能来过滤输出或避免某些扩展。

结果

来源 速度 数量
★★☆☆☆ ★★★★★ ★★☆☆☆

gau

  • 网址:https ://github.com/lc/gau
  • 星星:1,6K
  • 语言:围棋
  • 最新提交:2021 年 11 月 15 日
  • 支持的来源:4

类似于具有不同来源的 WaybackUrls,但功能相同,输出也需要过滤。

优点

  • 通常返回与 Waybackurls 相同的数据以及更多结果。

缺点

  • 恢复的数据量非常不一致。
  • 返回的数据量慢。

结果

来源 速度 数量
★★★☆☆ ★★☆☆☆ ★★☆☆☆

github-subdomains

  • 网址:https ://github.com/gwen001/github-subdomains
  • 星数:276
  • 语言:围棋
  • 最新提交:2021 年 4 月 15 日
  • 支持的来源:1

从 GitHub 搜索功能中提取子域的工具。

优点

  • 快速地
  • 大多数工具都没有 GitHub 作为源。

缺点

  • API 需要大量的 GitHub 令牌才能快速工作。
  • 根据目标,可能需要很长时间。

结果

来源 速度 数量
★☆☆☆☆ ★★★☆☆ ★★★☆☆

Findomain

  • 网址:https ://github.com/Findomain/Findomain
  • 星数:2,1K
  • 语言:锈
  • 最新提交:2021 年 11 月 9 日
  • 支持的来源:14

Findomain 付费版本的免费和有限版本。它有大量的内置字体,在速度和数据之间取得了很好的平衡,它也是唯一用 Rust 编写的工具。

优点

  • 快速地
  • 频繁更新
  • 免费计划中的大量功能

缺点

  • 返回的子域很少

结果

来源 速度 数量
★★★☆☆ ★★★★☆ ★★☆☆☆

OneForAll

  • 网址:https ://github.com/shmilylty/OneForAll
  • 星数:4,1K
  • 语言:Python
  • 最新提交:2021 年 11 月 19 日
  • 支持的来源:48

几个月前,这对我来说是一个未知的工具,我对你可以获得的大量资源感到惊讶。

优点

  • 整合了很多资源
  • 经常更新

缺点

  • 考虑到来源的数量,子域少于预期。

结果

来源 速度 数量
★★★★☆ ★☆☆☆☆ ★★★☆☆

DNS解析/蛮力

shufflednsDNS

  • 网址:https ://github.com/projectdiscovery/shuffledns
  • 星数:692
  • 语言:围棋
  • 最新提交:2021 年 10 月 20 日

是 Project Discovery 开发的 DNS 解析工具,我在蛮力任务上用了很久。

优点

  • 调整扫描的许多选项
  • 蛮快
  • Massdns 包装器

缺点

  • 受信任的解析器不可编辑
  • 错误的通配符管理
  • 有时会因大型单词列表而崩溃

结果

DNS速度 DNS 质量
★★★★☆ ★★★☆☆

纯种

  • 网址:https ://github.com/d3mondev/puredns
  • 星数:580
  • 语言:围棋
  • 最新提交:2021 年 6 月 25 日

我首选的 DNS 解析和蛮力工具,第 2 版于今年发布,并进行了大量改进。

优点

  • 最佳通配符过滤
  • 几乎是最快的
  • 最准确的

缺点

  • 可以有多个域作为目标
  • 没有过滤不同 DNS 响应的选项

结果

DNS速度 DNS 质量
★★★★☆ ★★★★★

dnsx

  • 网址:https ://github.com/projectdiscovery/dnsx
  • 星数:629
  • 语言:围棋
  • 最新提交:2021 年 11 月 19 日

同样,另一个项目发现工具,但这次它专注于 DNS 响应,它就像一个现代挖掘替代品,可用于解析大量域。

优点

  • 不同的 DNS 响应过滤
  • 原始输出
  • 关于 DNS 请求的多项功能

缺点

  • 无法进行暴力破解
  • 错误的通配符过滤

结果

DNS速度 DNS 质量
★★★☆☆ ★★☆☆☆

dnscan

  • 网址:https ://github.com/rbsec/dnscan
  • 星数:643
  • 语言:Python
  • 最新提交:2021 年 10 月 28 日

一个用 Python 编写的完整 DNS 工具包,具有所有基本功能和一些额外功能。

优点

  • 允许递归暴力破解
  • 相当准确
  • 故障回复到 TXT 和 MX 记录

缺点

  • 没有受信任的解析器
  • 没有通配符过滤
  • 没有解决,只是蛮力

结果

DNS速度 DNS 质量
★★★★☆ ★★★★☆

gobuster

  • 网址:https ://github.com/OJ/gobuster
  • 星星:5,3K
  • 语言:围棋
  • 最新提交:2021 年 6 月 21 日

最初打算成为一个网络模糊器,一年多前添加了一项新功能,以允许 DNS 暴力破解。

优点

  • 通配符过滤
  • 质量结果

缺点

  • 不允许的自定义解析器列表
  • 具有大量子域的损失控制
  • 没有解决,只有BF

结果

DNS速度 DNS 质量
★★★☆☆ ★★★★☆

aiodnsbrute

  • 网址:https ://github.com/blak/aiodnsbrute
  • 星数:403
  • 语言:Python
  • 最新提交:2019 年 6 月 4 日

用 Python 编写的非维护异步 DNS 暴力破解工具,根据存储库文档专注于速度。

优点

  • 允许的自定义解析器列表。
  • 不同的 DNS 记录。

缺点

  • 最后一次提交 2019
  • 没有通配符检查。

结果

DNS速度 DNS 质量
★★☆☆☆ ★★★☆☆

massdns

  • 网址:https ://github.com/blechschmidt/massdns
  • 星数:2,1K
  • 语言:C
  • 最新提交:2021 年 11 月 11 日

这个工具是许多其他工具的核心,因为它在极短的时间内提供了最快的 DNS 解析,有些人使用它而不是它的包装器。

优点

  • 最快的。
  • 作为多种工具的基础和核心。
  • 数以万亿计的选择。

缺点

  • 独立运行需要繁重的输出处理
  • 没有通配符检查。
  • 没有BF,只有解析器。

结果

DNS速度 DNS 质量
★★★★★ ★★★☆☆

rusolver

  • 网址:https ://github.com/Edu4rdSHL/rusolver
  • 星数:136
  • 语言:锈
  • 最新提交:2021 年 10 月 20 日

Findomain 开发人员发布了这个 DNS 解析器作为他们主要工具的一部分,它也是用 Rust 编写的。

优点

  • 通配符检查。
  • 允许解析和BF。

缺点

  • 对大词表没用

结果

DNS速度 DNS 质量
★★★☆☆ ★★★★☆

变更/排列

altdns

  • 网址:https ://github.com/infosec-au/altdns
  • 星星:1,6K
  • 语言:Python
  • 最新提交:2021 年 9 月 10 日

来自著名黑客的另一个工具infosec-au是用 Python 开发并定期维护的最常用的排列工具之一。

优点

  • 线程控制。
  • 它允许解决生成的列表。

缺点

  • 没有数字的迭代
  • 不要合并现有数据

结果

烫发速度 烫发数量 烫发质量
★★★★☆ ★★★☆☆ ★★★★☆

dnscewl

  • 网址:https ://github.com/codingo/DNSCewl
  • 星数:213
  • 语言:C++
  • 最新提交:2021 年 6 月 7 日

同样,另一个来自 bug 赏金场景的知名人士,一个由codingo开发并用 C++ 开发的工具。

优点

  • 真快
  • 内置单词列表
  • 迭代数字
  • 追加和前置更改

缺点

  • 失去一些组合
  • 文件大于 3GB 时崩溃

结果

烫发速度 烫发数量 烫发质量
★★★★☆ ★☆☆☆☆ ★★★★☆

gotator

  • 网址:https ://github.com/Josue87/gotator
  • 星数:126
  • 语言:围棋
  • 最新提交:2021 年 7 月 24 日

由好朋友和同事开发的工具,牢记排列工具应具备的所有需求。

优点

  • 更完整的选择
  • 线程控制
  • 内置单词列表
  • 深度控制
  • 避免上当和愚蠢的组合。

缺点

结果

烫发速度 烫发数量 烫发质量
★☆☆☆☆ ★★★★★ ★★★★★

dmut

  • 网址:https ://github.com/bp0lr/dmut
  • 星级:99
  • 语言:围棋
  • 最新提交:2021 年 6 月 5 日

Golang 工具具有令人印象深刻的速度和良好的质量平衡。

优点

  • 最快的
  • 允许您解决生成的列表
  • 线程控制

缺点

  • 缺乏内置词表
  • 不要迭代数字

结果

烫发速度 烫发数量 烫发质量
★★★★★ ★★★☆☆ ★★★☆☆

dnsgen

  • 网址:https ://github.com/ProjectAnte/dnsgen
  • 星级:511
  • 语言:Python
  • 最新提交:2020 年 3 月 24 日

可能是这种类型的第一个成名的工具之一,它有很多不同的排列,增加了高质量的结果。

优点

  • 追加和前置词
  • 迭代数字
  • 合并现有子域

缺点

  • 无线程控制
  • 创建愚蠢的组合

结果

烫发速度 烫发数量 烫发质量
★★☆☆☆ ★★★★☆ ★☆☆☆☆

结论

在花了这么多时间审查工具、子域、DNS 请求、响应数量和其他数据之后,我得出了不同的结论,我将以关键点的形式留下:

  • 看起来 Golang 终于开始宣称自己是一种针对 Python 的攻击性开发语言。

  • 子域枚举工具的工作一天比一天好,使识别过程更容易,应该无限感激。

  • 开发自己的工具很好,但是如果您打算将它们作为开源发布给社区,请考虑是否可以在创建另一个与现有工具非常相似的工具之前改进已经存在的工具。

  • 无论如何,请继续为 foss 世界做出贡献。

最后提醒一下,还有其他子域枚举技术,有的比较手动,有的比较复杂或者只适用于某些值得研究和理解的目标,比如Google Analytics ID、AzureAD租户域、代码抓取、TLS协议证书分析。

现在是获胜者:

被动的

🥇Amass 🥈 subfinder 🥉 Findomain

Amass 在集成第三方的数量方面继续拥有巨大优势,这是这些工具的一个关键点,所以在我看来它是无与伦比的。其余获胜者通过与结果数量直接相关的综合来源数量获得位置。

DNS解析/DNS暴力破解

🥇 Puredns 🥈 Dnscan 🥉Shuffledns

Puredns 必须微调 DNS 解析的选项数量、它的执行速度(以消耗带宽为代价)以及它对有效解析子域的关注程度使其毫无疑问是渗透测试者和漏洞猎手的最佳 DNS 解析工具毫无疑问。dnscan对我来说是一个惊喜,因为它取得了我没想到的稳定性和结果质量,而shuffledns我认为在通配符的过滤和返回结果的准确性方面需要修改和改进。

变更/排列

🥇 Gotator 🥈 Altdns 🥉 Dmut

在这种情况下,前 3 名中的所有工具都获得了相同的星数,所以我不得不更详细地查看结果。我将 Gotator 放在首位,因为结果的质量和数量远远优于其他结果,虽然速度较慢,但在我看来,它并不是一个与结果质量一样重要的值。至于altdns,出于同样的原因,我把它排在了第二位,把dmut排在了第三位。

结尾

我希望你和我写这篇评论一样喜欢这篇评论,不要犹豫,通过你喜欢的渠道与我联系,你会发现我是 Six2dez,我很乐意谈论任何话题🙂

译文申明

  • 文章来源为近期阅读文章,质量尚可的,大部分较新,但也可能有老文章。
  • 开卷有益,不求甚解,不需面面俱到,能学到一个小技巧就赚了。
  • 译文仅供参考,具体内容表达以及含义, 以原文为准 (译文来自自动翻译)
  • 如英文不错的,尽量阅读原文。(点击原文跳转)
  • 每日早读基本自动化发布(不定期删除),这是一项测试

最新动态: Follow Me

微信/微博: red4blue

公众号/知乎: blueteams

译文 | 赏金猎人:2022 子域枚举工具的全面详细比较

译文 | 赏金猎人:2022 子域枚举工具的全面详细比较

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月23日16:32:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   译文 | 赏金猎人:2022 子域枚举工具的全面详细比较https://cn-sec.com/archives/798973.html

发表评论

匿名网友 填写信息