当渗透测试工程师执行网站渗透测试时,第一步应该是找到易受攻击的网站的隐藏目录。
这些隐藏的Web目录非常重要,因为它们可以提供一些非常有用的信息,即在面向公众的网站上看不到的潜在攻击媒介。
比较快捷的攻击方法之一就是采用暴力猜解网站目录及结构,其中包括网站中的目录、备份文件、编辑器、后台等敏感目录,为此,需要选择一个功能强大的工具。
尽管有很多可用的工具来执行站点暴力破解,包括Dirbuster或Dirb,但是它们有其自身的局限性,例如Dirbuster仅提供时钟不可行的GUI界面,并且Dirb不包括多线程功能。
在网站暴力测试中,渗透测试人员中最受欢迎的选择是Dirsearch。
用python编写的Dirsearch是一个命令行网站目录扫描程序。它具有许多功能,使其成为性能方面的完全赢家:
它包括多线程,使其比任何其他站点扫描仪工具都快;
它执行递归暴力破解
它具有HTTP代理支持
Dirsearch有效地检测到无效网页
它具有用户代理随机化和批处理功能
支持请求延迟
该工具可以在任何操作系统(Windows,Linux,mac)上运行,从而使其更兼容,更简单,但功能强大。
在此设置中,我们将使用Kali Linux作为攻击机器,并使用Metasploitable 2上的DVWA作为目标。
安装Dirsearch
您需要在Kali Linux攻击机中安装Dirsearch。首先从命令 #apt-get update更新所有存储库之后,使用链接从Github安装Dirsearch:
https://github.com/maurosoria/dirsearch
输入命令:
# git clone https://github.com/maurosoria/dirsearch
成功安装该工具后,将根目录更改为Dirsearch。
# cd dirsearch/
键入ls以查看Dirsearch DIrectory下的内容。
您会看到有一个配置文件和一个名为"dirsearch.py"的python文件,我们将执行该文件。
下一步将配置Dirsearch。你可以通过三种方式来实现。
由于此"dirsearch.py"文件需要python3才能正确执行,因此只需要使用python运行即可。
# python3 dirsearch.py
它给出了一个使用示例,说明我们需要指定一个 有效的URL。
运行Dirsearch的第二种方法是使用Bash运行它。键入ls -la授予我们该目录中所有内容的权限。
从上面我们可以看到,该工具是可执行的,现在使用点斜杠运行它。
#./dirsearch.py
第三种也是最简单的运行Dirsearch的方法是 在/bin 目录中创建一个 符号链接, 因为在将使我们不仅可以使用从GitHub克隆的目录,还可以在提示符下的任何位置运行该工具。
转到bin目录,并使用ln -s命令创建一个符号链接,将其命令为"dirsearch"。
# ln -s ln -s ~/dirsearch/dirsearch.py dirsearch
创建符号链接后,只需在任何目录中键入dirsearch即可执行。
在目录搜索中使用标志"-h"可获取完整的帮助菜单,该菜单将显示大量选项和潜在的配置设置。
因此,现在要搜索站点,它需要有效的目标URL和文件扩展名才能运行。您可以使用-u 标志指定有效的URL,并使用-e 标志指定 要搜索的文件扩展名。
在本例中,我们将在Metasploitable2机器上为其提供DVWA的URL。
# dirsearch -u http://192.168.0.102/dvwa -e php
这向我们展示了有关扩展,正在使用的HTTP方法,线程数和当前wordlist大小的许多信息。之后,它开始挖掘目录并返回其结果,包括状态码,大小和目录名称。
如果要排除某些HTTP状态代码,请使用-x标志。
dirsearch -u http://192.168.0.102/dvwa -e php -x 403
在这里,我们通过在-x标志后面指定来排除所有403代码。它引导我们获得所需的东西,使其更清洁,更简单。
另外,您可以使用-w标志来使用您选择的单词列表。
# dirsearch -u http://192.168.0.102/dvwa -e php -x 403,301,302 -w /usr/share/wordlists/wfuzz/general/common.txt
您会看到,由于字列表较小,因此使用此单词表找不到大量结果。现在发挥其最佳功能,即执行递归目录扫描。使用-r标志来运行递归搜索。
# dirsearch -u http://192.168.0.102/dvwa -e php -x 403,301,302 -r
现在,看到"递归级别"的另一个条目。完成初始扫描后,此操作将返回并开始递归扫描每个目录,在这种情况下,它将先启动config/,然后启动docs/,依次类推。
在扫描时,如果要退出扫描,请从键盘解析"e"。要从停止点继续执行,请解析"c"。解析"n"以移至下一个目录。这些步骤将使您可以控制结果,因为递归扫描是一个耗时的过程。
如果要将递归级别设置为更深的值,则可以使用 -R 标志和要挖掘的深度级别的值。
# dirsearch -u http://192.168.0.102/dvwa -e php -x 403,301,302 -r -R 3
因此,您可以看到它开始扫描/daministrator目录,该目录显然在顶层找不到。
结论
本文演示了如何使用有效的Web目录暴力破解工具Dirsearch来扫描和搜索用户可能看不到的隐藏Web目录。这是渗透测试中的第一个非常重要的任务,而Dirsearch的这项工作要比传统的Dirbuster和Dirb快得多。