使用fcrackzip暴力破解zip压缩包

简介

fcrackzip是一款用于破解zip类型压缩文件密码的工具,工具小巧方便、破解速度快,能使用字典和指定字符破解,适用于unix系统下的linux、mac os等系统。

卸载与安装

卸载

brew uninstall fcrackzip

$~ brew uninstall fcrackzip
Uninstalling /usr/local/Cellar/fcrackzip/1.0... (11 files, 148.7KB)

安装

brew install fcrackzip

$~ brew install fcrackzip

==> Downloading https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/fcrackzip-
Already downloaded: /Users/linzuolvke/Library/Caches/Homebrew/downloads/4cd7e06d2f1e68c325f8487dcab7ba1a989b70a4dcef858d7bac02b5ca94d76c--fcrackzip-1.0.big_sur.bottle.tar.gz
==> Pouring fcrackzip-1.0.big_sur.bottle.tar.gz
🍺  /usr/local/Cellar/fcrackzip/1.0: 11 files, 148.7KB

测试安装是否成功

fcrackzip -h

$~ fcrackzip -h

fcrackzip version 1.0, a fast/free zip password cracker
written by Marc Lehmann <pcg@goof.com> You can find more info on
http://www.goof.com/pcg/marc/

USAGE: fcrackzip
          [-b|--brute-force]            use brute force algorithm
          [-D|--dictionary]             use a dictionary
          [-B|--benchmark]              execute a small benchmark
          [-c|--charset characterset]   use characters from charset
          [-h|--help]                   show this message
          [--version]                   show the version of this program
          [-V|--validate]               sanity-check the algortihm
          [-v|--verbose]                be more verbose
          [-p|--init-password string]   use string as initial password/file
          [-l|--length min-max]         check password with length min to max
          [-u|--use-unzip]              use unzip to weed out wrong passwords
          [-m|--method num]             use method number "num" (see below)
          [-2|--modulo r/m]             only calculcate 1/m of the password
          file...                    the zipfiles to crack

methods compiled in (* = default):

 0: cpmask
 1: zip1
*2: zip2, USE_MULT_TAB

部分参数翻译

-b 使用暴力算法
-D 使用字典破解
-B 查看当前机器破解速度
-v 显示更多信息
-p 使用字符串作为初始密码
-l 设置密码长度(1-10)
-u 不打印错误密码

-c指定字符集,字符集格式只能为 -c 'aA1!:' 
a 表示小写字母[a-z]
A 表示大写字母[A-Z]
1 表示阿拉伯数字[0-9]
! 感叹号表示任意特殊字符[!:$%&/()=?{[]}+*~#]
: 表示包含冒号之后的字符(不能为二进制的空字符),例如  a1:$%  表示 字符集包含小写字母、数字、$字符和%百分号

192837465  --->         [1]
a123  --->              [a1]
A123  --->              [A1]
Q123we  --->            [aA1]
Q123we!?  --->          [aA1:!?]
Qwe!?123  --->          [aA1:!?]
Qwe$%^&*(123  --->      [aA1!]

破解实例

暴力破解

下面列举几种常用的破解场景

密码:Abc123456
密码长度:9位或以下
密码字符集:已知,非最复杂
密码词典:无

在确定密码长度、密码字符集的情况下,尽可能提供多的参数来节省破解时间

fcrackzip -b -c 'aA1' -l 1-9 -v -u test.zip

密码:未知
密码长度:8
密码字符集:未知
密码词典:无

确定密码长度,但没有其他信息时,使用-l节省破解时间

fcrackzip -b -l 8 -v -u test.zip
密码:a123+未知
密码长度:10
密码字符集:未知
密码词典:无

这种已经确定一部分密码的情况下,使用-p,就不需要使用-l了。软件会自动从-p提供的最后一位字符开始暴力破解

fcrackzip -b -p 'Abc123xxxx' -v -u test.zip
密码长度:未知
密码字符集:未知
密码词典:无

可以用1~8位数的暴力破解试试

fcrackzip -b -l 1-8 -v -u test.zip

如果不成功,说明密码超过8位,再试下去几乎是无底洞。就不建议继续尝试了。

字典破解

创建字典

vim dict.txt

aaaa
bbbb
Abc123
Sadkn123)!&$#
Asdvasv

:wq!
在已有大量密码(dict.txt)的情况下,可以使用字典破解。
该方法会遍历你提供字典中的每个密码(每行一个)。但仅止步于此,不会根据字典中的密码继续进行暴力破解。

fcrackzip -D -p dict.txt -v test.zip
posted @ 2022-10-19 18:38  无尽函数  阅读(3094)  评论(0编辑  收藏  举报