Hashcat 使用手册:从入门到高级密码恢复指南

引言:为什么需要 Hashcat

在网络安全领域,密码是系统防护的第一道屏障,但也常常成为弱点。Hashcat 作为全球最快、最先进的密码恢复工具,能帮助安全专业人士评估密码强度、恢复遗忘凭证或进行渗透测试。它支持超过 300 种哈希算法,利用 GPU 等硬件加速,实现高效离线破解。

注意:Hashcat 仅用于合法目的,如授权渗透测试或个人密码恢复。非法使用可能违反法律。请确保遵守道德规范和当地法规。截至 2025 年 10 月,Hashcat 最新稳定版为 v7.1.2,支持更多加密货币钱包和现代哈希类型。 本手册结构清晰,从基础安装到高级技巧,适合初学者和专家。

第一章:Hashcat 基础知识

1.1 Hashcat 是什么?

Hashcat 是一个开源的命令行密码破解工具,使用 C 语言编写,支持 CPU、GPU(NVIDIA/AMD/Intel)和 DSP 等硬件。它专注于离线哈希破解,无法用于在线攻击(如网站登录)。核心优势包括:

  • 高性能:GPU 加速下,可达数亿哈希/秒。
  • 多算法支持:覆盖 MD5、SHA 系列、bcrypt、NTLM、WPA2 等 300+ 类型。
  • 攻击模式多样:字典、暴力、混合等 5 种主要模式。

与 John the Ripper 相比,Hashcat 在 GPU 优化上更强。 它不是黑客工具,而是安全审计利器。

1.2 哈希基础回顾

哈希是将明文(如密码)转换为固定长度字符串的单向函数(如 MD5:password5f4dcc3b5aa765d61d8327deb882cf99)。破解即逆向恢复明文。常见类型:

  • 无盐哈希:MD5 (模式 0)、SHA1 (100)。
  • 有盐哈希:bcrypt (3200)、PBKDF2 (10000)。
  • 文件/协议哈希:ZIP (17220)、WPA2 (22000)。

使用 hash-identifier 工具预识别哈希类型。

1.3 合法应用场景

  • 渗透测试:评估企业密码策略。
  • 数字取证:恢复加密文件密码。
  • 教育研究:分析常见密码习惯。

第二章:安装与配置

2.1 系统要求

  • OS:Linux (推荐 Kali/Ubuntu)、Windows、macOS。
  • 硬件:GPU 优先(NVIDIA RTX 系列最佳),至少 4GB VRAM。
  • 依赖:OpenCL/CUDA 驱动,7-Zip(解压)。

2.2 安装步骤

2.2.1 Linux (Debian/Ubuntu/Kali)

Kali 默认预装;否则:

复制代码
sudo apt update
sudo apt install hashcat
hashcat --version  # 检查版本,应为 v7.1.2+

若需最新版,从 GitHub 编译(见 BUILD.md)。

2.2.2 RHEL/CentOS
复制代码
wget https://hashcat.net/files/hashcat-7.1.2.7z
sudo yum install epel-release p7zip
7za x hashcat-7.1.2.7z
cd hashcat-7.1.2/
./hashcat --version

更换国内镜像加速下载。

2.2.3 Windows

下载预编译版(.7z),解压后运行 hashcat.exe。安装 NVIDIA/AMD 驱动。

2.3 驱动安装

使用 hashcat --backend-info 检查后端。未安装驱动时,仅 CPU 可用。

  • NVIDIA :安装 CUDA Toolkit (v12.9+)。Linux:sudo apt install nvidia-cuda-toolkit;Windows:GeForce Experience。
  • AMD:ROCm (v5.0+),参考官方文档。
  • Intel:OpenCL 运行时,从官网下载。

常见错误 :驱动不兼容导致 "No devices found"。解决方案:重启或 --force 强制运行。

2.4 基准测试

安装后运行基准评估硬件:

复制代码
hashcat -b

输出显示每算法速度(如 MD5:10 GH/s)。

第三章:基本用法与命令语法

3.1 通用语法

复制代码
hashcat [选项]... <哈希文件> [字典/掩码/目录]...
  • 核心选项
    • -m <num>:哈希类型(0=MD5,1000=NTLM)。
    • -a <num>:攻击模式(0=字典)。
    • -o <file>:输出破解结果。
    • --show:显示已破解哈希。
    • -V:版本;-h:帮助。

完整帮助:hashcat -h | grep <关键词>

3.2 哈希类型查询

常见模式表(基于 2025 版):

模式 名称 示例
0 MD5 8743b52063cd84097a65d1633f5c74f5
100 SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
1000 NTLM b4b9b02e6f09a9bd760f388b67351e2b
3200 bcrypt $2y 12 12 12KixfckDjul0d7/9F1Q2e4u...
17220 ZIP pkzip231 10...
22000 WPA2 WPA02...

查询:hashcat -h | grep ZIP

3.3 词典与规则

  • 词典文件:如 rockyou.txt(14M 常见密码)。下载自 GitHub SecLists。
  • 规则 :修改词典词,如 best64.rule(添加数字/符号)。路径:/usr/share/hashcat/rules/

第四章:攻击模式详解

Hashcat 支持 5 种主要模式,覆盖不同场景。

4.1 直攻/字典攻击 (-a 0)

使用词典逐词尝试。适合弱密码。

  • 命令:hashcat -m 0 -a 0 hashes.txt rockyou.txt
  • 带规则:hashcat -m 0 -a 0 hashes.txt rockyou.txt -r rules/best64.rule
  • 示例:破解 MD5 哈希 e99a18c428cb38d5f260853678922e03(密码:password)。

4.2 组合攻击 (-a 1)

合并两个词典生成多词密码(如 "admin" + "123" = "admin123")。

  • 命令:hashcat -m 0 -a 1 hashes.txt dict1.txt dict2.txt

4.3 暴力/掩码攻击 (-a 3)

尝试所有组合。使用占位符:

占位符 字符集
?l a-z
?u A-Z
?d 0-9
?s 符号
?a 全 ASCII
?h 十六进制小写
  • 示例:6 位数字:hashcat -m 0 -a 3 hashes.txt ?d?d?d?d?d?d
  • 自定义:定义 ?1=?l?d,然后 ?1?1?1?1
  • 增量:-i --increment-min=4 --increment-max=8(长度 4-8)。

4.4 混合攻击 (-a 6/7)

  • 字典 + 掩码 (-a 6) :词典后缀掩码。如:hashcat -m 0 -a 6 hashes.txt rockyou.txt ?d?d
  • 掩码 + 字典 (-a 7):前缀词典。

4.5 关联攻击 (-a 9)

针对特定哈希,使用用户名/提示生成候选。适用于个性化密码。

第五章:高级技巧与优化

5.1 性能优化

  • -O:启用优化内核(限 32 字符)。
  • --force:忽略警告。
  • --self-test-disable:跳过自检。
  • 多设备:-d 1,2 指定 GPU。
  • 分布式:使用 Hashtopolis 管理多机。

2025 提示:RTX 4090 下,MD5 达 100+ GH/s。过钟 GPU 提升 20%。

5.2 恢复与暂停

  • 会话:--session=session1;恢复:hashcat --session=session1 --restore
  • Potfile:存储结果(~/.local/share/hashcat/hashcat.potfile)。禁用:--potfile-disable

5.3 与其他工具集成

  • John the Ripper:混合攻击。
  • Hash-Identifier:自动检测类型。
  • 脚本自动化 :Python 调用 subprocess 运行命令。

第六章:实际案例

6.1 破解 ZIP 文件密码

哈希:$pkzip2$... (模式 17220)。

复制代码
hashcat -m 17220 zip.hash rockyou.txt -r rules/best64.rule -o cracked.txt

结果:显示明文。

6.2 WPA2 Wi-Fi 破解

捕获握手(aircrack-ng),转换为 hccapx。

复制代码
hashcat -m 22000 wpa.hccapx rockyou.txt

常见密码如 "password123"。

6.3 NTLM 域密码

哈希:user:b4b9b02e6f09a9bd760f388b67351e2b (模式 1000)。

复制代码
hashcat -m 1000 ntlm.hash ?a?a?a?a?a?a?a?a -i

暴力 8 字符。

第七章:最佳实践、提示与常见错误

7.1 最佳实践

  • 从小到大:先字典,后混合,再暴力。避免盲目全暴力。
  • 规则优先:用 best64.rule 扩展词典 10 倍。
  • 监控温度 :GPU 过热用 --hwmon-temp-abort=80
  • 伦理:仅授权使用;报告弱密码。
  • 2025 更新:集成 AI 生成词典,提升 30% 成功率。

7.2 提示

  • 自定义掩码文件:存储多掩码,-a 3 hashes.txt masks.txt
  • 键盘布局:--keyboard-layout-mapping 处理区域密码。
  • 云破解:AWS/GCP GPU 实例加速。

7.3 常见错误与解决方案

错误 原因 解决方案
No devices found 驱动缺失 安装 CUDA/OpenCL,重启。
Invalid attack mode -a 值错 检查 -h 输出。
Mask too short 增量无效 确保掩码长度 >= --increment-max。
Slow speed 未优化 加 -O,检查 GPU 负载。
Hash not recognized 格式错 用 hash-identifier 验证。

结论:掌握 Hashcat,提升安全意识

Hashcat 是网络安全从业者的必备工具,通过本手册,可以从安装到高级应用全面掌握。记住:强大工具的双刃剑------用它强化防御,而非破坏。建议定期基准测试硬件,并探索 GitHub 更新。

参考资源

相关推荐
一名优秀的码农3 小时前
vulhub系列-02-Raven2(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
枷锁—sha4 小时前
【CTFshow-pwn系列】03_栈溢出【pwn 046】详解:Ret2Libc 之 64位动态泄露
服务器·网络·安全·网络安全·系统安全
麦德泽特4 小时前
STM32与Linux的无缝协作:通过USB CDC/VCP实现高效数据交互
linux·stm32·单片机·嵌入式硬件·安全
上海云盾-小余4 小时前
为什么说高防 CDN 是中小企业的 “安全盾牌”?
安全
麦德泽特4 小时前
机器人赛事系统架构:基于UDT和MQTT的低延迟、高可靠通信
c语言·开发语言·安全·系统架构·机器人
自动化代码美学5 小时前
【AI白皮书】AI安全
人工智能·安全
原来是你~呀~6 小时前
pikachu靶场10-15详解
网络安全·pikachu靶场
xian_wwq6 小时前
【学习笔记】OAuth 2.0 安全攻防:从 Portswigger 六大实验看认证漏洞挖掘
笔记·学习·安全
AC赳赳老秦7 小时前
轻量化模型浪潮下的关键技术突破:DeepSeek INT4量化优化引领2026端侧算力新纪元
网络·安全·mongodb·web安全·flink·prometheus·deepseek