📜  DNSx – DNS 工具包允许运行多个 DNS 查询

📅  最后修改于: 2022-05-13 01:57:27.881000             🧑  作者: Mango

DNSx – DNS 工具包允许运行多个 DNS 查询

DNS 查询在渗透测试中至关重要。 DNS 查询,也称为 DNS 请求,要求将数据从用户系统或 DNS 客户端发送到 DNS 服务器。在大多数情况下,会传递 DNS 请求以询问与域名关联的 IP 地址。但是我们可以根据需要自定义 DNS 请求。为了解析 DNS 查询,我们有一个名为 dnsx 的工具。 dnsx 工具是一个基于 Go 语言的工具。 dnsx 是一个快速且多用途的 DNS 工具包,它允许使用 retryabledns 库运行多个探测,这将使您能够使用支持 DNS 通配符过滤(如 shuffled)的用户提供的解析器列表来执行您选择的各种 DNS 查询。

DNSx 工具的特点

  1. 它是查询 DNS 记录的方便且简单的实用程序。
  2. 它支持 A、AAAA、CNAME、PTR、NS、MX、TXT、SOA。
  3. 它还支持 DNS 状态代码探测
  4. 它支持 DNS 跟踪。
  5. 它以自动方式处理通配符子域。
  6. 它是开源的,可以免费使用。
  7. 它支持 Stdin 和 Stdout,可以与其他工具一起使用。

在 Kali Linux 操作系统上安装 DNSx 工具:

第一步:如果您的系统中已经下载了Golang,请通过检查Golang的版本来验证安装,使用以下命令。

go version

第 2 步:从 Github 获取 DNSx 存储库或克隆 DNSx 工具,使用以下命令。

sudo GO111MODULE=on go get -v github.com/projectdiscovery/dnsx/cmd/dnsx



第3步:查看帮助菜单页面以更好地了解DNSx工具,使用以下命令。

dnsx -h

使用 DNSx 工具

示例 1:从被动子域列表中过滤无效记录

在此示例中,我们将通过过滤死记录来收集与目标域 (geeksforgeeks.org) 关联的子域。

subfinder -silent -d geeksforgeeks.org | dnsx

在下面的截图中,我们试图打开有死机记录的 www.qa.geeksforgeeks.org。您可以看到存在连接问题,因为此子域不再具有访问权限。

示例 2:打印给定子域列表的 A 记录

在此示例中,我们将收集子域及其记录。记录指示子域的 IP 地址。

subfinder -silent -d geeksforgeeks.org | dnsx -silent -a -resp



示例 3:为给定的子域列表提取 A 记录

在本例中,我们从子域或记录中提取或过滤 IP 地址。

subfinder -silent -d geeksforgeeks.org | dnsx -silent -a -resp-only

示例 4:为给定的子域列表提取 CNAME 记录

在本例中,我们从子域列表中提取 CNAME 记录。 CNAME 记录是一种将别名映射到真实或规范域名的 DNS 记录。

subfinder -silent -d geeksforgeeks.org | dnsx -silent -cname -resp

示例 5:在给定的子域列表上探测 DNS 状态代码

在此示例中,我们将收集有关 DNS 状态代码探测器的信息,在此,显示每个子域的状态,无论该子域是否有任何问题或是否没有错误。

示例 6:使用 PTR 查询从给定的网络范围中提取子域

在此示例中,我们从网络范围的 IP 地址范围中提取子域。在这个例子中,我们提供了 geeksforgeeks.org 的 IP 范围。 PTR 提供与 IP 地址关联的域名。与A记录相反。

echo 34.218.62.116/24 | dnsx -silent -resp-only -ptr

示例 7:通配符过滤

在下面的屏幕截图中,我们有目标 geeksforgeeks.org 的子域列表。

dnsx -l geeksforgeeeks.org_subdomains.txt -wd geeksforgeeks.org -o output.txt

在这个例子中,我们正在处理增加超过某个小阈值的多级基于 DNS 的通配符,它将迭代地检查该 IP 主机的所有级别上的通配符。

在下面的屏幕截图中,我们使用 -o 标志将输出保存在 output.txt 文件中。

所以 DNSx Tool 是一个优秀的 DNS 查询工具。您可以同时使用各种工具。在上面的例子中,我们使用了 SubFinder 工具来获取我们目标的大量子域列表。此列表提供给 DNSx 工具以进行 DNS 查询。