1. 程式人生 > 其它 >3秒鐘,用python破解加密PDF|附工具地址

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