HashCat中文手册
最后更新时间:
文章总字数:
页面浏览: 加载中...
HashCat 中文手册
介绍
HashCat 是当前世界上最快、最先进的密码恢复工具之一。它能够利用现代硬件(尤其是 GPU)的并行计算能力,以极高的效率破解各种类型的密码哈希。
核心特性
- GPU 加速: 性能远超传统 CPU 破解工具,支持多 GPU 并行计算。
- 算法支持: 支持超过 300 种哈希算法,覆盖操作系统、应用程序、网络协议等多个领域。
- 跨平台: 原生支持 Windows、Linux 和 macOS。
- 多种攻击模式: 内置字典、组合、掩码、混合、关联等多种高效的攻击策略。
- 高度可定制: 提供丰富的命令行选项和规则引擎,允许用户精确控制破解过程。
- 开源免费: 基于 MIT 许可证,可自由用于任何目的。
- 会话管理: 支持任务的暂停、恢复和管理。
安装与配置
下载
从官方网站下载最新的二进制版本:
下载后解压即可使用,无需安装。
驱动要求
为了发挥 GPU 的性能,必须安装最新的显卡驱动:
- NVIDIA: 需要最新的 ForceWare 驱动。
- AMD: 需要最新的 Adrenalin Software 驱动。
验证安装
通过运行基准测试可以验证 HashCat 是否正常工作,并评估硬件性能。
1 | |
基本用法
命令行语法
1 | |
一个完整的例子
假设我们有一个文件 hashes.txt,内容为一个 MD5 哈希值,我们想用字典 dict.txt 来破解它。
1 | |
-m 0: 指定哈希类型为 MD5。-a 0: 使用字典攻击模式。hashes.txt: 包含哈希值的文件。dict.txt: 字典文件。--outfile-format=2: 指定输出格式为仅明文。-o cracked.txt: 将破解结果保存到cracked.txt。
攻击模式 (-a, --attack-mode)
字典攻击 (-a 0)
最直接的攻击方式,使用一个或多个字典文件进行尝试。
1 | |
规则 (Rules): 字典攻击可以和规则文件 (-r) 结合,对字典词进行变形,极大扩展破解能力。
1 | |
组合攻击 (-a 1)
将两个字典的词进行组合,适用于密码是多个单词拼接的场景。
1 | |
掩码攻击 (-a 3)
当密码结构已知时,此模式最为高效。
内置字符集:
| 掩码 | 字符集 | |
|---|---|---|
?l |
abcdefghijklmnopqrstuvwxyz |
|
?u |
ABCDEFGHIJKLMNOPQRSTUVWXYZ |
|
?d |
0123456789 |
|
?s |
!"#$%&'()*+,-./:;<=>?@[\]^_{\ |
}~` |
?a |
?l?u?d?s |
示例:
1 | |
混合攻击 (-a 6 和 -a 7)
结合字典和掩码进行攻击。
1 | |
核心选项参考
-m, --hash-type: 必须指定。定义哈希类型。-o, --outfile: 将破解结果写入文件。--outfile-format: 定义输出格式 (例如:2=仅明文,3=仅十六进制明文)。--show: 显示已破解的哈希 (需 potfile 存在)。--left: 显示未破解的哈希。--remove: 破解成功后从任务中移除该哈希。--session: 为任务命名,便于管理。--restore: 恢复指定名称的任务。--force: 忽略警告,强制执行。-i, --increment: 启用掩码增量模式,用于破解不定长密码。--increment-min,--increment-max: 设置增量模式的最小和最大长度。
性能优化
-w, --workload-profile: 工作负载配置。1(低) 到4(噩梦),级别越高,速度越快,但系统响应越慢。-O, --optimized-kernel-enable: 启用优化内核。对某些算法有奇效,但可能限制密码长度。--potfile-disable: 禁用 potfile。略微提升性能,但无法记录已破解的哈希。--self-test-disable: 禁用启动自检。用于跳过某些驱动或硬件兼容性问题。
常见问题 (FAQ)
问:HashCat 启动时报告驱动错误怎么办?
答:这是最常见的问题。首先,请确保您的 NVIDIA 或 AMD 显卡驱动已更新至官网最新版本。如果问题依旧,可以尝试使用 --force 或 --self-test-disable 参数启动,但这只能作为临时解决方案。
问:如何恢复中断的破解任务?
答:启动任务时使用 --session=my_session 为任务命名。当任务意外中断后,执行 hashcat --session=my_session --restore 即可从上次保存的进度点恢复。
问:如何破解包含特殊字符的密码?
答:在命令行中,特殊字符可能需要转义。例如,在 Windows CMD 中,| 字符需要使用 ^|。更稳妥的方法是使用自定义字符集,例如 -1 '$%@',然后在掩码中通过 ?1 来引用它。
问:如何提升破解速度?
答:1. 确保使用的是 GPU。 2. 更新显卡驱动。 3. 使用 -w 4 -O 等优化参数。 4. 尽可能缩小密码猜测范围(例如,精确的掩码或高质量的字典)。
参考链接
- HashCat 官方 Wiki: https://hashcat.net/wiki/
- HashCat 官方论坛: https://hashcat.net/forum/
- HashCat GitHub: https://github.com/hashcat/hashcat