在互联网浪潮中,您可能遇到过这种情况:
我从Internet上下载了一个zip文件,最后发现它受到密码保护,或者我使用密码对非常重要的zip文件进行了加密,但是过了一会我忘记了密码,无法打开它. 目前,我们可能需要破解此加密文件.
随着计算机性能的提高,许可能会发现找到zip文件的密码很容易.
我将从网络安全狗和CTF播放器的角度分析如何查找/破解Zip文件〜
让我们从最简单的方法开始. 许可能没有注意文件属性列. 有时,加密器会将密码放入属性中,如下图:
我们可以看到该Zip压缩文件的密码仅为〜
Zip伪加密是修改文件头中的加密标志,然后在打开文件时将其识别为加密的压缩包〜
Zip文件包含三个部分:
压缩的源文件数据区域+压缩的源文件目录区域+压缩的源文件目录结束标记
让我们看一下这个例子:
压缩源文件数据区域:
50 4B 03 04:这是头文件标记(0x04034b50)
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密)
08 00:压缩方式
5A 7E:最后修改文件时间
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
07 00:文件名长度
00 00:扩展记录长度
6B65792E7478740BCECC750E71ABCE48CDC9C95728CECC2DC849AD284DAD0500
压缩源文件目录区:
50 4B 01 02:目录中文件文件头标记(0x02014b50)
3F 00:压缩使用的 pkware 版本
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了)
08 00:压缩方式
5A 7E:最后修改文件时间
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
07 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 00 00 00:外部文件属性
00 00 00 00:局部头部偏移量
6B65792E7478740A00200000000000010018006558F04A1CC5D001BDEBDD3B1CC5D001BDEBDD3B1CC5D001
压缩的源文件目录的结束标记:
50 4B 05 06:目录结束标记
00 00:当前磁盘编号
00 00:目录区开始磁盘编号
01 00:本磁盘上纪录总数
01 00:目录区中纪录总数
59 00 00 00:目录区尺寸大小
3E 00 00 00:目录区对第一张磁盘的偏移量
00 00:ZIP 文件注释长度
我们可以大胆猜测:
如果适当修改了zip文件的文件头或加密标志,则可能会更改文件的可读性〜
我们可以使用十六进制编辑器添加文件头或文件结尾,我们可以修复zip.
上述方法比较麻烦并且不容易操作. 在Mac OS和某些Linux(例如Kali)系统中,您可以直接打开伪加密的zip压缩包. 目前,我们希望有一种简单而通用的方法该怎么办?
我们建议采用以下方法:
使用ZipCenOp.jar来检测伪加密. 如果解密后可以成功打开zip包,则将其伪加密,否则提示错误
我已经将下载的ZipCenOp.jar下载到本地,单击下载〜
这里是一个例子,下面是一个加密文件,原因很简单,文件夹后面是一个*〜
如何使用ZipCenOp.jar(需要Java环境):
java -jar ZipCenOp.jar r xxx.zip
我们使用上面的命令将其解压缩,如下所示:
让我们再次查看该文件:
发现文件夹后的*消失了,表明此文件是伪加密文件〜
当然,我们也可以对Zip文件进行伪加密〜
java -jar ZipCenOp.jar e xxx.zip
顾名思义,就是在知道遇到正确密码的情况下,一一尝试所有可以在所选集合中组成的密码〜
字典攻击的效率比爆破的效率略高,这是因为常用的密码存储在字典中,因此避免了爆破时浪费在翻滚键盘上的时间〜
如果已知密码的某些位是已知的,例如,如果已知6位密码的第三位是a,则可以构造掩码攻击? a ???,掩码攻击的原理等同于第一个的构造. 3位数的字典是a,所以掩码攻击的效率也比爆破的效率高得多
对于这种压缩问题,我在Windows下使用ARCHPR〜
单击开始爆炸. 〜以下是一个演示. 炸出密码是MIT花了4秒钟〜
所谓的字典攻击实际上是在正确选择字典后的很短时间内找到密码. 如果您需要字典,朋友可以和我聊天,我可以将它发送给您〜
示例如下:
如果对Wifi密码破解感兴趣的学生可以注意我的B站ID: Angel_Kitty,我录制了有关Wifi破解的视频zip文件怎么破解密码,则视频ID为:
掩码攻击由一定数量的已知密码构成. 在下面的示例中zip文件怎么破解密码,我们构造了?? T进行爆破,只花了81ms即可破解〜
明文攻击是一种更有效的攻击方法. 一般原则是,当您不知道zip的密码但在zip中有一个已知文件(文件大小大于12Byte)或通过其他方式知道zip加密文件中的某些内容时,因为同一zip归档文件中的所有文件都是使用相同的加密密钥加密的,所以您可以使用已知文件来找到该加密密钥,然后使用该密钥来解锁其他加密文件〜
这时我们可以尝试使用ARCHPR或pkcrack进行纯文本攻击〜
例如,下载链接在此处
我们可以看到readme.txt是加密压缩包中readme.txt的明文,因此可以进行明文攻击〜
将readme.txt压缩为.zip文件,然后填写软件中的相应路径以发起纯文本攻击. 在这里,我们使用ARCHPR来演示〜
一些朋友可能会说ARCHPR无效,通常是错误的版本〜
如果仍然有问题怎么办?然后尝试使用pkcrack
下载链接在这里: 〜conrad / krypto / pkcrack.html
该网站似乎每天都会崩溃,所以我将文件上传到了本地〜
Windows版本:
Linux版本:
某些朋友在Windows下会出现以下错误:
那是因为pkcrack只支持32位,因此需要在XP系统下运行此操作
如果选择Linux,则不必那么麻烦,只需直接安装即可,这是一种更快的方法〜
我已经将项目上传到Github,文件在这里:
让我们写一个shell脚本〜
#!/bin/bash -ex wget https://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack/pkcrack-1.2.2.tar.gz tar xzf pkcrack-1.2.2.tar.gz cd pkcrack-1.2.2/src make mkdir -p ../../bin cp extract findkey makekey pkcrack zipdecrypt ../../bin cd ../../
保存文件,更改为install.sh,然后转到当前目录,为其授予执行权限x
chmod 777 install.sh
或直接:
chmod u+x install.sh
然后运行install.sh
./install.sh
然后将在当前目录中生成一个bin文件夹. 我们直接进入bin文件夹,看到有一个pkcrack文件,然后直接以纯文本格式破解该文件
./pkcrack -c "answer/key.txt" -p readme.txt -C Desktop.zip -P readme.zip
-C:要破解的目标文件(含路径) -c:破解文件中的明文文件的名字(其路径不包括系统路径,从zip文件一层开始) -P:压缩后的明文文件 -p:压缩的明文文件中明文文件的名字(也就是readme.txt在readme.zip中的位置)
有关其他选项,请参见. /pkcrack--help
pkcrack的另一个重要选项是-d,后跟文件名,例如crypto.zip,它指示解密的zip文件的输出. 据说此命令可以加快解密时间,我没有尝试过,所以花了两个小时没有用完密码QAQ
CRC32: CRC本身表示“冗余校验码”,CRC32表示它将生成32位(8位十六进制数)校验值.
生成CRC32时,源数据块的每一位都参与运算,因此即使数据块中只有一位发生变化,也将获得不同的CRC32值. 使用此原理,我们可以直接爆破加密文件的内容〜
有关具体算法的实现,请参见百度百科:
让我们看一个CRC32冲突的示例:
标志是4位数字,并且CRC32值为56EA988D
我们可以编写以下脚本:
#coding=utf=8 import binascii real = 0x56EA988D for y in range(1000,9999): if real == (binascii.crc32(str(y)) & 0xffffffff): print(y) print('End')
在Python 2.x版本中,binascii.crc32计算的CRC值范围是[-2 ^ 31,2 ^ 31-1]之间的有符号整数,以便与常规CRC结果进行比较. 需要转换为无符号整数,因此添加&0xffffffff进行转换. 如果是Python 3.x版本,则计算结果为[0,2 ^ 32-1]之间的无符号整数,因此无需添加&0xffffffff.
脚本的运行结果如下,这是压缩文件的内容:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-168078-1.html
年年换中国豆苗大学生