zip和rar的暴力破解

zip和rar的暴力破解

1.fcrackzip

fcrackzip是一款专门破解zip密码的工具,工具小巧方便、破解速度快,能使用字典和指定字符集破解,适用于linux、mac osx 系统
fcrakzip

2.fcrackzip安装

sudo pacman -S fcrackzip

3.fcrackzip选项介绍

-b   使用暴力算法
-D   使用字典
-l   设置密码长度,格式为:min-max
-c   指定字符集,字符集 格式只能为 -c 'aA1!:' 
	a 表示小写字母[a-z]
	A 表示大写字母[A-Z]
	1 表示阿拉伯数字[0-9]
	! 感叹号表示特殊字元[!:$%&/()=?	{[]}+*~#]
	: 表示包含冒号之后的字元(不能为二进制的空字元)
	例如a1:$%  表示 字符集包含小写字母、数字、$字元和%百分号


4.使用方法

$ fcrackzip  -b -c 'aA1' -l 1-10   -u 123lybbn.zip

PASSWORD FOUND!!!!: pw == qsb

解释:

-b 表示使用暴力破解的方式

-c 'aA1' 表示使用大小写字母和数字混合破解的方式

-l 1-10 表示需要破解的密码长度为1到10位

-u 表示只含有破解出來的密码,其他错误的密码不显示出

如果想要使用現有的字典破解的話,可以写成如下形式

$ fcrackzip  -D -p lybbnpass.txt  -u 123lybbn.zip

PASSWORD FOUND!!!!: pw == qsb

解释:

-D 表示要使用字典破解

-p 表示要使用那個字典破解

2.rarcrack

rar破解

该软件用于暴力破解压缩文件的密码,但仅支持RAR, ZIP, 7Z这三种类型的压缩包,其特点是可以使用多线程,而且可以随时暂停与继续(暂停时会在当前目录生成一个xml文件,里面显示了正在尝试的一个密码)。
(linux下、kali用apt-get命令)rarcrack安装方法:

首先从官网下载安装包,然后执行如下命令

tar -xjf rarcrack-0.2.tar.bz2
cd rarcrack-0.2
make && make install

在执行过程中,如果出现如下错误:

gcc -pthread rarcrack.cxml2-config --libs --cflags-O2 -o rarcrack  
/bin/sh: 1: xml2-config: not found  
In file included from rarcrack.c:21:0:  
rarcrack.h:25:48: 致命错误: libxml/xmlmemory.h:没有那个文件或目录  
编译中断。  
make: *** [all] 错误 1

那么可以执行sudo apt-get install libxml2-dev libxslt-dev进行修复。

rarcrack使用方法:

执行命令: rarcrack 文件名 -threads 线程数 -type rar|zip|7z

如果想更改密码类型,可以更改.xml这个文件
rarcrack_xml.png

高级加密zip文件

当使用unzip报错

Unzip error: unsupported compression method 99

可以使用:

rarcrack ./00000000.zip  --threads 20 --type 7z 

3.密码生成

生成密码可以使用工具crunch
功能选项:

参数:
min-lencrunch要开始的最小长度字符串。即使不使用参数的值,也需要此选项

max-lencrunch要开始的最大长度字符串。即使不使用参数的值,也需要此选项

charset string在命令行使用crunch你可能必须指定字符集设置,否则将使用缺省的字符集设置。缺省的设置为小写字符集,大写字符集,数字和特殊字符(符号),如果不按照这个顺序,你将得到自己指定结果。必须指定字符类型或加号的值。注意:如果你想在你的字符集中包含空格特征,你必须使用“\”字符或用引号括起来你的字符集,例如"abc "。见示例3,11,12,和13。如果有“+”指定,则后续格式中出现的类型从其中取值!

选项:
-b数字[类型]指定输出文件的大小,仅仅使用“-o”选项时生效;
	exp: crunch45 -b20MB -o START”和“crunch45 -b 20MIB -o START
-c数字指定写入输出文件的行数,也即包含密码的个数,例如使用字符规则mixalpha-numeric-all-space,生成最小和最大字符串为1的且每一个文件保存60个字符串的密码字典:
	exp: crunch 1 1 -f/usr/share/crunch/charset.lstmixalpha-numeric-all-space -oSTART-c60
-d数字符号,限制出现相同元素的个数(至少出现元素个数),“-d 2@”限制小写字母输出像aab和aac,aaa不会产生,因为这是连续3个字母,格式是数字+符号,数字是连续字母出现的次数,符号是限制字符串的字符,例如@,%^(“@”代表小写字母,“,”代表大写字符,“%”代表数字,“^”代表特殊字符)
(4)-e字符串,定义停止生成密码,比如-e 222222:到222222停止生成密码

(5)-f /path/to/charset.lstcharset-name,从charset.lst指定字符集,也即调用密码库文件,比如kali中的charset.lst在/usr/share/crunch/charset.lst,则参数为“-f

/usr/share/crunch/charset.lst”

(6)-i改变出格式。例如将格式aaa,aab,aac,aad,更换为格式aaa,baa,caa,daa,aba,bba等

(7)- l跟t搭配使用,告诉crunch那些符号被当成文字这将允许使用占位符作为模式中的字母,l选项应与t选项的长度相同,参见例子15。

(8)-m,m跟p选项合并使用,请用“-p”代替。

(9)-o wordlist.txt,指定输出文件的名称,例如wordlist.txt

(10)-p字符串或者-p单词1单词2 ...以排列组合的方式来生成字典。

(11)-q filename.txt,读取filename.txt

(11)-r告诉crunch继续从它离开的地方恢复生产密码字典。如果你使用“-o”选项,“-r”选项仅仅工作。你必须使用跟原命令一样的命令来恢复,唯一的例外是“-s”选项。如果在原始命令使用了该选项,则必须在恢复会话之前删除它,只需添加R到原始命令结束。

(12)-s startblock,指定一个开始的字符。

(13)-t @,%^,指定模式,@,%^分别代表意义如下:
	@插入小写字母
	,插入大写字母
	%插入数字
	^插入特殊符号

例如生成4位的数字密码:

crunch 4 4  -t  %%%% >4txt

参考链接

Linux下使用rarcrack暴力破解RAR,ZIP,7Z压缩包

Unzip error: unsupported compression method 99