3秒钟,用python破解加密PDF|附工具地址

文中将介绍如果利用开源工具、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 

使用的参数有:

  1. –potfile-path=encryption_test.pot : dedicated pot 文件是默认的
  2. -m 10400 : 用于破解40-bit PDF加密方式
  3. -a 3 : 暴力破解
  4. ?a?a?a?a?a?a : 假设密码是6位数字字母字符
  5. -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

原文发布于微信公众号 - BestSDK(bestsdk)

原文发表时间:2018-01-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小白鼠

Ionic3 Android签名

app签名,相当于是app在Anndroid系统上的一个认证,Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如...

1312
来自专栏bboysoul

esxi 更换ssl证书

就是想换一个证书而已,你可以通过下面的途径去申请一个泛解析域名的证书之后再esxi上安装上

3991
来自专栏魏艾斯博客www.vpsss.net

腾讯云服务器创建 SSH 密钥及如何使用 提高 SSH 连接安全性

腾讯云服务器内置创建 SSH 密钥功能,创建并使用之后就是有密钥才能使用 SSH 连接服务器,相对于几位数的登陆密码来说,2048 位密钥显然更安全。本文是阿里...

3847
来自专栏小白安全

小白博客 kali Linux系统下Joomscan工具的使用方法

Joomscan 由于其灵活性,Joomla可能是使用最广泛的CMS。对于这个CMS,它是一个Joomla扫描仪。 它将帮助网络开发人员和网站管理员帮助确...

3976
来自专栏运维小白

Linux基础(day52)

12.17 Nginx负载均衡 Nginx负载均衡目录概要 vim /usr/local/nginx/conf/vhost/load.conf // 写入如下内...

2557
来自专栏Java学习123

git配置全局用户名密码、生成ssh,添加到gitlab

6846
来自专栏醉梦轩

NGINX部署HTTPS

nginx是一款高性能的Web服务器,可以用作反向代理和负载均衡。随着HTTPS的不断推进,越来越多的网站都开始转到HTTPS方式,HTTP仅仅作为重定向到HT...

3703
来自专栏编程

Nginx HTTP Server中的SSL证书错误

安装SSL证书时快速解决Nginx HTTP服务器错误! Nginx HTTP Server是免费的开放源代码,它附带了高性能的HTTP服务器和反向代理。Ngi...

3018
来自专栏醉梦轩

NGINX部署HTTPS

1.5K5
来自专栏云原生架构实践

Docker Data Center系列(五)- 使用自定义的TLS安全认证

commonName(CN)设置为UCP(DTR)所在主机名或FQDN。也可以设置为一个泛域名(*.yourcompany.com),其它都使用默认值。

2247

扫码关注云+社区

领取腾讯云代金券