跳到主要内容

问 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 会做以下事:

  1. 读取 wordlist.txt 中的每一个候选密码(明文)
  2. 对每一个候选,best64.rule 中的规则依次变换
  3. 对变换后的每一个变体,计算其哈希(这里是 -m 0 表示 MD5)
  4. hashes.txt 中的哈希值进行比对
  5. 匹配成功就输出破解的明文

✅ 所以,规则相当于一个“变体生成器”,基于你的字典文件扩展密码尝试的范围


📁 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

也可以运行多次,分别测试效果,记录命中率。