引言
Gobuster 是一个强大的工具,用于暴力破解 URI(目录和文件)、DNS 子域、Amazon S3 存储桶等。在网络安全和渗透测试的场景下,发现子域是侦察阶段的关键一步。了解与这些子域关联的 IP 地址可以为组织的网络基础设施提供宝贵的见解,帮助识别潜在的攻击向量或配置错误。
本实验将指导你使用 Gobuster 进行 DNS 子域枚举。具体来说,你将学习如何利用一个特定的标志来显示发现的子域及其对应的 IP 地址,从而更有效地绘制目标基础设施的地图。
Gobuster 是一个强大的工具,用于暴力破解 URI(目录和文件)、DNS 子域、Amazon S3 存储桶等。在网络安全和渗透测试的场景下,发现子域是侦察阶段的关键一步。了解与这些子域关联的 IP 地址可以为组织的网络基础设施提供宝贵的见解,帮助识别潜在的攻击向量或配置错误。
本实验将指导你使用 Gobuster 进行 DNS 子域枚举。具体来说,你将学习如何利用一个特定的标志来显示发现的子域及其对应的 IP 地址,从而更有效地绘制目标基础设施的地图。
在本步骤中,你将使用 Gobuster 执行基础的 DNS 子域扫描。这将展示 DNS 扫描的默认输出,通常只列出发现的子域,而不包含其对应的 IP 地址。我们将使用 example.com 作为目标域,并使用一个通用的单词列表(wordlist)进行扫描。
首先,请确保 Gobuster 已安装。如果未安装,你可以使用 sudo apt install gobuster 进行安装。
现在,在你的终端中执行以下命令:
gobuster dns -d example.com -w /usr/share/wordlists/dirb/common.txt -q
gobuster dns: 指定我们要执行 DNS 子域扫描。-d example.com: 将 example.com 设置为目标域。-w /usr/share/wordlists/dirb/common.txt: 指定用于暴力破解子域的单词列表。这是一个在许多 Linux 发行版中都可用的常用单词列表。-q: 抑制横幅和进度输出,只显示结果。你将看到为 example.com 找到的子域列表。请注意,这里只显示了子域名称。
Found: www.example.com
Found: mail.example.com
Found: ftp.example.com
Found: blog.example.com
Found: dev.example.com
在本步骤中,你将重新运行 Gobuster DNS 扫描,但这次会包含 -i 标志。-i 标志指示 Gobuster 显示与每个发现的子域关联的 IP 地址。这对于更全面地了解目标的基础设施至关重要。
在你的终端中执行以下命令:
gobuster dns -d example.com -w /usr/share/wordlists/dirb/common.txt -i -q
与之前的命令相比,唯一的区别是添加了 -i 标志。
仔细观察输出。你现在应该会看到每个发现的子域旁边都列出了 IP 地址。
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
这里显示的 IP 地址是 example.com 的,通常为了演示目的,它会指向所有子域的单个 IP。在实际场景中,你可能会看到不同子域有不同的 IP 地址,这表明它们指向不同的服务器或服务。
在本步骤中,你将直观地比较前两个 Gobuster 命令的输出。这次比较将突出 -i 标志在侦察过程中带来的显著差异。
回顾步骤 1(不带 -i)的输出:
Found: www.example.com
Found: mail.example.com
Found: ftp.example.com
Found: blog.example.com
Found: dev.example.com
以及步骤 2(带 -i)的输出:
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
关键区别在于使用 -i 标志时,每个子域旁边都出现了 (IP_ADDRESS)。这些额外的信息对于理解底层基础设施至关重要。没有 IP 地址,你只知道子域的名称。有了 IP 地址,你就知道这些子域解析到哪里,这可以指向特定的服务器、云服务或网络的不同部分。
这次比较展示了一个简单的标志如何显著增强你的侦察工作的实用性。
在本步骤中,你将专门识别并记录上一步发现的子域所关联的 IP 地址。虽然 example.com 可能为所有子域显示相同的 IP,但在实际场景中,此步骤将涉及识别可能不同的 IP 地址。
从步骤 2 命令的输出中:
Found: www.example.com (93.184.216.34)
Found: mail.example.com (93.184.216.34)
Found: ftp.example.com (93.184.216.34)
Found: blog.example.com (93.184.216.34)
Found: dev.example.com (93.184.216.34)
你可以看到,对于 example.com,所有列出的子域都解析到 IP 地址 93.184.216.34。
在实际的侦察场景中,如果你扫描的是其他域,你可能会发现:
sub1.target.com 解析到 192.168.1.10sub2.target.com 解析到 192.168.1.11cdn.target.com 解析到 203.0.113.50(一个 CDN IP)admin.target.com 解析到 10.0.0.5(一个内部 IP,如果暴露)识别这些不同的 IP 地址有助于:
此步骤强调了不仅要找到子域,还要理解它们的网络位置的重要性。
在最后一步中,你将理解在 DNS 扫描结果中显示 IP 地址的更广泛含义,特别是它如何帮助侦察过程中的基础设施映射。
基础设施映射是创建目标网络和系统的详细图表或理解的过程。当你结合子域枚举和 IP 地址解析时,你会获得几个优势:
通过在 Gobuster 中使用 -i 标志,你将一个简单的子域列表转化为有价值的基础设施情报,显著增强了你的侦察能力。这些信息对于规划后续的渗透测试步骤至关重要,例如端口扫描、漏洞分析和定向攻击。
在本实验中,你学会了如何有效地使用 Gobuster 进行 DNS 子域枚举,更重要的是,如何显示每个已发现子域关联的 IP 地址。你首先执行了基本的 Gobuster DNS 扫描,观察了其默认输出,然后使用 -i 标志重新运行扫描以包含 IP 地址。通过对比,你理解了这个标志所带来的关键区别。最后,你探讨了识别这些 IP 地址如何对于全面基础设施映射和网络安全侦察至关重要。这项技能对于深入了解目标的网络环境和识别潜在的攻击面非常有价值。