【命令行】破解 rar | zip 压缩密码

2,351 阅读2分钟

Hello, 各位勇敢的小伙伴, 大家好, 我是你们的嘴强王者小五, 身体健康, 脑子没病.

本人有丰富的脱发技巧, 能让你一跃成为资深大咖.

一看就会一写就废是本人的主旨, 菜到抠脚是本人的特点, 卑微中透着一丝丝刚强, 傻人有傻福是对我最大的安慰.

欢迎来到 小五随笔系列破解【rar | zip】压缩密码

前言

诉求: 有一个未知密码的 rar 压缩文件,对其进行解压

方式: john + hashcat

环境: zsh命令行

说明: 暴力破解,破解时间与密码强弱有关,若已知密码部分信息则会减少所需时间

扩展: 未知密码的 zip 解压

longmao.gif

rar解压

采用命令行形式新建 rar 压缩文件:

  1. brew install rar

    • 若弹出 “打不开rar,因为它来自身份不明的开发者”,请前往系统偏好设置>>安全与隐私>>允许安装未知来源
  2. 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

执行如下:

截屏2022-11-06 14.33.25.png

从图中可看到预计剩余时间,因该密码比较简单,故用时较短

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

输出结果如下:

截屏2022-11-07 08.36.52.png

此时可追加 --show 更显著的查看密码:

john password.txt --show

截屏2022-11-07 08.44.12.png

end.gif