Hello, 各位勇敢的小伙伴, 大家好, 我是你们的嘴强王者小五, 身体健康, 脑子没病.
本人有丰富的脱发技巧, 能让你一跃成为资深大咖.
一看就会一写就废是本人的主旨, 菜到抠脚是本人的特点, 卑微中透着一丝丝刚强, 傻人有傻福是对我最大的安慰.
欢迎来到 小五 的 随笔系列 之 破解【rar | zip】压缩密码
前言
诉求: 有一个未知密码的 rar 压缩文件,对其进行解压
方式: john + hashcat
环境: zsh命令行
说明: 暴力破解,破解时间与密码强弱有关,若已知密码部分信息则会减少所需时间
扩展: 未知密码的 zip 解压
rar解压
采用命令行形式新建 rar 压缩文件:
-
brew install rar
- 若弹出 “打不开rar,因为它来自身份不明的开发者”,请前往系统偏好设置>>安全与隐私>>允许安装未知来源
-
rar -p a rar.rar rar.txt
将 rar.txt 压缩为 rar.rar 并为其设置密码- 执行命令后按照提示输入两次密码
- 解压命令
unrar x rar.rar
获取 hash 值
安装 john-jumbo,安装后使用 john
命令验证
brew install john-jumbo
找到 john 路径,笔者路径如下,可做借鉴:
/usr/local/Cellar/john-jumbo/1.9.0_1/share/john
若和笔者路径不同,可借用 find 命令进行查找:
find / -name "john" -type d
接下来配置 .zshrc,对命令设置别名
# rar2john
alias rar2john="/usr/local/Cellar/john-jumbo/1.9.0_1/share/john/rar2john"
执行 source ~/.zshrc
,重启配置
此时我们就可以使用 rar2john
命令了
执行 rar2john rar.rar
得到如下结果:
rar.rar:
$rar5$16$6d8d34d3a9efccc9ba76cf8a565958e9$16$f029f141b05a874d3f9fb3c89c050103$8$adc8a1f513af17d6
暴力破解
安装 hashcat,其网址为 hashcat
brew install hashcat
通过 hashcat wiki 或通过 hashcat --help
查看文档
我们拆解上面得到的 hash 值
-
$rar5$
-> 对应 Hash id 为 13000 ->-m 13000
-
采用暴力破解 —>
-a 3
-
保存密码到 password.txt ->
-o password.txt
最终命令如下:
hashcat -m 13000 -a 3 '$rar5$16$6d8d34d3a9efccc9ba76cf8a565958e9$16$f029f141b05a874d3f9fb3c89c050103$8$adc8a1f513af17d6' -o password.txt
tips: 可根据文档增加限时条件以缩短时间
如,已知密码为6位数字可使用命令:
hashcat -m 13000 -a 3 --force '$rar5$16$6d8d34d3a9efccc9ba76cf8a565958e9$16$f029f141b05a874d3f9fb3c89c050103$8$adc8a1f513af17d6' '?d?d?d?d?d?d' -o password.txt
执行如下:
从图中可看到预计剩余时间,因该密码比较简单,故用时较短
tips: 输入字母 s 可刷新状态
最终结果如下,得到密码123456
$rar5$16$6d8d34d3a9efccc9ba76cf8a565958e9$16$f029f141b05a874d3f9fb3c89c050103$8$adc8a1f513af17d6:123456
zip解压
采用命令行形式新建 zip 压缩文件:
zip -P 123456 zip.zip zip.txt
- zip命令无需安装
- 解压命令
unzip zip.zip
john 安装步骤在 rar 解压部分,不再重复说明
配置 zip2john
命令
# zip2john
alias zip2john="/usr/local/Cellar/john-jumbo/1.9.0_1/share/john/zip2john"
生成 hash 并保存至 password.txt 中
zip2john zip.zip >> password.txt
使用 john 命令暴力破解
john password.txt
输出结果如下:
此时可追加 --show 更显著的查看密码:
john password.txt --show