dnsx工具包详解:快速处理DNS请求

admin 2024年10月8日13:42:07评论17 views字数 2215阅读7分23秒阅读模式

简介 🪶

dnsx工具包详解:快速处理DNS请求

dnsx 是一个由 ProjectDiscovery 构建的快速且多用途的 DNS 工具包,专为通过 retryabledns 库进行各种探测而设计。这个工具特别适合需要高效处理大量 DNS 请求的场景。dnsx 支持多种 DNS 查询,包括 A、AAAA、CNAME、PTR、NS、MX、TXT、SRV 和 SOA 等记录的查询。此外,它还支持 DNS 解析和暴力破解功能,允许用户自定义输入解析器,并具有对多种解析器格式(如 TCP、UDP、DOH、DOT)的支持。

核心功能

  1. 多种 DNS 查询支持:除了常用的 A 和 AAAA 记录,dnsx 还支持 CNAME、PTR、NS、MX、TXT 等多种 DNS 记录查询。
  2. 自定义解析器支持:用户可以指定自定义 DNS 解析器以进行查询,大大提高了工具的灵活性。
  3. DNS 扫描和暴力破解:支持对一个域名或域名列表进行 DNS 查询和子域名暴力破解,以发现更多潜在的网络资产。
  4. 自动通配符处理:dnsx 能够智能识别和处理具有多级 DNS 通配符的域,以减少垃圾数据的输出。

安装 🍂

1. 使用 Go 语言安装

dnsx 可以通过 Go 语言工具安装,只需执行以下命令:

go install -v github.com/projectdiscovery/dnsx/cmd/dnsx@latest

注意: 安装 dnsx 需要最新版本的 Go。确保你的 Go 版本是最新的,否则请先更新 Go。

要确保 Go 的 bin 路径在系统 PATH 中,请在终端中执行以下命令(适用于 macOS 或 Linux):

echo 'export PATH=$PATH:$HOME/go/bin' >> $HOME/.bashrc
source $HOME/.bashrc

对于 Windows 系统,建议参考相关的指南来更新系统 PATH。

2. 使用 Homebrew 安装 (适用于 macOS)

brew tap projectdiscovery/tap
brew install projectdiscovery/tap/dnsx

3. 使用 Docker 安装

如果你使用 Docker,则可以通过以下命令运行 dnsx

docker pull projectdiscovery/dnsx:latest
docker run projectdiscovery/dnsx:latest

4. 通过预编译二进制文件安装

你也可以从 GitHub 发布页面 下载适合你操作系统的预编译二进制文件,然后根据说明进行安装和配置。

使用 🌿

使用 dnsx

dnsx 提供了一系列强大而灵活的功能,以下是一些常见的命令和用例:

  1. 查询 A 记录

    可以通过以下命令查询某个域名的 A 记录:

    echo 'example.com' | dnsx -a
    
  2. Bruteforce 子域名

    使用单词列表进行子域名暴力破解:

    dnsx -d example.com -w wordlist.txt
    
  3. DNS 响应筛选

    根据状态码筛选 DNS 响应:

    echo 'example.com' | dnsx -rcode noerror
    
  4. 输出选项

    将结果输出到文件中:

    echo 'example.com' | dnsx -o output.txt
    

    案例 1: DNS 解析

    在进行渗透测试时,了解目标域名的解析信息是非常重要的一步。dnsx 可以帮助轻松获取目标域名及其子域名的 A 记录信息。

    例如,我们可以通过以下命令从 hackerone.com 的子域列表中筛选出所有活动的主机名:

    subfinder -silent -d hackerone.com | dnsx -silent
    

    该命令将利用 subfinder 工具寻找被动子域,并通过 dnsx 对其解析,以获得活跃的子域。

    案例 2: 提取特定 DNS 记录

    dnsx 可以根据需求提取多种类型的 DNS 记录。以下示例展示了如何获取 hackerone.com 的子域的 A 记录:

    subfinder -silent -d hackerone.com | dnsx -silent -a -resp
    

    该命令将打印每个子域的 A 记录响应,包括主机名及其对应的 IP 地址。

    此外,如果只想提取 IP 信息,可以使用 -resp-only 标志:

    subfinder -silent -d hackerone.com | dnsx -silent -a -resp-only
    

    案例 3: DNS 暴力破解

    dnsx 支持 DNS 暴力破解。通过 wordlist(字典)配合 -w 标志,用户可以对目标域名进行子域名爆破:

    dnsx -silent -d facebook.com -w dns_worldlist.txt
    

    该命令将利用提供的字典文件 dns_worldlist.txt,对 facebook.com 进行子域爆破,挖掘可能存在的子域。

    案例 4: 使用通配符过滤

    在面对多级 DNS 通配符时,dnsx 提供的功能可以有效减少请求数量。在处理某些情况时,您可能会遇到所有子域名都被解析的情况,这会产生大量垃圾输出。dnsx 通过跟踪指向 IP 的子域数量,如果数量超过某一阈值,会迭代地检查所有级别的主机以过滤掉通配符条目:

    dnsx -l subdomain_list.txt -wd airbnb.com -o output.txt
    

参考链接 🌲

github.com/projectdiscovery/dnsx

https://docs.projectdiscovery.io/tools/dnsx/overview

原文始发于微信公众号(人遁安全):dnsx工具包详解:快速处理DNS请求,助力网络安全测试

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月8日13:42:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   dnsx工具包详解:快速处理DNS请求https://cn-sec.com/archives/3239049.html

发表评论

匿名网友 填写信息