发布于2026-08-19 阅读(0)
扫一扫,手机访问
Hashcat 是一个强大且功能多样的密码恢复工具。要有效地使用它,你必须首先理解其命令行结构。一个 Hashcat 命令由几个关键组件组成,这些组件精确地告诉程序要破解什么以及如何破解。
在本次实验中,你要学习Hashcat命令的基本构成。我们会逐步构建出一个完整且能使用的命令,其中涵盖五个基本组成部分:可执行文件、哈希类型、攻击模式、输入哈希文件以及输入字典文件。等完成这些步骤后,你就能够为基于字典的攻击构建出基本的Hashcat命令了。
在此步骤中,我们将识别 Hashcat 命令的基本语法。理解此结构是使用该工具的第一步。
一个典型的 Hashcat 命令遵循以下模式:
hashcat [options] hashfile [wordlist/mask]
让我们分解这些组件:
首先,让我们查看内置的帮助菜单,以了解该工具。此命令列出了所有可用的选项和信息。
在你的终端中执行以下命令:
hashcat --help
你将看到一个详细说明 Hashcat 所有功能的长输出。我们将在后续步骤中参考这些信息。
```plaintext
hashcat (v6.2.6) starting in help mode
Usage: hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...
...
-a, --attack-mode | Num | 攻击模式,见下面的参考。
-m, --hash-type | Num | 哈希类型,见下面的参考。
...
```
现在我们已经理解了基本结构,可以开始构建我们的命令了。
在此步骤中,你将学习如何指定目标哈希类型。Hashcat 支持数百种不同的哈希算法,你必须告诉它你正在尝试破解哪一种。这是通过使用 CODE_0 标志后跟一个数字代码来完成的。
我们的实验环境准备了一个名为 CODE0 的文件,其中包含一个 MD5 哈希。要查找 MD5 的正确代码,你可以搜索 CODE1 的输出。
使用 CODE_0 命令过滤帮助文本中的“MD5”:
hashcat --help | grep MD5
输出将显示所有与 MD5 相关的哈希类型及其对应的代码。
0 | MD5 | Raw Hash, Salted and/or Iterated
10 | md5($pass.$salt) | Raw Hash, Salted and/or Iterated
20 | md5($salt.$pass) | Raw Hash, Salted and/or Iterated
...
如你所见,标准 MD5 哈希的代码是 CODE_0。现在我们可以将其添加到我们的命令中。命令目前看起来像这样:
CODE_0
在下一步中,我们将指定攻击模式。
在此步骤中,你将学习如何使用 CODE_0 标志设置攻击模式。攻击模式告诉 Hashcat 使用哪种方法来破解密码。
Hashcat 提供了几种攻击模式,但最常见的是:
对于本次实验,我们将执行 Straight(字典)攻击,因此我们将使用攻击模式 CODE_0。你可以在帮助菜单中找到所有攻击模式的列表。
让我们再次使用 CODE_0 来查找“Attack-Modes”部分:
hashcat --help | grep "Attack-Modes" -A 10
CODE0 标志告诉 CODE1 显示匹配项之后的 10 行,为你提供完整列表。
```plaintext
- [ Attack-Modes ] -
## | Mode
===+======
0 | Straight
1 | Combination
3 | Brute-force
6 | Hybrid dict + mask
7 | Hybrid mask + dict
```
我们现在已经确定了攻击模式。让我们将其添加到我们的命令中,命令现在变为:
CODE_0
接下来,我们将提供包含我们想要破解的哈希的文件。
在此步骤中,你将指定包含要破解的哈希的输入文件。此参数位于选项之后。
本次实验的设置脚本已在你的当前目录(CODE0)中创建了一个名为 CODE1 的文件。此文件包含一个 MD5 哈希。
让我们使用 CODE_0 命令查看此文件的内容:
cat hashes.txt
你应该会看到以下输出:
5f4dcc3b5aa765d61d8327deb882cf99
这就是我们将要破解的哈希。要将其添加到我们的命令中,只需将文件名放在选项之后。我们的命令现在看起来像这样:
CODE_0
最后一步是为我们的字典攻击提供单词列表。
在最后一步中,你将提供字典攻击所需的最后一个组件:单词列表。单词列表是一个纯文本文件,其中每一行都是一个潜在的密码。
实验环境包含一个名为 CODE_0 的简单单词列表。让我们检查一下它的内容:
cat wordlist.txt
输出将是:
test
hello
password
123456
Hashcat 将使用此单词列表来测试哈希。单词列表文件是我们命令中的最后一个参数。
现在,让我们组装并运行完整的命令:
hashcat -m 0 -a 0 hashes.txt wordlist.txt
Hashcat 将启动。由于我们的哈希和单词列表非常简单,它将几乎立即完成。输出将显示破解会话的状态。
...
Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: 5f4dcc3b5aa765d61d8327deb882cf99
Time.Started.....: ...
Time.Estimated...: 0 secs (0.00ms)
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 496.9 kH/s (0.00ms) @ Accel:128 Loops:1 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests
Progress.........: 4/4 (100.00%)
Rejected.........: 0/4 (0.00%)
Restore.Point....: 4/4 (100.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: test -> 123456
Hardware.Mon.#1..: Util: 99%
...
CODE0 行确认成功。要查看破解的密码,你可以再次运行相同的命令并加上 CODE1 标志。
hashcat -m 0 -a 0 hashes.txt wordlist.txt --show
输出将清晰地显示哈希及其对应的明文密码:
5f4dcc3b5aa765d61d8327deb882cf99:password
恭喜你,你已成功构建并执行了一个完整的 Hashcat 命令!
在本次实验中,你从零开始构建了一个 Hashcat 命令,学习了其基本命令结构。你已成功使用字典攻击破解了一个 MD5 哈希。
你现在理解了 Hashcat 基本命令的五个核心组成部分:
你学到的最终命令结构是:CODE_0。这些知识为你探索更高级的 Hashcat 功能奠定了坚实的基础。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9