2023-05-29 如何使用 hashcat 破解 RAR、ZIP 压缩包密码
参考链接:
轻松搞定 RAR、Zip 压缩包密码!Hashcat +john the ripper 亲测好用!:https://www.freedidi.com/2655.html
John the Ripper:https://www.openwall.com/john/
hashcat:https://hashcat.net/hashcat/
免责声明:本文所讲内容仅供学习使用,请勿用于违法用途!如用于违法用途,请自行承担后果,与本文、本人无关!
前言
最近在网上找资源的时候下载到一份加密的 RAR 压缩包,看到无良搬运工加个密就开始捞钱,作为一个程序猿,这怎么能忍?
既然不想掏钱,那当然要用程序猿的办法——暴力破解了。
而本文要讲述的 hashcat ,就是这样一个密码破解工具。
安装
1.安装 hashcat
首先,从 hashcat 官网下载安装包,解压缩后放在合适的文件夹下。
这里直接下载二进制版就可以了。
这里以 D 盘为例。
调起命令行控制台,切换到该目录,运行
1 | hashcat --version |
能正确输出版本即为安装成功。
接下来从官网找个例子,测试一下是否能正确运行。
这里以 MD5 为例。
在控制台中输入
1 | hashcat -m 0 -w 4 -a 3 8743b52063cd84097a65d1633f5c74f5 |
如果一切正常,你将在控制台看到
冒号后面的就是破解结果,是hashcat
,和官网给出的答案一致。
注意:
- 如果你再次执行该命令,会得到如下结果:
INFO: All hashes found as potfile and/or empty entries! Use --show to display them.
此时将命令改为:
1 | hashcat -m 0 -w 4 -a 3 8743b52063cd84097a65d1633f5c74f5 --show |
就能看到曾经破解过的 hash 了。
- 如果你在 PowerShell 或 Shell 中执行命令,需要注意
$
的转义,在默认情况下,$符号被用于引用环境变量,可能会造成执行结果错误,如图所示:
此时只需要用单引号''
将 hash 括起来即可。
1 | hashcat.exe -m 13000 -w 4 -a 3 '$rar5$16$b88c1d7d2c96dc9d1b1a5ccdc5c25d50$15$8f0b287c982535c868bbff486ee9acd2$8$43907bfa03430471' |
可以看到,执行成功了。
2.安装 John the Ripper
看完上面的例子,读者朋友肯定会有个问题,那就是用来破解的 hash 是从哪来的?
如果是类似 MD5、SHA1 这类纯文本,那么算法的结果直接就是用来破解的 hash,而如果是 RAR、ZIP 等压缩包,就需要借助 John the Ripper
这个工具来获取 hash 了。
同样是通过官网获取到安装压缩包:https://www.openwall.com/john/
解压到合适目录,这里同样以 D 盘为例
注意,可执行文件在 run
目录下。可考虑将该目录加入环境变量,方便后续操作。
然后,将需要破解的 RAR 压缩包放在没有空格的路径下(包括文件名),经过实际测试,John the Ripper
是支持路径中有中文字符的,但不支持有空格,所以可以把要破解的压缩包改个名字,然后再破解。
实战演示
这里以 E 盘下面的TEST.rar
文件为例,我设置了密码为1234
,稍后来演示如何破解。
首先执行如下命令来获取到 hash 值
1 | rar2john 'E:\Downloads\TEST.rar' |
如果你的John the Ripper
没有加到环境变量中,请cd
到对应的目录再执行。
获取到如下结果:
冒号后面的$rar5$16$34a40031e247afdee2660ff23e1c0d64$15$5dce796f02396b7f612b19962aa09b01$8$b86700a53c877894
就是我们需要的 hash 值。
接下来执行
1 | hashcat -m 13000 -w 4 -a 3 '$rar5$16$34a40031e247afdee2660ff23e1c0d64$15$5dce796f02396b7f612b19962aa09b01$8$b86700a53c877894' |
这里逐一为大家解释参数的作用。
- -m 是设置 hash 类型,具体可参考https://hashcat.net/wiki/doku.php?id=example_hashes,其中 RAR 对应的就是 13000,相应的,ZIP 对应的就是 17210,MD5 是 0。
- -a 是设置攻击模式,具体可参考https://hashcat.net/wiki/doku.php?id=mask_attack,从 0 到 9,用于破解的字符、单词数会逐渐增加。
- -w 是设置工作负载配置,从 1 到 3,对电脑要求越高。高配电脑设置为 3,低配电脑设置为 1
- -o 是设置输出路径,默认为在控制台输出,如果设置了则会输出到文件,例如设置
-o password.txt
就会输出到password.txt
文件中。
稍微等待一段时间后,可以看到破解结果,是1234
,与前文设置的一致。
破解的时间与密码的复杂程度成正比,简单的密码还是破解的非常快的,如果很长时间没有破解成功,那么就说明这个密码非常复杂,还是直接放弃暴力破解的方法吧。
仅仅是破解四位数字的密码以本人RTX 3060 Laptop
的 GPU 也需要跑一分钟,所以更长的密码需要的时间也可想而知,故能不暴力破解就还是不暴力破解了,节约点 GPU 寿命。
总结
以后再遇到加密了的 RAR、ZIP 压缩包,可就不能再忍着它了,直接用 Hashcat 和 John the Ripper 这两个工具破解,给它来点教训!
当然了,最后还是要提醒一句,本工具仅供个人学习使用,如用于违法用途,请自行承担后果,与本文、本人无关。
本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/5865a866.html
版权声明:转载请注明出处!