Hashcat使用教程:快速上手密码恢复工具
在信息安全领域,密码破解是不可或缺的一环。而 Hashcat,作为当前最强大的密码恢复工具之一,因其高效的性能与灵活的配置广受好评。本文将介绍 Hashcat 的基础用法,帮助新手快速上手,同时遵守合法使用的基本原则。
一、什么是 Hashcat?
Hashcat 是一款开源的密码恢复工具,支持 CPU 和 GPU 加速。它可以对多种散列算法进行“密码猜测”,广泛用于密码安全性测试与CTF竞赛中。
⚠️ 合法使用声明:本教程仅供合法授权的安全测试学习和研究用途。禁止将本文所述内容用于任何非法活动!
二、安装 Hashcat
Hashcat 支持 Windows、Linux 和 macOS。以 Ubuntu 为例:
sudo apt update
sudo apt install hashcat
或者从官网下载最新版本:hashcat - advanced password recovery
Windows 用户可直接解压 zip 包后使用命令行运行 hashcat.exe
。
三、常用 Hash 类型
在开始破解前,你需要知道 Hash 类型。以下是一些常见类型及其对应编号:
算法 | 示例 | Hashcat模式 |
---|---|---|
MD5 | 5f4dcc3b5aa765d61d8327deb882cf99 | 0 |
SHA1 | a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 | 100 |
SHA256 | 5e884898da28047151d0e56f8dc6292773603d0d | 1400 |
bcrypt | $2y$10$... | 3200 |
你也可以使用工具如 hash-identifier 来判断 Hash 类型。
四、基本使用示例
1. 字典攻击(最常用)
准备一个包含常用密码的字典文件 rockyou.txt
,执行命令:
hashcat -m 0 -a 0 hashes.txt rockyou.txt
含义解释:
-
-m 0
:指定 Hash 类型为 MD5 -
-a 0
:攻击模式为字典攻击 -
hashes.txt
:存放目标 hash 的文件(每行一个) -
rockyou.txt
:密码字典
2. 混合掩码攻击
适用于知道部分密码结构的情况:
hashcat -m 0 -a 3 hashes.txt ?d?d?d?d
这将尝试 4 位数字(0000-9999)的所有组合。
3. 使用规则文件(增强字典)
规则文件可以对字典中的密码进行变形,例如添加数字、大小写转换:
hashcat -m 0 -a 0 hashes.txt rockyou.txt -r rules/best64.rule
Hashcat 自带多个规则文件,在 rules/
文件夹中。
4. 恢复破解进度
中断破解任务后可以使用以下命令继续:
hashcat --restore
五、查看支持的 Hash 类型
hashcat --help
或者使用:
hashcat -h | grep -A 20 'Hash modes'
六、性能优化建议
-
使用支持 OpenCL/CUDA 的显卡,如 NVIDIA GPU,将大幅提升速度
-
合理控制任务规模,避免长时间全速运行导致过热
-
使用较小字典先快速尝试常见密码,后再扩大攻击范围
七、安全与合法性提醒
Hashcat 是强大的双刃剑。请务必遵守以下原则:
-
只用于个人学习或授权测试
-
不攻击他人账户、服务、数据库等
-
不在互联网上传播真实用户 Hash 或破解后的密码
在CTF比赛中,Hashcat是神器,但在现实世界中,请守住道德与法律的底线。
八、结语
Hashcat 功能强大,但也需要合理配置与策略。新手可以先从字典攻击练习起,再逐渐深入规则、掩码、组合攻击等高级方式。
如果你对密码学、CTF、安全测试感兴趣,不妨多动手实验。未来的你,会感谢现在开始学习的自己。
参考资料:
-
Hashcat 官方文档:start [hashcat wiki]
-
常用密码字典推荐:rockyou.txt(可在 Kali Linux 上获取)
如有疑问或想了解更多用法,欢迎评论交流!