问 1:hashcat 使用了 /usr/share/hashcat/rules/best64.rule 规则之后会怎样运作
当你在使用 Hashcat 并指定 --rules 参数(或简写 -r)引用了 /usr/share/hashcat/rules/best64.rule 文件时,Hashcat 的工作方式如下:
🧠 best64.rule 是什么?
best64.rule 是 Hashcat 附带的一个规则文件,它包含了一组非常常用、效果良好、运行速度较快的 密码变换规则(mutations),由 Hashcat 社区根据实际破解效果选出。
它的核心目的就是:在已有的密码字典基础上生成更多可能的变种,提高破解成功率。
🧪 举个例子:它会怎么变换候选密码?
假设你的字典中有一个词:
password
使用 best64.rule 后,Hashcat 会把这个词变换成多个形式,比如:
Password
password1
Password1
p@ssword
P@ssword
password123
password!
123password
这些规则包括:
- 大小写转换(如
capitalize,uppercase) - 添加常见后缀或前缀(如
123,!,1) - 替换常见字符(如把
a变成@,o变成0) - 重复字符、反转、裁剪等操作
🔍 Hashcat 是如何使用规则的?
当你运行:
hashcat -a 0 -m 0 hashes.txt wordlist.txt -r /usr/share/hashcat/rules/best64.rule
Hashcat 会做以下事:
- 读取 wordlist.txt 中的每一个候选密码(明文)
- 对每一个候选,按
best64.rule中的规则依次变换 - 对变换后的每一个变体,计算其哈希(这里是
-m 0表示 MD5) - 与
hashes.txt中的哈希值进行比对 - 匹配成功就输出破解的明文
✅ 所以,规则相当于一个“变体生成器”,基于你的字典文件扩展密码尝试的范围
📁 best64.rule 的内容长什么样?
规则文件看起来像一堆看不懂的符号,比如:
:
$1
$!
^!
c
u
l
sa@o0
每一行表示一个具体的变换操作。例如:
:→ 原样不变(即保留原词)$1→ 在末尾加上1^!→ 在开头加!c→ 首字母大写u→ 全部转为大写sa@o0→ 把a换成@,o换成0
Hashcat 有一个完整的规则语法手册(建议查看),规则是可组合的。
📌 总结
使用 /usr/share/hashcat/rules/best64.rule 会让 Hashcat:
- 在你提供的字典基础上
- 为每个词生成几十个变种(最多 64 条规则)
- 极大提高破解率,同时保持较高速度
- 是一种 基于字典但更灵活的密码攻击方式
问 2:hashcat 内置的规则文件中,哪一个比较常用
在 Hashcat 内置的规则文件中,最常用、实用性最高的有以下几个:
✅ 1. best64.rule(推荐)
-
📌 用途:最常用、最通用,适合初学者和快速尝试。
-
📊 特点:
- 只有 64 条规则(运行非常快)
- 精挑细选出的高命中率变换
-
📁 路径:
/usr/share/hashcat/rules/best64.rule
💡 适合场景:小型字典、快速测试、通用字典扩展。
✅ 2. rockyou-30000.rule
-
📌 用途:中等规模、适合配合 rockyou.txt 使用
-
📊 特点:
- 30,000 条规则
- 来源于真实密码库中高频变换行为
-
📁 路径:
/usr/share/hashcat/rules/rockyou-30000.rule
💡 适合场景:中等强度攻击,兼顾效率与复杂性。
✅ 3. dive.rule
-
📌 用途:强力攻击,尝试更多变换方式
-
📊 特点:
- 超过 100,000 条规则
- 高覆盖率,但运行时间长
-
📁 路径:
/usr/share/hashcat/rules/dive.rule
💡 适合场景:密码复杂、目标很重要或破解窗口时间充裕时使用。
✅ 4. generated2.rule
-
📌 用途:用于大量密码组合测试,规则非常多
-
📊 特点:
- 数百万条规则
- 不是手工优化,生成式规则
-
📁 路径:
/usr/share/hashcat/rules/generated2.rule
💡 适合场景:时间充裕的大规模破解任务,或者 GPU 资源非常丰富。
🔁 选用建议(按攻击强度递增):
| 使用目的 | 推荐规则文件 |
|---|---|
| 快速尝试 | best64.rule |
| 日常破解 | rockyou-30000.rule |
| 强力爆破 | dive.rule |
| 全面覆盖尝试 | generated2.rule |
🧠 小贴士:
你可以组合使用多个规则文件,比如:
hashcat -a 0 -m 0 hashes.txt wordlist.txt -r best64.rule -r rockyou-30000.rule
也可以运行多次,分别测试效果,记录命中率。