我有一些大学老师给我的文件,我可以追他,但我也可以尝试从石头上取血,他的反应率不是很好,我一年前完成了我的学位!
它们是存储在受密码保护的 zip 文件中的 pdf 文件。密码与网络相关,有大小写和数字,但据我记得没有特殊字符,有些是相互排列的“passwordL1”,“l2Password”等。
.zip 文件采用哪些不同的加密算法?
如何确定对我的 zip 文件使用的保护?
我在哪里可以找到好的论文和工具,最终将把被密码隐藏的 pdf 文件还给我?
我有一些大学老师给我的文件,我可以追他,但我也可以尝试从石头上取血,他的反应率不是很好,我一年前完成了我的学位!
它们是存储在受密码保护的 zip 文件中的 pdf 文件。密码与网络相关,有大小写和数字,但据我记得没有特殊字符,有些是相互排列的“passwordL1”,“l2Password”等。
.zip 文件采用哪些不同的加密算法?
如何确定对我的 zip 文件使用的保护?
我在哪里可以找到好的论文和工具,最终将把被密码隐藏的 pdf 文件还给我?
如果你还没有看过它,我会推荐几个来源。
带有社区巨型补丁的开膛手约翰支持 zip 破解。如果您查看支持的模式,则有一些用于破解 zip 密码的选项(包括基本的暴力破解)。
Elcomsoft有很好的 zip 破解程序,包括在某些情况下保证恢复
还有一些像这样的公司似乎有 GPU 加速的 zip 破解,这可能会根据您的硬件加快速度。
就方法而言,这听起来像是一个基于字典的攻击,带有突变规则(所以用像 leet speak 规则这样的东西来改变字典)将是最好的选择,特别是如果你知道这些词来自一个特定的域. 直接蛮力可能不是一个好主意,因为它往往会超过 8 个字符(除非你在上面投入了大量的 CPU/GPU 能力)
您也可以使用这个 shell 脚本。
资料来源:http ://synacl.wordpress.com/2012/08/18/decrypting-a-zip-using-john-the-ripper/
#!/bin/bash
echo "ZIP-JTR Decrypt Script";
if [ $# -ne 2 ]
then
echo "Usage $0 <zipfile> <wordlist>";
exit;
fi
unzip -l $1
for i in $(john --wordlist=$2 --rules --stdout)
do
echo -ne "\rtrying \"$i\" "
unzip -o -P $i $1 >/dev/null 2>&1
STATUS=$?
if [ $STATUS -eq 0 ]; then
echo -e "\nArchive password is: \"$i\""
break
fi
done
有不同的恢复套件可用。他们中的大多数实施这些解决方案:
此外,这个链接(我从中获得了大部分信息)表明,如果您使用最近的 winzip(因为您去年对此进行了加密,所以怀疑它),加密是带有 128 位或 256 位密钥的 AES。这意味着您只能尝试暴力攻击。
只是想使用fcrackzip
CLI 工具添加另一种方法。它存在于大多数 Linux 发行版存储库中,例如 Ubuntu 和 Fedora/CentOS。使用它非常简单:
$ fcrackzip -b -c a1:$% -l 1-6 -u myencrypted.zip
-b
- 蛮力-c a1:$%
- 指定要使用的字符集-l 1-6
- 指定要尝试的密码长度-u
- 解压缩以清除错误密码$ fcrackzip --help
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