📜  Gobuster – Kali 工具中的渗透测试工具

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

Gobuster – Kali 工具中的渗透测试工具

攻击 Internet 应用程序的主要步骤之一是枚举隐藏的目录和文件。这样做通常可以产生有价值的信息,使执行特定攻击变得更容易,从而减少出错和浪费时间的空间。有许多工具可以尝试做到这一点,但并非所有工具都是平等创建的。 Gobuster是一款用 Go 语言编写的记录扫描器,值得搜索。在流行的目录中,像 DirBuster 和 DIRB 这样的蛮力扫描器可以优雅地工作,但通常很慢并且对错误的响应速度很慢。 Gobuster 可能是这些工具的 Go 实现,并且可以通过方便的命令行格式获得。 Gobuster 相对于其他目录扫描程序的主要优势是速度。作为一种编程语言,Go 被认为是快速的。它还对并发有极好的帮助,因此 Gobuster 可以从多线程中受益,从而加快处理速度。然而,Gobuster 的一个失败是缺乏递归目录探索。不幸的是,对于目录,相当深的一层,将需要另一次扫描。通常,这没什么大不了的,其他扫描仪可以加强并填补 Gobuster 在这方面的空白。

Gobuster 工具在 Linux 操作系统中的安装步骤

第1步:

创建一个工作目录以保持整洁,然后更改为它。

~# mkdir gobuster
~# cd gobuster/

第2步:

我们需要安装 Gobuster Tool,因为 Kali Linux 默认不包含它。



~/gobuster# apt-get install gobuster

第 3 步:

然后,只需在终端中键入 gobuster 即可运行该工具以供使用。

~/gobuster# gobuster -h

第四步:

为强制目录和文件安装额外的 Seclists

~/gobuster# apt-get install seclists

默认情况下,Kali 上的 Wordlist 位于 /usr/share/wordlists 目录中。

如何使用 Gobuster 工具进行扫描?

Gobuster 工具可以从终端或命令行界面启动。您只需要使用下面的语法运行命令。

gobuster [Mode][Options]

了解 Gobuster [模式]

在终端中输入“gobuster”命令后,您必须提供模式或需要指定您正在运行的工具的目的。

Gobuster 工具有多种模式:



  • dir –经典的目录暴力破解模式或枚举目录和文件的 URI。
    Gobuster 中的 Dir 模式主要用于查找特定目标域或其子域中的额外内容。此附加信息可能包括隐藏目录或可能包含敏感数据的隐藏文件。在目录模式下,我们可以使用选项“-u”来指定要挖掘隐藏目录和文件的目标域或子域。此外,“-w”选项将选择您希望用于暴力破解的词表。

目录模式选项

  • dns – DNS 子域暴力破解模式或枚举子域
    Gobuster Tool 中的 DNS 模式主要用于枚举目标域中的子域。您可以使用此模式为给定的目标域查找一些隐藏或无法识别的子域。在这种模式下,您可以使用选项“-d”来指定要查找子域的目标域,“-w”选项允许您选择要用于暴力破解的词表。

dns 模式选项

  • vhost – 虚拟主机暴力模式或枚举虚拟主机(与 DNS 不同!)
    最后,Gobuster 中的 Vhost 模式用于查找受害服务器上的虚拟主机。当公司在单个服务器或服务器集群上托管多个域名时,虚拟主机就完成了。虚拟主机允许一台服务器与其他几个主机名共享其数据和资源。识别服务器上的主机名可以披露属于公司的其他 Web 内容。在主机模式下,它通过实际访问形成的 URL 并交叉检查 IP 地址来检查子域是否存在。

虚拟主机模式选项

大多数情况下,您将使用 Gobuster 工具来挖掘目录和文件。在这种情况下,dir 模式将对您有所帮助。

gobuster dir [options]

了解 Gobuster [选项]

根据要求进入特定模式后,您必须指定选项。 Gobuster 工具有一长串选项;要探索它们,您只需输入“gobuster -h”即可阅读帮助页面。您可以使用“gobuster dns -h”来探索与 dns 模式特别相关的选项)。

一些选项的例子是:

  1. -o, –output 字符串将结果写入的输出文件(默认为 stdout)
  2. -q, –quiet 不要打印横幅和其他噪音
  3. -t, –threads int 并发线程数(默认 10)
  4. -v, –verbose 详细输出(错误)

gobuster -h 选项结果

目标规格

因此,在使用该工具时,我们需要指定“-u”后跟目标 URL、IP 地址或主机名。这个选项是强制性的,因为有一个指定的目标来获得结果。

一些示例显示了如何使用此选项。

  1. gobuster dir -u https://www.geeksforgeeks.org/
  2. gobuster dir -u https://www.webscantest.com
  3. gobuster dir -u 192.168.21.154

请注意,如果未指定强制选项“-u”,这些示例将不起作用。

词表规范

Gobuster 工具通过执行暴力攻击枚举目标域中的隐藏目录和文件。蛮力攻击包括匹配单词列表或单词组合,希望列表中存在正确的术语。因此,Gobuster 执行了蛮力攻击。为了强制攻击,我们需要指定一个词的集合,即词表。所以要提供这个词表,你需要输入“-w”选项,然后是它所在的词表的路径。我们可以使用系统中已经存在的单词表文件。

枚举文件

Gobuster 工具可以枚举隐藏文件以及远程目录。 Gobuster 允许我们使用“-x”选项,后跟您要搜索的文件扩展名。

考虑下面的例子:



在此命令中,我们专门搜索具有PHP、htm 或 html 扩展名的文件。

Gobuster 工具使用示例

1.获取目录或文件的完整路径

选项“-e”用于在提取任何隐藏文件或隐藏目录时完成打印 URL。

获取目录或文件的完整路径

2. 隐藏状态码

使用 -n 选项“无状态”模式打印结果的输出而不显示状态代码。

隐藏状态代码

3. 禁用横幅

Gobuster 工具在发起蛮力攻击时不断添加横幅来定义应用选项的简要介绍。通过使用 -q 选项,我们可以禁用该标志以隐藏额外数据。

禁用横幅

4.设置线程数

使用 -t 选项可以在暴力破解子域名或目录时实现线程参数的数量。

设置线程数

5.获取子域IP

使用 -i 选项允许 IP 参数,该参数应显示所选子域的 IP。

获取子域IP

6. 超时

使用 –timeout 选项允许 HTTP 请求的超时参数,5 秒是 HTTP 请求的默认时间限制。

暂停

7. 附加正斜杠

我在这里使用 -f 选项来附加正斜杠,同时对目标 URL 进行暴力攻击。

附加正斜杠

8. 枚举具有特定扩展名列表的目录

有很多场景我们需要在受害服务器上提取特定扩展的目录,然后我们可以使用此扫描的 -X 参数。此参数允许文件扩展名,然后在受害服务器或计算机上探索给定的扩展文件。

枚举具有特定扩展名列表的目录

9. 跟随重定向

使用 -r 选项允许重定向参数,将 HTTP 请求重定向到另一个,以及更改目录或文件的状态代码。



跟随重定向

10. HTTP AUTHORIZATION(-u 用户名:密码)

HTTP Authentication/Authentication 机制都是基于 401-status code 和 WWW-Authenticate 响应头的使用。最常用的 HTTP 身份验证机制是 Primary。客户端发送用户名和密码未加密的 base64 编码数据。

因此,为了在 Gobuster 的帮助下避免这种身份验证,我们使用了以下命令:

HTTP 授权

11.力处理蛮力

如果遇到任何通配符DNS,它以获取子域名结束,这是一个不存在的域。因此,它使用 –wildcard 选项允许参数继续攻击,即使存在任何通配符域。

强制处理蛮力

12.隐藏提取过程

使用 -z 选项涵盖了在进行暴力攻击时获取子域名的过程。

隐藏提取过程

13. 提取 CNAME 记录

使用 –cn 选项启用获取的子域及其 CNAME 记录的 CNAME 记录参数。



提取 CNAME 记录

14. 代理网址

使用 –p 选项允许代理 URL 用于所有请求;默认情况下,它在端口 1080 上工作。如您所见,在 Web 浏览器中检查受害者的网络 IP 时,它提出了“访问禁止错误”,这意味着该网页正在被某个代理反向运行。

代理网址

例子 :

现在一切都已设置并安装完毕,我们已准备好开始使用 Gobuster。让我们使用默认参数对我们的受害者运行它。

Target for Scanning : https://testphp.vulnweb.com

扫描目录和文件

从上面的屏幕截图中,我们正在枚举 https://testphp.vulnweb.com 上的目录。

用于扫描的词表位于 /usr/share/wordlists/dirb/common.txt

转到扫描时识别的当前目录

从上面的屏幕截图中,我们在暴力破解目录时确定了管理面板。在打开 Web 浏览器并输入我们目标的 URL https://testphp.vulnweb.com/ 并提供标识的目录 /admin/ 后,我们将提供该目录中可用的内容。作为安全研究员,您可以测试该网页的功能。

结论

在本文中,我们了解了 Gobuster,一个用 Go 编程语言编写的目录暴力扫描器。首先,我们学习了如何安装该工具以及 Kali 默认没有的一些有价值的词表。接下来,我们针对我们的目标运行它,并探索了它附带的许多不同选项。 Gobuster 是一个快速而强大的目录扫描器,它应该是任何黑客收藏的重要组成部分,现在您知道如何使用它了。