Hashcat

> Hashcat — 号称世界上最快的密码恢复工具,利用GPU暴力破解哈希,专治各种忘记密码和渗透测试需求。 --- 兄弟们,今天聊点硬核的。如果你玩过渗透测试、做过CTF、或者不小心把自己加密压缩包的密码忘了(别问我是怎么知道的),那你一定听过Hashcat的大名。这玩意儿在安全圈里就是“暴力美学”的代名词——别的工具还在用CPU慢慢磨洋工,它直接拉满你的显卡,让GPU像矿机一样疯狂算哈希。 说白了,Hashcat就是一个**密码恢复工具**,但它不是靠猜,而是靠“算”。你给它一个哈希值(比如Windows的NTLM、Linux的shadow、WiFi的WPA2握手包),它就用字典、掩码、规则、甚至纯暴力穷举,把你显卡的每一丝算力都榨干,直到撞出明文密码。解决什么问题?解决“我知道密码是8位纯数字但就是想不起来具体是啥”这种蛋疼问题,也解决“甲方让我测一下员工密码强度”这种正经需求。 ### 下载方式 老规矩,直接上官网: [官网下载地址](https://hashcat.net/hashcat/) 官网提供Linux和macOS的源码包,Windows用户别慌,去下面的Release页面拿编译好的exe: [GitHub Releases页面](https://github.com/hashcat/hashcat/releases) 解压即用,不需要安装,这点非常友好。 ### 安装方法 **Windows用户:** 下载zip包,解压到任意目录,比如`C:\hashcat`。打开CMD,cd进去,直接敲`hashcat.exe --version`,能输出版本号就完事了。记得装好显卡驱动(N卡用GeForce Experience,A卡用Adrenalin),不然OpenCL跑不起来。 **Linux用户:** 用发行版自带包管理器装也行,但版本可能旧。推荐直接下源码编译: ```bash wget https://hashcat.net/files/hashcat-6.2.6.tar.gz tar -xzf hashcat-6.2.6.tar.gz cd hashcat-6.2.6 make sudo make install ``` 装完跑一下`hashcat -I`,能看到你的GPU列表就说明驱动没问题。 **macOS用户:** 一样是源码编译,但注意Mac的M系列芯片用Metal后端,性能也不错,直接`brew install hashcat`也行,不过版本可能滞后。 ### 基础使用教程 先看个最简单的例子,破解一个MD5哈希: ```bash hashcat -m 0 -a 0 e2fc714c4727ee9395f324cd2e7f331f rockyou.txt ``` 解释一下参数: - `-m 0` 指定哈希类型,0代表MD5。常见类型:1000是NTLM,22000是WPA2,3200是bcrypt,你可以在`--example-hashes`文件里查。 - `-a 0` 指定攻击模式,0是字典攻击,3是掩码暴力,6是混合。 - 后面跟你要破解的哈希值,然后跟字典文件路径。 `rockyou.txt`是经典字典,如果你没有,去网上搜一下,或者用系统自带的`/usr/share/wordlists/rockyou.txt.gz`,解压后用。 **实战:破解一个8位纯数字密码(掩码攻击)** ```bash hashcat -m 0 -a 3 ?d?d?d?d?d?d?d?d ``` `?d`代表数字,8个`?d`就是8位纯数字,不到一分钟就能跑完。掩码字符表: - `?l` 小写字母 - `?u` 大写字母 - `?d` 数字 - `?s` 特殊符号 - `?a` 以上全部 **破解WPA2 WiFi密码(抓包后)** 先用aircrack-ng抓个握手包,转成hashcat格式: ```bash aircrack-ng -J wpa.hccapx wifi.cap ``` 然后跑: ```bash hashcat -m 22000 wpa.hccapx wordlist.txt ``` 这个比较吃GPU,但比CPU快几十倍。 ### 进阶技巧 **1. 规则引擎——让字典变聪明** 光靠字典不够,加规则可以“变异”单词。比如把`password`变成`Password123`,用规则文件: ```bash hashcat -m 0 -a 0 hash.txt rockyou.txt -r rules/best64.rule ``` `best64.rule`是内置的常用规则,能大幅提高命中率。你也可以自己写规则,比如`$1$2$3`就是在词尾加123。 **2. 组合攻击** 用`-a 1`把两个字典交叉组合: ```bash hashcat -m 0 -a 1 hash.txt dict1.txt dict2.txt ``` 适合“名字+生日”这种组合密码。 **3. 多GPU并行** 如果你有N张卡,加个`-d 1,2,3`指定设备,或者直接`-d 2`用第二块卡。用`--benchmark`先测速,看看哪张卡适合跑哪种哈希。 **4. 中断恢复** 跑了一半断电了?别慌,加`--restore`恢复会话: ```bash hashcat -m 0 -a 0 hash.txt rockyou.txt --session myjob # 中断后 hashcat --restore --session myjob ``` **5. 开启自动优化** `-O`参数开启内核优化,`-w 3`把GPU负载拉满(小心显卡风扇起飞)。我一般用`-O -w 2`平衡温度和速度。 **6. 破解Linux shadow文件** 拿到`/etc/shadow`里的root哈希,格式是`$6$salt$hash`,用`-m 1800`(sha512crypt): ```bash hashcat -m 1800 shadow.txt rockyou.txt ``` 这个比较慢,但GPU多的话还是能出结果的。 ### 最后说两句 Hashcat确实强大,但记住两条铁律: 1. **只破解自己有权破解的东西**。拿别人WiFi握手包试密码,那是违法行为。 2. **别太依赖GPU**。遇到强密码(比如20位随机大小写数字符号),就算4090也得跑到宇宙热寂。 日常使用,建议配合`cewl`(爬网站生成字典)和`crunch`(生成自定义字典)一起用,效果翻倍。如果你只是想找回自己忘记的压缩包密码,直接试试`-m 13000`(zip)或`-m 11600`(7z)模式,比下载那些付费软件靠谱多了。 好了,工具就介绍到这儿。如果你跑出过什么奇葩密码,欢迎评论区分享——我上次帮朋友解了个WiFi密码,结果是`12345678`,他媳妇儿设的,说好记。行吧,确实好记。 Peace.