用紧缩创建Wordlists
在渗透测试活动中,我们经常需要绕过身份验证表单,以便访问应用程序或远程系统。拥有一个庞大而优质的单词列表总是很有帮助的,但作为渗透测试人员,我们还需要能够根据具体情况创建自定义的单词列表。有许多工具可以帮助我们实现这一目标,但在这里,我们将专注于使用Crunch工具。
创建示例Wordlist
首先,我们需要打开终端并输入以下命令:cd /pentest/passwords/crunch
。
接下来,我们执行以下命令:./crunch 5 5 admin -o pentestlab.txt
。
这个命令将告诉Crunch创建一个最小字符长度为5、最大字符长度为5的单词列表,其中包含字符"admin",并将其保存在名为"pentestlab.txt"的文件中。
用Crunch创建Wordlists的示例工具图1
这个示例展示了使用Crunch创建的单词列表,最小字符长度为5,最大字符长度为5,其中包含字符"admin",并将其保存在名为"pentestlab.txt"的文件中。
用Crunch创建Wordlists的示例工具图2
当然,我们不仅仅可以创建只包含字母的单词列表,还可以包含数字。例如,我们可以执行以下命令:./crunch 5 5 12345 -o numbers.txt
。
如果我们想要创建一个同时包含字母和数字的混合单词列表,我们可以使用相同的方法。例如,执行以下命令:./crunch 5 5 pentestlab123 -o numbersletters.txt
。
用Crunch创建Wordlists的示例工具图3
在这个示例中,我们展示了如何处理特殊字符,比如"$"、"%"等。对于某些特殊字符,我们需要在字符前面加上反斜杠进行转义。例如,执行以下命令:./crunch 5 5 pentestlab\%\@\!
。
用Crunch创建Wordlists的示例工具图4
字符串排列
在这里,我们有两个选项。第一个选项是根据单词的字符生成一些内容。例如,执行命令./crunch 1 1 -p abc
将生成以下列表:
a
b
c
用Crunch创建Wordlists的示例工具图5
字符串排列 - 字符
第二个选项是根据不同的单词创建列表。例如,我们可以使用以下命令实现这一目标:./crunch 1 1 -p pen test lab
。
用Crunch创建Wordlists的示例工具图6
字符串排列 - 单词
拆分Wordlists
如果我们使用了"-b"选项,Crunch将创建一个被分割成多个文件的单词列表。我们还可以选择单词列表的大小。例如,执行以下命令:./crunch 6 6 0123456789 -b 1mb -o START
。
用Crunch创建Wordlists的示例工具图7
拆分Wordlists
指定单词数
Crunch允许我们指定每个单词列表中的单词数。这将创建一个单词列表,其中包含特定的lalpha字符集,并且最多包含20个单词,即[abcdefghijklmnopqrstuvwxyz]。例如,执行以下命令:./crunch 3 3 -fcharset.lst lalpha -o START -c 20
。
或者,如果您不想使用自定义字符集,可以使用Crunch附带的列表中的其他字符集。
用Crunch创建Wordlists的示例工具图8
单词数量
前缀Wordlists
现在,假设我们要创建一个单词列表,其中包含单词"pentestlab",后跟3个随机字符。命令如下:./crunch 13 13 -fcharset.lst lalpha -t pentestlab @@@
。
这将产生以下输出:
pentestlabaaa
pentestlabaab
pentestlabaac
...
用Crunch创建Wordlists的示例工具图9
前缀单词列表 - 字符
或者,如果我们想要将单词"admin"放在中间,可以修改命令如下:./crunch 9 9 -fcharset.lst -t @@ admin @@
。
用Crunch创建Wordlists的示例工具图10
基于单词的前缀Wordlists
压缩
使用"-z"选项,我们可以使用bzip、gzip或lzma对单词列表进行压缩。例如:./crunch 4 4 -fcharset.lst lalpha -o wordlist -z gzip
。
用Crunch创建Wordlists的示例工具图11
压缩Wordlists
结论
创建单词列表可以满足渗透测试时的需求。当然,Crunch提供了各种选项和组合供用户使用。当然,应用程序或使用单词列表的系统可能会有一些防护措施,例如账户锁定策略。但如果您能够拥有自己定制的单词列表,这可能有助于您获取访问权限。