3秒快速解密PDF用Python:附带工具下载链接
文中将介绍如果利用开源工具、python代码等秒破加密的pdf文件。
过程分析
因为pdf文件加密的密码是随机的,而且密码不长。首先,我们需要指导pdf的加密方式。
pdfid.py可以查看pdf文件的加密方式:
pdf-parser.py可以让我们了解更多信息:
加密信息在obj 26:
我们可以得出结论使用的标准加密器。这种加密方法用的密钥是40bit的。
QPDF是一款用于确定pdf文件机密的方式。
QPDF的输出是invalid password,这说明pdf是用user 密码加密的。
作者写过很多关闭解密pdf文件的blog,但是使用的方法大多数是暴力破解,文章中作者用一种新的工具hashcat来破解密码。
下面是作者从pdf文件中提取到的hash值:
这个格式是比较适合 John the Ripper,因为如果是hashcat呢,就只需要hash(field 2),而不需要其他域。
下面就提取field 2的内容:
可以把输出保存在“encryption_test – CONFIDENTIAL.hash”中。
然后就可以用hashcat工具了,这里用的命令是:
hashcat-4.0.0hashcat64.exe --potfile-path=encryption_test.pot -m 10400 -a 3 -i "encryption_test - CONFIDENTIAL.hash" ?a?a?a?a?a?a
使用的参数有:
- –potfile-path=encryption_test.pot : dedicated pot 文件是默认的
- -m 10400 : 用于破解40-bit PDF加密方式
- -a 3 : 暴力破解
- ?a?a?a?a?a?a : 假设密码是6位数字字母字符
- -i : 这个选项意味着密码不一定是6位,也可以是1,2,3,4,5位
工具破解的结果是:
破解的密码是1806。
然后用QPDF进行验证:
结论
得出的结论是:用40bit加密的4位字符user密码保护的pdf文件,几秒钟就可以用免费的,开源工具破解了。
下面是一些破解加密pdf文件的开源工具:
Pdf工具地址:https://blog.didierstevens.com/programs/pdf-tools/
pdf-parser下载地址:http://didierstevens.com/files/software/pdf-parser_V0_6_8.zip
Makepdf下载地址:http://didierstevens.com/files/software/make-pdf_V0_1_7.zip
pdfid下载地址:http://didierstevens.com/files/software/pdfid_v0_2_2.zip