使用 hashcat 进行暴力破解,如何正确设置掩码?

信息安全 密码 哈希 蛮力 密码破解 哈希猫
2021-08-29 12:37:00

假设我有这种类型的哈希:

test::::4e45c7bab093d7011e9b3a5df7d9fa88212beac5ac9c8c47:d6ff3373aa353f3b:123456

我想使用 hashcat 暴力破解它,但我没有设置正确的掩码。

这是我正在执行的:

hashcat -m 5500 test.txt -a 3 $MASK

到现在还对吗?在那种情况下,我只需要正确设置$MASK.

一个面具应该是这样的:

length min = 8 characters
length max = 20 characters
must contain at least one lower case character (a-z)
must contain at least one upper case character (A-Z)
must contain at least one number (0-9)

第二个掩码应该像前一个掩码加上这两个约束:

must contain at least one special character
must NOT contain one or more identical consecutive characters

PS我没有使用字典攻击,因为我已经下载了crackstation的大字典(15GB)并且没有解决很多哈希

谢谢。

1个回答

像这样的复杂性规则不能被单个掩码本地捕获。相反,必须使用其他工具生成符合标准的许多掩码列表,例如PACK 工具包工具policygen

$ policygen --minlength=8 --maxlength=20 \
  --mindigit=1 --minlower=1 --minupper=1 --maxspecial=0 -o test1.masks

$ policygen --minlength=8 --maxlength=20 \
  --mindigit=1 --minlower=1 --minupper=1 --maxspecial=1 -o test2.masks

(请注意,这些示例不包括您的“一个或多个相同的连续字符”约束,因为 A)这大大增加了掩码的复杂性,几乎到了不可能的地步,并且 B)它对加速的作用很小破解过程,所以不值得包括。)

然后,您将 hashcat 传递给包含掩码的文件:

hashcat -m 5500 -a 3 test.txt test1.masks
hashcat -m 5500 -a 3 test.txt test2.masks

但是请注意,暴力破解更长的长度(例如 12,更不用说 20)将花费比您更长的时间。如果您还没有,我建议您在诉诸蛮力之前尝试其他方法(字典、混合等)。