将 Gobuster 流量路由通过代理

Beginner
立即练习

引言

在本实验中,你将学习一项 Web 应用渗透测试中的基本技术:通过 Web 代理路由 Gobuster 的流量。Gobuster 是一个强大的工具,用于目录和文件暴力破解、DNS 子域名暴力破解以及 S3 存储桶枚举。通过像 Burp Suite 或 OWASP ZAP 这样的代理路由其流量,你将能够检查、修改和分析 Gobuster 生成的 HTTP 请求和响应。这种可见性对于理解 Web 应用的行为以及识别潜在漏洞至关重要。

本实验将指导你完成代理的设置、配置 Gobuster 使用代理、执行扫描以及在代理中观察流量。

启动一个 Web 代理,如 Burp Suite 或 OWASP ZAP

在此步骤中,你将启动一个 Web 代理应用程序。在本实验中,我们将使用 OWASP ZAP,它已预装在 LabEx 环境中。OWASP ZAP 提供了一个图形界面来拦截和分析 Web 流量。

首先,如果你还没有打开终端窗口,请打开一个新的。然后,启动 OWASP ZAP。

/opt/zaproxy/zap.sh &

启动后,OWASP ZAP 将开始运行。你可能会看到一个关于持久化 ZAP 会话的提示。在本实验中,你可以选择 "No, thanks"(不用了,谢谢)并点击 "Start"(开始)。

一旦 ZAP 运行起来,你应该会看到它的主界面。这表明代理应用程序已准备好进行配置。

配置代理监听特定端口

在此步骤中,你将配置 OWASP ZAP 监听特定的 IP 地址和端口。默认情况下,ZAP 通常监听 127.0.0.1:8080。我们将确认此设置。

在 OWASP ZAP 中:

  1. 前往 Tools -> Options...(或根据 ZAP 版本选择 File -> Options...)。
  2. 在 Options 对话框中,导航至 Network 部分下的 Local Proxies
  3. 验证地址是否为 127.0.0.1,端口是否为 8080。如果不同,你可以在此处修改,但本实验将假定为 127.0.0.1:8080
  4. 点击 OK 关闭 Options 对话框。

此配置可确保 ZAP 正在监听指定地址和端口上的入站连接,准备拦截流量。

在 Gobuster 中使用 -p 标志指定代理 URL

在此步骤中,你将学习如何指示 Gobuster 将其流量通过你刚刚配置的代理进行路由。Gobuster 为此提供了 -p(或 --proxy)标志,允许你指定代理的 URL。

代理 URL 的格式通常是 http://<IP_ADDRESS>:<PORT>。由于我们的 ZAP 代理正在监听 127.0.0.1:8080,因此代理 URL 将是 http://127.0.0.1:8080

我们将准备一个包含此代理设置的 Gobuster 命令。我们将使用一个简单的目标进行演示,例如 http://example.com

echo "gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt -p http://127.0.0.1:8080" > ~/project/gobuster_command.sh
chmod +x ~/project/gobuster_command.sh

此命令将在你的 ~/project 目录中创建一个脚本 gobuster_command.sh,其中包含带有代理标志的 Gobuster 命令。此脚本将在下一步中执行。

执行 Gobuster 扫描

在此步骤中,你将使用上一步准备好的命令执行 Gobuster 扫描。这将启动目录暴力破解过程,并且其所有 HTTP 流量都将通过 OWASP ZAP 进行路由。

打开一个新的终端或使用你现有的终端并执行脚本:

~/project/gobuster_command.sh

你将在终端中看到 Gobuster 的输出,显示它发现的目录和文件。当 Gobuster 运行时,它会通过 ZAP 发送请求。扫描可能需要一些时间才能完成,具体取决于单词列表的大小和目标的响应速度。对于 example.com,它应该会相对较快,因为它是一个简单的目标。

/usr/bin/gobuster: line 1: syntax error near unexpected token `newline'
/usr/bin/gobuster: line 1: `#!/bin/bash'

注意:上面的输出是一个示例。你的实际输出可能会略有不同。

在代理的历史记录中观察 Gobuster 流量

在最后一步中,你将在 OWASP ZAP 中观察 Gobuster 生成的 HTTP 流量。在这里,你可以分析请求和响应,识别模式,并可能发现漏洞。

切换回 OWASP ZAP 应用程序。

  1. 在左侧面板中,找到 Sites 树。你应该会看到列出的 http://example.com
  2. 展开 http://example.com,然后展开 http。你将看到一个 HTTP 方法列表(例如 GET)以及 Gobuster 尝试访问的路径(例如 //index.html/robots.txt 等)。
  3. 点击其中任何一个条目。在下方面板中,你将看到 RequestResponse 选项卡,显示 Gobuster 发送的完整 HTTP 请求以及服务器的相应响应。

这证实了 Gobuster 的流量已成功通过代理路由,从而可以进行详细检查。此功能对于高级 Web 应用程序测试至关重要。

总结

在本实验中,你成功学习了如何将 Gobuster 流量通过 Web 代理进行路由。你启动了 OWASP ZAP,确认了其代理配置,使用了 -p 标志将 Gobuster 的请求定向到代理,执行了扫描,并最终在 ZAP 中观察了拦截到的流量。这项技能是所有 Web 渗透测试人员的基础,它能够实现对自动化工具流量的更深入分析和操作。通过理解如何代理你的工具,你将获得对测试过程更大的控制力和可见性,从而更有效地发现漏洞。