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 版):

模式名称示例
0MD58743b52063cd84097a65d1633f5c74f5
100SHA1da39a3ee5e6b4b0d3255bfef95601890afd80709
1000NTLMb4b9b02e6f09a9bd760f388b67351e2b
3200bcrypt$2y 12 12 12KixfckDjul0d7/9F1Q2e4u…
17220ZIP$pkzip2$3110
22000WPA2WPA02

查询: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)

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

占位符字符集
?la-z
?uA-Z
?d0-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 更新。

参考资源

Read more

Python 属性描述符:从原理到 ORM 实践详解

Python 属性描述符:从原理到 ORM 实践详解

Python 属性描述符:从原理到 ORM 实践详解 * 一、为什么需要属性描述符?从property的局限性说起 * 二、属性描述符的定义与基础使用 * 2.1 什么是属性描述符? * 2.2 基础实现:整数类型校验描述符 * 2.3 在模型类中使用描述符 * 2.4 关键注意点:避免赋值死循环 * 三、属性描述符的分类:数据描述符与非数据描述符 * 3.1 数据描述符(Data Descriptor) * 3.2 非数据描述符(Non-data Descriptor) * 四、Python完整的属性查找过程:描述符的核心作用 * 4.1 核心查找顺序 * 4.2 关键验证:数据描述符覆盖实例属性 * 4.3 关键验证:

By Ne0inhk
Python Flask应用中文件处理与异常处理的实践指南

Python Flask应用中文件处理与异常处理的实践指南

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[[email protected]] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? * 专栏导航: 码农阿豪系列专栏导航 面试专栏:收集了java相关高频面试题,面试实战总结🍻🎉🖥️ Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用🚀🔧💻 Redis专栏:Redis从零到一学习分享,经验总结,案例实战💐📝💡 全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有🤸🌱🚀 目录 * Python Flask应用中文件处理与异常处理的实践指南 * 引言 * 问题背景 * 问题分析 * 1. 错误原因 * 2. 深层原因 * 解决方案 * 1. 优化 `process_

By Ne0inhk
IoTDB Python原生接口全攻略:从基础读写到高级实战

IoTDB Python原生接口全攻略:从基础读写到高级实战

IoTDB Python原生接口全攻略:从基础读写到高级实战 做IoTDB时序数据开发的小伙伴,用Python对接肯定是高频需求,IoTDB官方的Python原生接口封装得特别友好,不管是基础的数据库连接、数据读写,还是高级的连接池管理、SSL加密、Pandas适配,全都能实现。今天就从环境搭建、基础使用,到DDL/DML操作、高级特性,再到测试和DBAPI适配,把IoTDB Python原生接口的用法一次性讲透,新手也能直接上手开发。 一、前期准备:安装依赖与包 用IoTDB Python原生接口前,得先装好两个核心依赖,一步到位不踩坑: 1. 安装thrift框架(要求版本≥0.13),是IoTDB底层的通信依赖 2. 安装IoTDB Python官方包(建议版本≥2.0),提供所有原生操作接口 直接用pip命令安装就行,执行以下两行: pip3 install thrift>=0.13 pip3

By Ne0inhk
FastAPI:Python 高性能 Web 框架的优雅之选

FastAPI:Python 高性能 Web 框架的优雅之选

🚀 FastAPI:Python 高性能 Web 框架的优雅之选 * 🌟 FastAPI 框架简介 * ⚡ 性能优势:为何选择 FastAPI? * 性能对比表 * 🔍 同步 vs 异步:性能测试揭秘 * 测试代码示例 * 测试结果分析 * 🛠️ FastAPI 开发体验:优雅而高效 * 1. 类型提示与自动验证 * 2. 交互式 API 文档 * 🏆 真实案例:为什么企业选择 FastAPI * 📚 后续学习引导 * 🎯 结语 🌟 FastAPI 框架简介 在当今快速发展的互联网时代,构建高效、可靠的 API 服务已成为后端开发的核心需求。FastAPI 作为 Python 生态中的新星,以其卓越的性能和开发者友好特性迅速赢得了广泛关注。 框架概述:FastAPI 是一个现代化的 Python Web 框架,专为构建

By Ne0inhk