Hashcat 最快密码恢复工具实践指南
1 · 工具概览与最新动态
Hashcat 是一款跨平台、支持 CPU/GPU/FPGA 等多种计算设备的开源密码恢复(破解)工具,被誉为“世界最快的密码破解器”。它内置五种攻击模式、300+ 优化哈希算法实现,以及行业首创的内核级规则引擎。([hashcat.net][1])
版本现状
- 稳定版:截至 2025-07-05,官网与 Wiki 列出的最新稳定版本为
v6.2.6
。([hashcat.net][2]) - 测试版:官方 Beta 目录每日自动编译,最新快照为
6.2.6+1087
(2025-07-04 构建)。([hashcat.net][3])
v6.2.6 在 6.2.4 基础上引入 Apple Metal 后端、更多哈希模式与性能微调。([wpauthorbox.com][4])
⚖️ 合法声明
Hashcat 仅应用于自有系统、获得授权的渗透测试或合法取证场景。请勿用于未授权的密码破解活动,否则后果自负。
2 · 工作原理速读
- 候选生成:字典、规则、掩码或组合器生成候选密码。
- 哈希计算:在 GPU/CPU 核心内并行计算候选的哈希值。
- 比对 & 早停:逐一比对目标哈希,命中即输出;若启用
--potfile-disable
可跳过历史结果。 - 恢复点:出现中断可用
.restore
文件续跑,或用--session
多实例并行。
3 · 环境准备
3.1 硬件与驱动
计算平台 | 依赖/驱动 | 备注 |
---|---|---|
NVIDIA GPU | CUDA ≥ 11.4 + 驱动 ≥ 470 | hashcat -I 能正确列出设备 |
AMD GPU | ROCm ≥ 5.7 或 AMDGPU-Pro | 建议禁用 GUI 下的混合显卡切换 |
Intel GPU | OneAPI Level-Zero | 6.2.6 开始支持 Metal (Apple Silicon) |
3.2 安装方法示例
Ubuntu 22.04+
sudo apt update && sudo apt install hashcat -y # 仓库通常已打包 6.2.x
# 或拉源码:
git clone https://github.com/hashcat/hashcat.git && cd hashcat && make -j
Windows 10/11
-
从官网或 Chocolatey 下载安装包:
choco install hashcat -y # 自动配置环境变量
-
更新显卡驱动 → 将
hashcat.exe
目录加入 PATH。
macOS (Apple Silicon)
brew install hashcat # Homebrew 会拉取 Metal-enabled 版本
3.3 验证安装
hashcat -I # 列出所有 OpenCL/Metal 设备
hashcat -b # 基准测试,查看每秒哈希值
4 · 常见哈希模式速查
哈希类型 | 模式 ID | 示例 | 备注 |
---|---|---|---|
MD5 | 0 | 5f4dcc3b5aa765d61d8327deb882cf99 | |
SHA-1 | 100 | 5baa61e4c9b93f3f0682250b6cf8331b | |
NTLM | 1000 | 32ed87bdb5fdc5e9cba88547376818d4 | Windows 登录 |
bcrypt | 3200 | $2y$10$eImiTXuWVxfM37uY4JANjQ==… | 高计算量 |
WPA-EAPOL | 22000 | WPA01… | 需 hcxdumptool 抓包 |
完整模式列表见 hashcat --help
或官方文档。
5 · 五大攻击模式详解
模式 | 参数 | 适用场景 | 快速命令 |
---|---|---|---|
字典 | -a 0 | 有密码库 | hashcat -m 0 -a 0 hashes.txt rockyou.txt |
组合 | -a 1 | 两字典拼接 | hashcat -m 1000 -a 1 left.txt right.txt |
掩码 | -a 3 | 结构化口令 | hashcat -m 0 -a 3 ?u?l?l?l?d?d |
混合字典+掩码 | -a 6/7 | 字典词干+变量后缀 | hashcat -m 0 -a 6 base.txt ?d?d |
规则 | -a 0 -r rulefile | 社工变形 | hashcat -m 0 -a 0 -r best64.rule hashes.txt dict.txt |
💡 提示:
- 掩码符
?l ?u ?d ?s ?a ?b
分别代表小写、大写、数字、特殊字符、所有可打印、所有字节。- 如密码长度未知可加
-i --increment-min 6 --increment-max 10
自动递增。
6 · 实战案例
6.1 破解多条 MD5 哈希(含用户名)
# hashes.txt 内容格式: user1:5f4dcc3b5aa765d61d8327deb882cf99
hashcat -m 0 -a 0 --username hashes.txt /dict/rockyou.txt \--session md5demo --potfile-path found.potfile -o cracked.txt
--username
:忽略冒号前用户名-o
:输出已破解清单--session
:允许随时 Ctrl-c 再 --restore 恢复
6.2 掩码爆破 NTLM (8-10 位大小写数字)
hashcat -m 1000 -a 3 ntlm.hash ?1?1?1?1?1?1?1?1?1?1 \-1 ?l?u?d -w 4 --status --status-timer 30
-1
定义自定义字符集,-w 4
使用最高工作负载。
6.3 WPA2-PSK 破解流程
-
抓包:
hcxdumptool -i wlan0 --enable_status=1 -o capture.pcapng
-
转换:
hcxpcapngtool -o handshake.22000 capture.pcapng
-
破解:
hashcat -m 22000 -a 3 handshake.22000 '?d?d?d?d?d?d?d?d' --force
hcxdumptool 6.3.0+ 已转向 NETLINK 驱动接口,对 RTL88xxau 等网卡更友好。([hashcat.net][5])
7 · 性能调优与多 GPU 负载均衡
开关 | 作用 | 建议 |
---|---|---|
-w N | 工作负载轮廓 (1-4) | GPU 充足显存用 4,高效;笔记本用 2 |
-O | 启用优化内核 | 仅限少算法 ≤ 32 字节口令;否则禁用避免错误 |
--force | 忽略驱动警告 | 调试阶段可用,正式跑建议修复驱动 |
-d 1,2 | 选择特定 GPU | 多卡分流 |
--benchmark-all | 基准全部算法 | 选型 / 估算耗时 |
多实例并发:使用不同
--session
名称分别跑字典/掩码,后台 tmux 或 screen 管理。
8 · 高级功能
功能 | 命令 | 场景 |
---|---|---|
Brain Server | hashcat --brain-server / --brain-client | 多机去重候选减少重复计算 |
Restore | --restore-file-path | 断点续跑 |
自动规则生成 | statsprocessor (sp64.bin ) | 根据历史密码概率生成规则 |
分布式 | Hashtopolis、Hashstack | Web 任务调度、多节点 GPU 集群 |
9 · 常见错误速查
报错 | 原因 | 解决 |
---|---|---|
CL_OUT_OF_RESOURCES | 显存不足 | 调低 -w 、缩小批次 -n ,或用 CPU |
Token length exception | 输入格式不符 | 确认 hash 文件无空格/换行,且模式正确 |
No devices found/left | 驱动或权限 | 更新显卡驱动;Linux 下 chmod 666 /dev/kfd //dev/dri/* |
10 · 未来展望
官方论坛透露 v6.3.0 将带来:
- 全新 OpenCL-Next 后端,提升多供应商兼容性
- 自动蒙版建议(AI 统计推断)
- 更细粒度的 GPU 调度与 WebUI。
敬请关注 GitHub 仓库及 changes.txt 更新。
11 · 结语
本文从 Hashcat 的原理、安装到进阶技巧逐一拆解,并结合 2025 年最新版本特性给出完整实践示例。合理利用 GPU 加速与攻击模式组合,你将显著提升密码恢复效率。最后再次强调:切勿将 Hashcat 用于任何违法目的。祝你破解愉快、合法合规!