厲害了,Word哥!我用Hashcat找回了Office文檔密碼
原創(chuàng)【51CTO.com原創(chuàng)稿件】Word 軟件是目前世界上使用最為廣泛的辦公文字處理軟件之一,政府、企業(yè)以及個人都喜歡用 Word 文件來處理工作和個人事務,在國內有超過 90% 的用戶在使用它。
而在使用 Word 來保存文件內容時,根據不同的安全需要,對文件內容進行保護就需要進行加密,當需要閱讀文件內容時就需要解密。
很多人都有記日記的習慣,可時間久了,往往會忘記自己的密碼,如果不能找回密碼,則無法查看文檔內容。
目前網上有很多關于 Word 密碼破解的軟件,例如 Word Password Recovery Master 無限制版、Advanced Office Password Recovery。
它們主要的破解方式是采用暴力破解,破解成功后會顯示原來的加密密碼。如果密碼設置的相對復雜,其破解時間特別長。
“Office Password Remover”是國外一家單獨做密碼恢復軟件的公司開發(fā)的,該公司還有許多其他密碼恢復的軟件。
原版“Office Password Remover”軟件下載地址:http://www.rixler.com/download.htm
rixler 破解“Office97/2000 兼容”加密類型的 Word 加密文件,速度非???,最慢不超過 1 分鐘。
它的缺點是在破解時需要訪問網絡 http://www.rixler.com/,而且破解后不顯示原來密碼(聯(lián)網破解需要付費購買其軟件)。
通過筆者研究,發(fā)現(xiàn) Hashcat 新版本增加了很多新功能,Hashcat 采用暴力破解和哈希值碰撞的方式進行破解,按照官方的說法,一個 Word 加密文件有可能有多個密碼可以用來打開該文件。
Word 文件加密
加密 Word 文件
一般情況下,對 Word 文件加密是指采用 Word 字處理軟件所自帶的加密功能。
要使用該功能,可在 Word 文件編輯狀態(tài)下,選擇“工具”-“選項”-“安全性”,就會出現(xiàn)如圖 1 所示的界面:
圖 1:打開加密 Word 文件選項
設置加密密碼
Word 文件加密常用的選項主要有二種,一種是打開權限,另一種是擁有修改權限可以對文件進行修改。
在對 Word 文件進行加密時可以根據需要,設置打開權限密碼和修改權限密碼,設置完畢后單擊“確定”保存設置時,往往需要再次確認密碼。
如圖 2 所示,確認完畢,關閉 Word 文件后,再次打開時就需要輸入密碼。如果設置的是修改權限密碼,再打開時會提示分別輸入打開權限密碼和修改權限密碼。
圖 2:設置加密密碼
目前也有單獨針對 Word 文件開發(fā)的加解密軟件,要解密這種 Word 文件非常困難。
在 Word 字處理軟件中提供了多種加密算法類型,在圖 3 中單擊“高級”可以查看和選擇不同的加密類型。
Word 默認的加密類型是 Office97/2000 兼容,該加密類型非常容易被破解,而如果要對 Word 文件進行較高等級的安全保護,建議采用其他加密類型。
除了“Office97/2000 兼容”加密類型外,其他加密類型均較難破解,對這些加密類型采取破解時多用暴力破解,其破解主要跟字典有關。
圖 3:選擇 Word 加密類型
找回 Office 文檔密碼方法
對于加密的 Word 文件,筆者認為有三種方式可以找回:
暴力破解
這是最常用的方法,通過編程將字典中的值依次輸入進行確認嘗試,一旦嘗試成功,則說明該值為破解值,其破解成功難度往往取決于字典的完善程度。
字典在網絡安全中扮演非常重要的角色,不斷的完善和更新字典是一個好習慣,一個高手往往有好多個字典,字典可以是以 .dic 和 .txt 結尾的文件,文件中每一個字符串為一行。
針對算法的破解
針對算法的破解,要求對加密算法非常熟悉,通過加密算法中的缺陷或者針對加密算法的破解算法進行編程,然后進行自動破解。
這種方法往往破解速度快,但是使用破解軟件的技術難度大,這類軟件往往是國外的網絡安全大牛們寫的,國內也有很多大牛,不過他們不怎么寫。
另類破解
另類破解就是天才中的天才,也就是“只有你想不到的,沒有做不到的。”他們往往采用常人所想不到的破解方式來進行破解,例如王曉蕓教授破解 Md5 加密算法。
使用 Hashcat 軟件找回密碼
Hashcat 是一款強大的綜合密碼破解工具,它支持高達數(shù)百種加密算法的破解,以前有一個 Advanced Office Password Breaker 可以對 Office 密碼進行恢復,下面介紹如何利用 Hashcat 進行 Office 文檔的破解。
打開文件需要輸入密碼
使用 Office 軟件打開某個被加密過的 Word 文件,需要輸入密碼才能正常訪問,如圖 4 所示:
圖 4:打開加密 Word 文件
計算加密 Word 文件的 Hash 值
下載http://www.openwall.com/john/j/john-1.8.0-jumbo-1.tar.gz
然后從壓縮包中獲取 office2john.py 文件,最后執(zhí)行:office2john.py6.doc
執(zhí)行效果如圖 5 所示,可以將執(zhí)行結果定向到 Hash 文件:
office2john.py6.doc>hash
圖 5:計算 Word 文件 Hash 值
整理 Hash 文件
Hash 文件生成的內容如圖 6 所示,該 Hash 文件無法直接進行計算,需要去掉一些無關信息。
圖 6:Hash 文件內容
對 Hash 文件進行整理,去掉“6.doc:”和“:::第 6 章 入侵檢測神話 漁樵Normal 鄧琦皓 2 Microsoft Word 9.0 YuQiao Studio::6.doc”。
如圖 7 所示,獲取正確的哈希值:
$oldoffice$1*ae8adb6a8b3aeb7c1bd3bb6bf6514ef4*5e4ffbe5034d9fa2bf05dce0a9d34bb7*db9ca3e3291f536620ad7c987ac6e514
圖 7:整理好的哈希值
破解 Office 加密 Offcie 版本對應哈希類型
- Office97-03(MD5+RC4,oldoffice$0,oldoffice$1):-m 9700
- Office97-03($0/$1, MD5 + RC4, collider #1):-m 9710
- Office97-03($0/$1, MD5 + RC4, collider #2):-m 9720
- Office97-03($3/$4, SHA1 + RC4):-m 9800
- Office97-03($3, SHA1 + RC4, collider #1):-m9810
- Office97-03($3, SHA1 + RC4, collider #2):-m9820
- Office2007:-m 9400
- Office2010:-m 9500
- Office2013:-m 9600
使用 Hashcat 進行破解
Hashcat 中自定義破解含義值:
- ?l = abcdefghijklmnopqrstuvwxyz,代表小寫字母。
- ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ,代表大寫字母。
- ?d = 0123456789,代表數(shù)字。
- ?s = !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~,代表特殊字符。
- ?a = ?l?u?d?s,大小寫數(shù)字及特殊字符的組合。
- ?b = 0x00 - 0xff
破解示例
8 位數(shù)字破解
Hashcat64-m 9700 hash -a 3 ?d?d?d?d?d?d?d?d -w 3 –O
1-8 位數(shù)字破解
Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?d?d?d?d?d?d?d?d
1 到 8 位小寫字母破解
Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?l?l?l?l?l?l?l?l
8 位小寫字母破解
Hashcat-m 9700 hash -a 3 ?l?l?l?l?l?l?l?l -w 3 –O
1-8 位大寫字母破解
Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?u?u?u?u?u?u?u?u
8 位大寫字母破解
Hashcat-m 9700 hash -a 3 ?u?u?u?u?u?u?u?u -w 3 –O
5 位小寫+大寫+數(shù)字+特殊字符破解
Hashcat-m 9700 hash -a 3 ?b?b?b?b?b -w 3
使用字典進行破解
使用 password.lst 字典進行暴力破解,-w 3 參數(shù)是指定電力消耗。
Hashcat -m9700 -a 0 -w 3 hash password.lst
破解時采取先易后難的原則,建議如下:
- 使用 1-8 位數(shù)字進行破解。
- 使用 1-8 位小寫字母進行破解。
- 使用 1-8 位大寫字母進行破解。
- 使用 1-8 位混合大小寫+數(shù)字+特殊字符進行破解。
- 利用收集的公開字典進行破解。
如圖 8 所示,對 Hash 文件通過數(shù)字破解完成后,繼續(xù)進行 1-8 位小寫字母的破解。
在該圖中會顯示掩碼值,破解進度,破解開始時間,破解預計耗費時間,以及破解顯卡或者 CPU 的溫度,一般設置到 90 攝氏度就自動終止,以免燒壞計算機。
圖 8:開始破解
查看破解結果
在執(zhí)行破解成功后,Hashcat 會自動終止破解,并顯示破解狀態(tài)為 Cracked,Recovered 中也會顯示是否破解成功。
如圖 9 所示,經過 34 分鐘的破解,成功將某一個加密文檔破解。
圖 9:破解 Word 文件成功
還可以通過查看 hashcat.potfile 以及執(zhí)行破解命令后加“--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。
圖 10:查看 potfile 查看破解結果
圖 11:執(zhí)行命令查看破解結果
陳小兵,高級工程師,北理工計算機學院博士在讀。擁有豐富的信息系統(tǒng)項目經驗以及 15 年以上網絡安全經驗。現(xiàn)主要從事網絡安全及數(shù)據庫技術研究工作。已出版《SQL Server2000培訓教程》《黑客攻防及實戰(zhàn)案例解析》《Web滲透及實戰(zhàn)案例解析》《安全之路-Web滲透及實戰(zhàn)案例解析第二版》、《黑客攻防實戰(zhàn)加密與解密》、《網絡攻防實戰(zhàn)研究:漏洞利用與提權》、《網絡攻防實戰(zhàn)研究:MySQL數(shù)據庫攻擊與防范》共計 7 本專著,在國內核心期刊及普通學術期刊發(fā)表論文 20 余篇,曾在《黑客防線》、《黑客X檔案》、《網管員世界》、《開放系統(tǒng)及世界》、《視窗世界》等雜志發(fā)表文章 100 余篇。
【51CTO原創(chuàng)稿件,合作站點轉載請注明原文作者和出處為51CTO.com】