子域名扫描器工具17 Mar 2025 | 6 分钟阅读 为了发现子域,基于终端的最佳子域扫描工具如下 AMASS据 Jeff Foley 介绍,当我们想要发现子域时,我们会使用 Amass,因为它是我们最喜欢的工具之一。如果我们想收集和累积大量的子域数据,我们将使用一个基于终端的最强大的命令之一。 我们可以通过各种子域映射技术获得子域的完整列表,包括反向 NDS 扫描、递归暴力破解、机器学习和 Amass 使用的网络抓取。 通过与 SecurityTarils API 的完全集成,它可以提供更快的被动子域侦察。如果我们尝试安装 Amass,在 Kali Linux 操作系统上使用 snap,或者通过预编译的包和其他 Linux 发行版,安装 Amass 会变得很容易。要做到这一点,我们可以键入以下命令: 当上述命令运行后,我们就可以开始使用 amass 了。现在我们将看到 amass 的用法,以便轻松确定子域。 ![]() 我们可以使用以下命令运行基本的子域扫描: 上述命令的输出如下: 使用单个命令,我们也可以扫描多个域,如下所示: 如果我们运行 amass -h 命令,我们可以找到其他高级扫描选项。 SubBrute我们测试过的最快的基于暴力破解的子域发现工具之一是 SubBrute。它用于隐藏子域扫描的来源,这是它最酷的功能。 使用 SubBrute,枚举的 DNS 记录可以通过充当 DNS 爬虫来递归地抓取。通过这一点,可以构建一个完整的基于终端的 DNS 工具包。 SubBrute 的语法描述如下,非常简单: 上述命令的输出显示在以下截图中: ![]() SubBrute 支持过滤 DNS 记录。如果我们使用任何给定的域名并只想获取 TXT 记录,我们将使用 --type 选项。 使用 subbrute.run() 函数,我们可以将我们的 Python 脚本与 SubBrute 集成,这是 SubBrute 的另一个有趣之处。例如: 如果我们想使用它的高级选项,我们只需运行以下命令: Knock信息安全研究人员借助另一个 Python 子域扫描工具 Knock 来执行情报收集过程。当执行完整的 DNS 区域传输时,它会起作用。在 VirusTotal 子域数据库中,如果 DNS 区域传输失败,Knock 会运行一个查询。 这个程序非常简单,当我们想要发现子域时,它会做得很好。Knock 需要 python-dnspython 包,并且所有主要的 Linux 发行版都包含这个包。一旦我们解决了这个问题,这项任务就会变得非常简单。 此文件包含 VirusTotal API 密钥,我们按如下方式为该测试配置此密钥: 之后,我们将像这样运行以下设置: 最后,我们将像这样针对目标运行扫描: 上述命令将生成预期的输出,显示在以下截图中: ![]() 同样的扫描还提供了其他有用的详细信息,如响应状态、远程检测服务器主机名、IP 地址和域名。 ![]() 扫描也可以通过 -w 选项后跟外部字典文件来启动,如下所示: 当我们运行 knockpy -h 命令时,我们可以获得其他选项和高级扫描选项。 DNSReconDNSRecon 被称为最知名的域侦察脚本之一。与此列表中的其他脚本一样,DNSRecon 也是用 Python 编写的。 对于 AXFR 区域传输,当我们检查所有 NS 记录时,它会起作用。为了对 SPF、TXT、SOA、SRV、MX 和 NS 等任何记录类型执行 DNS 枚举,DNSRecon 将非常有用。 DNSRecon 支持通配符解析检查。它还支持基于暴力破解的 AAAA 和 A 类型记录的发现。DNSRecon 的强大之处不止于此。通过查询 Google dorks,GoogleBot 也可以获取索引的子域。 当我们下载 DNSRecon 包时,需要使用 pip 安装一些必需的包。 在此之后,我们可以像这样进行测试: 执行此命令后,将生成以下输出: ![]() 在上面的截图中,我们可以看到 DNSRecon 对 securitytrails.com 进行了扫描,获取了所有类型的 DNS 记录,如 TXT、MX、SOA、A、NS 和 SRV 记录,并且它们也试图被枚举。 简单的 -d 选项也可以帮助我们进行 DNS 发现。使用 -D 选项的目录文件也可用于查找子域。 Sublist3r它可以被描述为一个庞大的子域扫描器,并且基于 Python。为了收集子域数据,蓝队和红队以及漏洞赏金猎人也广泛使用它。 如果我们想确定子域,这个工具对我们来说将是最快和最有效的,因为它能够查询像百度、谷歌、必应、雅虎这样的搜索引擎以及 Netcraft 等第三方来源。令人惊讶的是,它还支持字典和暴力破解攻击。 Python 2 或 Python 3 版本是 Sublist3r 的最低要求。 Python 2 推荐版本为 2.7.x。 Python 3 推荐版本为 3.4.x。 如果我们想开始,需要克隆 Git 存储库。之后,对于一些依赖项,我们将像这样运行 pip 安装: 现在,安装已完成。因此,子域扫描任务可以像这样执行: 上述命令将生成预期的输出,显示在以下截图中: ![]() 这个子域扫描器只扫描子域的特定开放端口,这是 Sublist3r 非常酷的一个功能。例如: 上面的请求执行子域枚举,它将过滤掉包含 80 和 443 开放端口的主机。 AltDNS这个子域发现工具的工作基于置换和变形。域名可能包含变异或修改后的结果,并且可以通过使用已确认子域的列表并设置默认字典或自定义字典(如 server、test、dev、staging 等)来运行脚本以生成两者。 AltDNS 包含 200 多个子域数据集,当我们需要生成有效的子域时,它会派上用场。 当克隆 Git 项目后,我们可以使用 pip 像这样快速解决依赖关系: 在此之后,AltDNS 就准备好了,我们可以像这样使用它: 注意:existing actual subdomain 的列表由 subdomain.txt 描述,AltDNS 的字典由 words.txt 描述。执行上述命令后,将生成预期的输出,显示在以下截图中: ![]() 总结基于旧终端的工具仍然可以生成实时子域数据库,但我们可以使用被动 OSINT 源来查找子域,这是确定子域更有效和更快的方法。 在子域扫描和子域映射任务方面,像我们在 SecurityTrails 构建的那个一样,域、被动 DNS 和 IP 情报数据库现在是排名第一的数据源。 下一主题握手引理 |
我们请求您订阅我们的新闻通讯以获取最新更新。