密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

Word軟體是目前世界上使用最為廣泛的辦公文字處理軟體之一,在國內應該有超過90%的使用者在使用它。政府、企業公司以及個人都喜歡用Word檔案來處理工作和個人事務,而在使用Word檔案來儲存檔案的內容時,根據不同的安全需要,需要對檔案內容進行保護時就需要進行加密,而需要閱讀檔案內容時就需要解密。很多個人都有記日記的習慣,可時間久了,往往會忘記自己的密碼,還有就是入侵過程中獲取了一些加密檔案,而此時又很想看看這些檔案中的內容,使用一些word破解軟體,往往對於密碼設定複雜一點的就無能為力了。

目前網上有很多關於Word密碼破解的軟體,例如Word Password Recovery Master無限制版、Advanced Office Password Recovery。其主要破解方式是採用暴力破解,破解成功後會顯示原來的加密密碼。如果密碼設定的相對複雜,其破解時間特別長。“Office Password Remover” 是國外一家單獨做密碼恢復的軟體的公司開發的,該公司還有許多其它密碼恢復的軟體,原版“Office Password Remover”軟體下載地址http://www。rixler。com/download。htm。rixler破解“Office97/2000相容”加密型別的word加密檔案,其速度非常快,最慢不超過一分鐘。其缺點是在破解時需要訪問網路http://www。rixler。com/,而且破解後不顯示原來密碼(聯網破解需要付費購買其軟體)。透過筆者研究,發現hashcat新版本增加了很多新功能,hashcat採用暴力破解和雜湊值碰撞方式進行暴力破解,按照其官方的說法,一個word加密檔案有可能有多個密碼可以用來開啟該檔案。

12。1word檔案加密

1。加密Word檔案

一般情況下說的對Word檔案加密是指採用Word字處理軟體所自帶的加密功能,要使用該功能,可在word檔案編輯狀態下,選擇“工具”-“選項”-“安全性”,就會出現如圖1所示的介面。

密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

圖1 開啟加密Word檔案選項

2。設定加密密碼

Word文家加密常用的選項主要有二種,一種是開啟許可權,另外一種是擁有修改許可權可以對檔案進行修改。在對Word檔案進行加密時可以根據需要,設定開啟許可權密碼和修改許可權密碼,設定完畢後單擊“確定”儲存設定時,往往需要再次確認密碼,如圖2所示,確認完畢後,關閉Word檔案後,再次開啟時就需要輸入密碼。如果設定的是修改許可權密碼,這在開啟時會提示分別輸入開啟許可權密碼和修改許可權密碼。

密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

圖2 設定加密密碼

目前也有單獨針對Word檔案開發的加解密軟體,要解密這種Word檔案非常困難。在Word字處理軟體中提供了多種加密演算法型別,在圖3中單擊“高階”可以檢視和選擇不同的加密型別。Word預設的加密型別是是Office97/2000相容,該加密型別非常容易被破解,而如果要對Word檔案進行較高等級的安全保護,建議採用其它加密型別,除了“Office97/2000相容”加密型別外,其它加密型別均較難破解,對這些加密型別採取破解時多用暴力破解,其破解主要跟字典有關。

密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

圖3 選擇Word加密型別

12。2破解office文件方法

對於解密Word檔案方式一共就三種方式:

1。暴力破解。這是最常用的,透過程式設計將字典中的值依次輸入進行確認嘗試,一旦嘗試成功,則說明該值為破解值,其破解成功往往取決於字典的完善程度。字典在網路安全中扮演中非常重要的角色,不斷的完善和更新字典是一個好習慣,一個高手往往有好多個字典,字典可以是以。dic和。txt結尾的檔案,檔案中每一個字串為一行。

2。針對演算法的破解。 針對演算法的破解,要求對加密演算法非常熟悉,透過加密演算法中的缺陷或者就是針對加密演算法的破解演算法進行程式設計,然後進行自動破解,這種方法往往破解速度快,但是使用破解軟體的技術難度大,這類軟體往往是國外的網路安全大牛們寫的,國內也有很多大牛,不過他們不怎麼寫,看學論壇中有很多高手,大家可以去看看!

3。另類破解。另類破解,那就是天才中的天才,也就是“只有你想不到的,沒有做不到的。”往往採用常人所想不到的破解方式來進行破解,例如王曉芸教授破解Md5加密演算法。

https://hashcat。net/forum/thread-3665。html 對office密碼碰撞缺陷進行研究:

生成16位元組隨機鹽

計算Unicode版本的密碼MD5

將16位元組的結果截斷為5位元組

生成一個長度為336位元組的字串,重複16次“336美元”(16 *(5 + 16))=

MD5的336位元組

將16位元組的結果截斷為5位元組

將4位元組零追加到結果

MD5的9位元組

使用16位元組的結果作為128位RC4金鑰

解密encryptedverifier RC4來decryptedverifier

解密encryptedverifierhash RC4來decryptedverifierhash

MD5解密encryptedverifier

16位元組的結果與解密encryptedverifierhash比較

12。3使用hashcat破解

hashcat是一款強大的綜合密碼破解工具,其支援高達數百種加密演算法的破解,以前有一個Advanced Office Password Breaker可以對Office密碼進行恢復,下面介紹如何利用hashcat來進行office文件的破解。

1。開啟檔案需要輸入密碼

使用office軟體開啟某個被加密動word檔案,需要輸入密碼,如圖4所示,只有輸入正確密碼才能正常訪問。

密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

圖4開啟加密word檔案

2。計算加密word檔案的hash值

下載http://www。openwall。com/john/j/john-1。8。0-jumbo-1。tar。gz,從其壓縮包中獲取office2john。py檔案,然後執行:

office2john。py 6。doc

執行效果如圖5所示,可以將執行結果定向到hash檔案:

office2john。py 6。doc >hash

密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

圖5計算word檔案hash值

3。整理hash檔案

Hash檔案生成的內容如圖6所示,該hash檔案無法直接進行計算,需要去掉一些無關嘻嘻你。

密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

圖6hash檔案內容

對hash檔案進行整理,去掉“6。doc:”和“:::第6章 入侵檢測神話 漁樵 Normal 鄧琦皓 2 Microsoft Word 9。0 YuQiao Studio::6。doc”,如圖7所示,獲取正確的雜湊值:

$oldoffice$1*ae8adb6a8b3aeb7c1bd3bb6bf6514ef4*5e4ffbe5034d9fa2bf05dce0a9d34bb7*db9ca3e3291f536620ad7c987ac6e514

密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

圖7整理好的雜湊值

4。破解Office加密Offcie版本對應雜湊型別

Office 97-03(MD5+RC4,oldoffice$0,oldoffice$1): -m 9700

Office 97-03($0/$1, MD5 + RC4, collider #1): -m 9710

Office 97-03($0/$1, MD5 + RC4, collider #2): -m 9720

Office 97-03($3/$4, SHA1 + RC4): -m 9800

Office 97-03($3, SHA1 + RC4, collider #1): -m 9810

Office 97-03($3, SHA1 + RC4, collider #2): -m 9820

Office 2007: -m 9400

Office 2010: -m 9500

Office 2013: -m 9600

5。使用hashcat進行破解

(1)Hashcat中自定義破解含義值

?l = abcdefghijklmnopqrstuvwxyz 代表小寫字母

?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ 代表大寫字母

?d = 0123456789 代表數字

?s = !“#$%&‘()*+,-。/:;<=>?@[\]^_`{|}~ 代表特殊字元

?a = ?l?u?d?s 大小寫數字及特殊字元的組合

?b = 0x00 - 0xff

6。破解示例

(1)8位數字破解

Hashcat64 -m 9700 hash -a 3 ?d?d?d?d?d?d?d?d -w 3 –O

(2)1-8位數字破解

Hashcat -m 9700 hash -a 3 ——increment ——increment-min 1 ——increment-max 8 ?d?d?d?d?d?d?d?d

(3)1到8位小寫字母破解

Hashcat -m 9700 hash -a 3 ——increment ——increment-min 1 ——increment-max 8 ?l?l?l?l?l?l?l?l

(4)8位小寫字母破解

Hashcat -m 9700 hash -a 3 ?l?l?l?l?l?l?l?l -w 3 –O

(5)1-8位大寫字母破解

Hashcat -m 9700 hash -a 3 ——increment ——increment-min 1 ——increment-max 8 ?u?u?u?u?u?u?u?u

(6)8位大寫字母破解

Hashcat -m 9700 hash -a 3 ?u?u?u?u?u?u?u?u -w 3 –O

(7)5位小寫+大寫+數字+特殊字元破解

Hashcat -m 9700 hash -a 3 ?b?b?b?b?b -w 3

(8)使用字典進行破解

使用password。lst字典進行暴力破解,-w 3引數是指定電力消耗

Hashcat -m 9700 -a 0 -w 3 hash password。lst

破解時採取先易後難的原則,建議如下:

(1)使用1-8位數字進行破解。

(2)使用1-8位小寫字母進行破解

(3)使用1-8位大寫字母進行破解

(4)使用1-8位混合大小寫+數字+特殊字元進行破解

(5)利用收集的公開字典進行破解

如圖8所示,對hash檔案透過數字破解完成後,繼續進行1-8位小寫字母的破解,在該圖中會顯示掩碼值,破解進度,破解開始時間,破解預計耗費時間,以及破解顯示卡或者CPU的溫度,一般設定到90攝氏度就自動終止,以免燒壞計算機。

密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

圖8開始破解

7。檢視破解結果

在執行破解成功後,hashcat會自動終止破解,並顯示破解狀態為Cracked,Recvoered中也會顯示是否破解成功,如圖9所示,經過34分鐘的破解,成功將某一個加密文件破解。

密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

圖9破解word檔案成功

還可以透過檢視hashcat。potfile以及執行破解命令後加“——show”命令檢視,也即:

Hashcat64 -m 9700 hash -a 3 ——increment ——increment-min 1 ——increment-max 8 ?l?l?l?l?l?l?l?l –show

如圖10,圖11所示,該word檔案密碼為shirley。

密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

圖10檢視potfile檢視破解結果

密碼安全系列文章12:使用hashcat暴力破解加密office文件密碼

圖11執行命令檢視破解結果