Crunch Kali Linux2025年3月17日 | 阅读11分钟 为了破解密码,我们必须测试大量的密码直到找到可用的密码。当攻击者尝试使用成百上千甚至数百万个单词或字符组合来破解密码时,并不能保证这些数百万种可能性中的任何一种都能成功。这些不同字符组合的集合被称为字典。要破解密码或哈希值,我们需要一个可靠的字典。为此,我们在Kali Linux中有一个名为crunch的工具。 ![]() CrunchCrunch 是一个字典生成器,我们可以指定标准字符集或自定义字符集。Crunch 可以根据给定标准创建所有可行的组合和排列。Crunch 生成的数据可以显示在屏幕上、保存到文件或通过管道传递给另一个程序。 它是生成任何密码的可能字典列表的非常关键的工具。在 Kali Linux 中,crunch 工具是免费提供的。该程序支持数字和符号,区分大小写的字符单独的 Unicode。 Crunch 的特点Crunch 的特点如下:
为什么我们需要 Crunch 工具?在密码攻击期间需要一个字典文件;字典文件是包含许多常用密码的文本文件。这些密码通常与密码破解工具一起使用。但是,有时用户非常聪明。他们使用像 javatpoint@123 和手机号码这样的智能密码。字典文件不包含这类密码。现在我们需要一个 crunch 工具,黑客经常使用它来生成密码。 Crunch 帮助用途其中 min 和 max 是数字 Crunch 可以根据我们的参数生成字典。Crunch 的输出可以传输到屏幕、文件或另一个程序。 需要以下参数 min-len min-len 是我们希望 crunch开始的最小字符串长度。即使对于不使用该值的参数,此选项也很重要。 max-len 这是我们需要的 crunch结束的最大字符串长度。即使该值不会被使用,此选项也很重要。 charset string 我们可以在命令行中指定 crunch 使用的字符集,如果留空,crunch 将使用默认字符集。顺序应该是小写字母、大写字母、数字,然后是符号。如果不遵循此顺序,则不会获得预期的输出。我们必须为字符类型或加号指定值。 注意:如果我们需要在字符集中包含空格字符,我们必须使用 \ 字符对其进行转义,或将字符集括在引号中,例如“abc”。如何在 Kali Linux 中安装 Crunch为了在 Kali Linux 中安装 crunch,我们需要使用以下命令: ![]() 为了检查安装,我们需要输入以下命令: 此命令显示 crunch 工具的初始页面,用于检查工具的安装情况。 ![]() 如何在 Kali Linux 上使用 Crunch 创建自定义字典字典是暴力破解密码攻击的关键部分。对于不熟悉的读者来说,暴力破解密码攻击是一种攻击,其中攻击者使用脚本反复尝试登录帐户,直到获得积极结果。暴力破解攻击非常明显,并且可能导致设计良好的服务器拒绝攻击者或其 IP 地址。 因此,以这种方式测试登录系统的安全性非常重要。尝试这些攻击的攻击者应被禁止,额外的流量应报告给我们的服务器。用户端必须使用更安全的密码。为了建立和执行强大的密码策略,理解攻击是如何进行的至关重要。 Kali Linux 包含一个方便的工具,用于生成任意长度的字典。Crunch 是一个简单的命令行实用程序。它语法简单,可以根据我们的要求轻松自定义。但是,请注意,这些列表可能会非常庞大,并很快占用整个硬盘。 为了创建自定义字典,我们必须遵循以下步骤: 步骤 1:要创建自定义字典,首先我们必须启动我们的Kali Linux,打开终端,然后输入Crunch来检查 crunch 是否已安装以及它是否是最新版本。 ![]() 步骤 2:我们将使用man 命令来查看 crunch 的手册和可用选项。 ![]() 步骤 3:Crunch 有以下基本语法:
步骤 4:为了生成简单的字典,我们必须输入crunch <min>max<max> 示例 当我们执行此命令时,crunch 会评估文件大小(1463 TB)然后开始生成列表。 ![]() 如果我们知道目标用户总是使用6到8个字符的数字密码怎么办?我们可以获得一个符合这些条件的全面密码备选项列表。然后将其发送到用户目录中名为 number8.lst 的文件中,输入: ![]() 步骤 5:如果我们知道目标的密码是8 个字符长并且以1 & 2结尾,我们可以使用以下命令: ![]() Crunch 选项-b number[type]它指定输出文件的大小,并且仅在我们使用了-o START(表示60MB)时才有效。输出文件将以起始字母-结束字母的格式,例如: 此命令将生成 4 个文件:aaaa-gvfed, gvfee-ombqy.txt, ombqz-wcydt.txt, wcydu-zzzzz.txt type 的有效值为kb, mb, gb, kib, mib, 和 gib。前三类基于1000,而后三类基于1024。 注意:数字和类型之间没有空格。例如,500mb 是正确的,但 500 mb 是错误的。-c number此选项将指定写入输出文件的行数;仅在我们使用了-o START时才有效,即60。输出文件将以起始字母-结束字母的格式,例如: 将生成两个文件:1-7.txt 和 8-.txt/。第二个文件名中之所以有斜杠,是因为最后一个字符是空格,ls 必须对其进行转义才能打印。我们必须在指定文件名时加入 \,因为最后一个字符是空格。 -d numbersymbol此选项将限制重复字符的数量。-d 2@限制小写字母的输出,例如aab和aac。因为aaa由三个连续的字母组成,所以它不会被生成。格式是数字然后是符号,其中数字是连续字符的最大数量,符号是我们需要的字符集符号,例如@ 百分比。 -e string此选项指定 crunch 是否应提前停止。 -f/path/to/charset.lst charset-name指定 charset.lst 中的一个字符集。 -i反转输出,而不是aaa,aab,aac,aad等,而是得到aaa,bca,caa,daa,aba,bba等。 -l如果我们使用-t 选项,那么此选项告诉 crunch 必须将符号视为字面量。因此,我们可以使用占位符作为结果图案中的字母。-I 和-t 选项应具有相同的长度。 -m此选项将与-p合并。请改用 -p。 -o wordlist.txt指定将输出写入的文件,例如wordlist.txt。 -p charset OR -p word1 word2?我们使用此选项生成不重复字符的单词。 -q filename.txt此选项告诉 crunch 读取filename.txt并对其读取的内容进行排序。这类似于-p选项,但输入来自filename.txt。 -r此选项告诉 crunch 从上次停止的地方继续生成单词。此选项仅在我们与-o一起使用时才有效。我们应该使用与生成单词的原始命令相似的命令。-s 选项是 -s 选项的唯一例外。如果我们在原始命令中使用了 -s 选项,则应在继续会话之前将其删除。只需在命令末尾添加-r。 -s startblock此选项指定开始字符串。例如,03god22fs。 -t @,%^此选项指定模式。例如,@@abc@@@,其中只有@、,、% 和 ^ 会改变。
-u-u 选项禁用打印百分比线程。这必须是最后一个选项。 生成不使用字符集的字典执行以下命令,使用默认字符集创建一个最小 2 个字符、最大 3 个字符的字母字典。它将以字母aa开头,以zzz结尾。 为了生成字典,我们使用了以下参数:
从下面的图像可以看到,它生成了 18252 行并将其保存在0.text文件中。 ![]() 现在,我们使用cat 命令来读取0.text 文件中的内容,可以看到它以aa开头,以zzz结尾,如下图所示。 ![]() ![]() 使用字符集生成字典现在运行以下命令,以生成一个包含至少 3 个字符字母和最多 4 个字符字母的字典。它还将以 sss 开头,以nnnn结尾。 现在我们可以从下面的图像中看到,它生成了 108 行并保存在1.text文件中。 ![]() 现在我们使用了cat命令来读取 1.text 文件中的内容,并且可以看到它以 sss 开头,以 nnnn 结尾。 ![]() ![]() 类似地,我们可以使用任何数字的任何字符串创建包含数字字符的字典。 例如,一些用户使用他们的出生日期作为密码,我们希望创建一个包含四位数字组合的字典,这些数字表示月份和日期,例如,6月26日表示为2606。我们可以使用“2606”作为字符集来生成数字字典。 生成字母数字字典我们可以使用以下命令创建自己的字母数字字典,该命令将使用“sun123”作为指定字符串,创建包含至少 2 个且最多 3 个字符字母的字典。 我们可以通过设置最小和最大长度来定制字典的长度。 ![]() 我们使用cat命令来读取3.text文件中的内容,该文件似乎包含字母数字字符的混合。 ![]() 使用排列生成字典如果我们想使用排列来生成字典,我们必须使用-p选项。在这种情况下,我们可以忽略字符集的最小和最大长度。此外,如上所示,我们可以将其与单个单词字符串或多个单词字符串一起使用。 从下面的图像中,我们可以分析输出结果并获得生成排列的最大数量。 ![]() 生成有限单词的字典如果我们查看上面的输出结果,我们会注意到 crunch 生成了一个字典并显示了每个字典的行数。例如,文本文件 0.text 包含 18252 行,每行只包含一个单词。 因此,如果我们想为特定行数设置过滤器,我们可以执行以下命令。 ![]() 我们将只生成25个单词的字典并将输出保存到8.txt。 我们再次使用cat命令从 8.txt 文件中读取内容,该文件仅包含 25 个字母字符。 ![]() 字典碎片化对于字典碎片化,我们可以使用-b 选项,它将单个字典分解为多个字典。这是一个非常有用的工具,可以将GB 字典分解为MB 块。 下图显示它已将一个 7MB 文件分成了三个文本文件。 ![]() 生成的压缩字典借助 crunch,我们可以使用-z 选项生成压缩字典,其他参数包括gzip, bzip2, lzma, 和7z;我们必须执行以下命令进行压缩。 我们可以在下面的截图中看到它已经生成了压缩文本文件。 ![]() 生成具有特定模式的字典Crunch 提供-t 选项,根据我们的需求使用特定模式生成字典。 借助-t 选项,我们可以生成4种模式,如下所示:
为了生成一个在字符串“preeti”右侧包含 6 个数字字符的字典,例如preeti123456,我们必须执行以下命令。 因为我们有字符串preeti中的6 个字母,并且我们假设在给定字符串后还有6 个数字,所以最小长度必须等于字符串和模式字符的总和。 这里-t表示%模式,用于编辑3 个数字字符。 ![]() 再次使用cat命令读取12.txt文件中的内容,可以看到它包含字母数字字符的混合。 ![]() 生成具有重复字符限制的字典Crunch 允许我们使用-d 参数限制字符出现的次数。 例如,如果我们想使用类似preeti%%%%%%的模式生成字典,并希望每个数字连续重复三次,我们必须使用以下命令: ![]() 在此,我们使用了以下参数:
再次使用cat命令读取12.1txt文件中的内容,我们可以看到它包含字母数字字符的混合,每个数字重复三次。 ![]() 现在如果我们比较输出文件12.txt和12.1 txt,我们可以看到数字重复的差异。 下一主题# |
我们请求您订阅我们的新闻通讯以获取最新更新。