845 字
4 分钟
MISC——ZIP之伪加密

暴力破解
针对于压缩包的暴力破解,大多适合密码比较简单的情况下或是已知的格式或范围 Windows 可以使用archpr工具 Linux 可以使用fcrackzip工具
关于Linux下解压缩文件命令
Kali 默认自带大部分基础工具,如果遇到 rar 或 7z 提示命令不存在,直接 apt install unrar p7zip-full 即可。
| 格式 | 查看内容(不解压) | 解压命令 | 备注 |
|---|---|---|---|
| .zip | unzip -l 文件名.zip | unzip 文件名.zip | 最常用 |
| .tar.gz | tar -tzvf 文件名.tar.gz | tar -zxvf 文件名.tar.gz | z=gzip, j=bzip2, x=解压, v=显示过程, f=文件 |
| .tar | tar -tvf 文件名.tar | tar -xvf 文件名.tar | 纯打包,未压缩 |
| .gz | zcat 文件名.gz | gzip -d 文件名.gz | 单文件压缩 |
| .7z | 7z l 文件名.7z | 7z x 文件名.7z | x 表示保留目录结构 |
| .rar | unrar l 文件名.rar | unrar x 文件名.rar | l=列表,x=保留路径解压 |
在 Windows 下打包的 zip 拿到 Linux 解压,经常出现乱码。加上 `-O CP936` 参数伪加密
在zip文件当中,每个文件头和每一个文件的核心目录区,都有通用标记位。 zip文件格式组成: 1.压缩源文件数据区(文件头、文件数据、数据描述符) 2.核心目录 通用标记为距离核心目录区头504B0102的偏移有8字节,本身占2字节(文件头是偏移6字节) 3.目录结束标识
如果对于查看内容都需要密码的文件来说,那就不是伪加密了,而是真实加密
- 爆破 zip 密码(CPU):
fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u 文件名.zip
在 Kali 下用 zip2john 提取哈希,如果是伪加密,提取出来的哈希通常是空的或者报错;如果是真加密,能提取出完整的 $pkzip2$ 哈希。然后扔进 John 看能不能跑出来。
- zip2john 文件名.zip > hash.txt # 提取哈希
- john hash.txt —wordlist=密码字典 # 交给 john 爆破
fcrackzip参数:
| 参数分类 | 参数 | 作用说明 | 备注/示例 |
|---|---|---|---|
| 模式选择 | -b | 暴力破解 (Brute-force) | 遍历所有可能组合,速度较慢 |
-D | 字典破解 (Dictionary) | 从指定的密码字典中读取 | |
| 字符集 | -c | 指定暴力破解的字符集 | 见下方“字符集代码表” |
| 长度 | -l | 指定密码的长度范围 | 格式:-l 1-4 或 -l 4 |
| 验证/输出 | -u | 过滤错误密码 (Use unzip) | 必加! 调用 unzip 验证,否则会报一堆假密码 |
-v | 显示详细爆破过程 | 能看到当前跑到哪个密码了 | |
| 字典/前缀 | -p | 指定字典路径 或 初始密码字符串 | 字典模式:-p /path/rockyou.txt 暴力模式:-p abc(从abc开始跑) |
| 在macos中,可以无视伪加密,但如果文件头被加密就无法使用binwalk和macos无视提取,需要手动修改压缩包 |
| 字符/符号 | 含义 | 说明 |
|---|---|---|
a | 所有小写字母 | 即 [a-z] |
A | 所有大写字母 | 即 [A-Z] |
1 | 所有数字 | 即 [0-9] |
! | 特殊符号集合 | 包括 [!:$%&/()=?{[]}+*~#] 这些符号 |
: | 自定义字符集 | 冒号后的所有字符都会被纳入字符集,直到字符串结束。利用它,你可以精确指定任何想用的字符(二进制空字符 \0 除外) |
rarcrack 是一款专门针对 RAR、ZIP、7Z 等格式进行暴力破解的工具,使用起来比较直观。
sudo apt-get install rarcrack