這個世界上最偉大,使用最廣泛的軟件是那個?無疑Microsoft Office要占一個。自打1988年發布第一個Microsoft Office産品後,在過去的30年中,Microsoft Office已從簡單的文本編輯器發展成為桌面應用程序和雲服務的強大組合。目前擁有超過12億用戶的桌面Office套件和超過6000萬的Office 365雲服務用戶。通過向後兼容文件格式,Microsoft Office已成為事實上的文檔交換标準。
自從1991年發布的Word 2.0,Microsoft一直在使用加密功能來幫助用戶保護其内容。但是時常有用戶缺了丢了加密文檔的密碼或者忘記了某些重要加密文檔的密碼,這時候就需要想辦法找回密碼或者破解。Elcomsoft 出品的軟件Advanced Office Recovery(AOR)估計有部分人知道,本文蟲蟲就說說Microsoft Office加密算法的曆史演變,多種保護類型之間的區别,并以AOR為例子說明Microsoft Office加密的密碼恢複。
Word 2.0-95,Excel 4.0-95:可即時恢複
這些版本的Microsoft Office應用程序采用的是基于XOR操作的弱加密算法。甚至在過去,該算法的強度更可以認為是一種混淆措施而不是加密。包括Office 95在内的所有之前版本的Word和Excel的所有密碼都可以立即恢複,不需要額外暴力破解。
Office 97:使用Thunder Tables可即時解密或以極快的速度恢複原始密碼。
Microsoft Office 97在發布時故意使用了弱加密。由于美國政府的加密算法出口限制,所以對其故意預留了漏洞:Office 97使用了RC4進行加密,并用MD5進行哈希處理。采用40位長度的加密密鑰和一次MD5哈希叠代來保護信息。即使在過去,而40位長度的密鑰則加密強度太低,可以通過集群計算破解。在現在硬件條件下,即使不使顯卡的GPU加速計算,在普通級别的Intel Core i7 CPU隻需幾天的直接暴力破解就可以對其破解。
Elcomsoft通過構建可能的40位密鑰Elcomsoft Thunder Tables™ 彩虹表破解。可以實現在幾秒鐘内破解所有加密的Word 97文檔和大多數(約97%)Excel 97加密電子表格。
重要的是要注意,解密文檔不需要實際的密碼,隻需要破解40位密鑰即可。如果實際需要必須破解出密碼源碼,則必須需要通過計算暴力破解。
具有默認加密的Office 2000,XP和2003:使用Thunder Tables即時解密,或以極快的速度恢複默認密碼設置的原始密碼
盡管從未完全解除對密碼算法的出口限制,但到2000年,美國聯邦的出口限制幾乎不再存在。但是,Microsoft在Office 2000,XP和2003中繼續使用弱加密。這些版本的Microsoft Office默認使用和97一樣的哈希算法。因此,用Thunder Tables插件的Elcomsoft Advanced Office Recovery可以在幾秒鐘内解密大多數Office 2000,XP和2003加密文檔。
從Office 2003開始,Microsoft允許使用外部加密服務來增加密鑰長度。如果使用外部加密提供程序(這種情況很少見),則必須破解原始的純文本密碼,而不是恢複40位加密密鑰。即使使用外部加密提供程序,Office 2003的保護仍然非常薄弱。普通消費級Intel Core i7 CPU每秒可嘗試300萬個密碼。用GPU計算将這個速度提高200倍,從而使破解變得非常快。有趣的是,密碼恢複速度并不取決于所選的密鑰長度。破解密碼所需的時間完全取決于密碼的長度和複雜性。因此,簡單的密碼幾乎可以立即恢複,而平均7個字符的字母數字密碼大約需要一天半的時間。
如果您看到帶有DOC或XLS擴展名的Office文件,則該文件是在2003年以前的Microsoft Office 2.0中創建的,或者是在使用較新版本的兼容模式下。兼容模式還意味着該文件必須使用兼容(不安全)加密,以便可以在較早版本的Office中正确打開該文件。因此,無論Microsoft Office的版本如何,任何DOC或XLS文件都可以在幾分鐘之内被破壞(如果必須恢複原始密碼,則需要幾天的時間)。
Office 2007:無法即時解密,需要暴力破解,甚至需要字典表配合
新的文件格式和全新的加密。無法即時恢複打開密碼。合理的快速破解,可以使用暴力破解來恢複相對較短和簡單的密碼。更複雜的密碼需要詞典破解。
美國政府放寬密碼算法出口管制的七年後,微軟終于放棄了默認的40位加密。但是,新的加密方案并不是Office 2007唯一的新功能。
從2007年開始,Word和Excel(以及許多其他Microsoft Office應用程序)的更新版本引入了新的默認保存格式。對于Microsoft Word,文件擴展名從DOC更改為DOCX。Excel電子表格現在保存為XLSX文件而不是XLS(新格式可以追溯到1990年代最初基于OLE的文件格式的"擴展"或" eXtreme"版本。額外的" X"代表Office Open XML标準)。對我們而言重要的是,新文件格式使用了新的加密方案。
Office 2007使用了大幅改進的加密。Microsoft使用行業标準的AES-128進行加密,去除了陳舊的40位RC4和單MD5哈希叠代。50000次SHA-1哈希叠代大大增強了加密的安全性,也大大加大了破解的難度。使用長加密密鑰使對密鑰本身的破解變得不可行,必須使用恢複原始的純文本密碼的方法,所以必須要進行暴力破解(或基于字典的破解)。
即使在今天,使用Office 2007加密的文檔(但未保存在兼容模式下)仍是相當安全的。典型的Intel Core i7 CPU的恢複速度為每秒約1000個密碼,用GPU算法的破解,在單個NVIDIA Tesla V100顯卡硬件條件下每秒可嘗試約20萬個密碼。這樣的情況下,要破解密碼,隻能通過字典表的方式減少嘗試的範圍。
Office 2010:安全性提高兩倍
加密強度是Office 2007的兩倍。中速破解,暴力破解可用于恢複一些非常簡短的密碼。更複雜的密碼需要詞典破解。
在Office 2010中,Microsoft繼續使用他們在Office 2007中引入的加密方案。新Office仍然使用AES-128進行加密,并且仍然依賴SHA-1進行哈希處理。但是,哈希叠代次數從50000(Office 2007)翻倍至100000(Office 2010)。這樣做是為了考慮到使密碼至少與三年前一樣安全的硬件的發展。
在現在的硬件上,可以在單個Intel Core i7 CPU上每秒嘗試大約500個密碼組合。如果使用GPU,則該數字每秒最多可增加到10萬個密碼(NVIDIA Tesla V100)。在其他數據格式中,該速度大約是平均值。在這一點上,除了使用最短的密碼,對于所有密碼而言,直接的暴力破解變得不可行,隻能使用字典表破解。
Office 2013、2016、2019比Office 2010強五倍。低速破解。GPU輔助的暴力破解可用于恢複少于3個字符的密碼。普通密碼則需要詞典破解,而複雜的長密碼必須通過分布式集群破解。
從Office 2013開始,Microsoft不斷提高加密強度(文檔仍與Microsoft Office的早期版本向後兼容)。Office 2013中引入了新的加密方法(AES-256)和新的哈希算法(SHA-512)。
Office 2013、2016和2016使用AES-128或AES-256進行加密,并使用SHA-512 100000叠代進行哈希處理。這導緻所有密碼恢複工具的性能大大下降。在一台Intel Core i7上每秒可嘗試大約50個密碼。使用GPU(NVIDIA Tesla V100)可将恢複速度提高到每秒約2萬個密碼。這樣的速度下,除了最簡單的密碼(長度為1到3個字符)之外純暴力破解變得不可能,唯一可行的方法是使用字典詞典破解。為了破解長而複雜的密碼,隻能通過分布式網絡基于字典的破解(Elcomsoft分布式密碼恢複)。
總結
最後我們總結一下,對于Office加密文檔的破解方法。
即時密碼恢複需要不同的工具來破解舊DOC/XLS格式和新DOCX/XLSX格式的文檔。
Advanced Office Password可以快速去除舊DOC和XLS格式的文檔中的密碼保護,無論用于保存文件的Microsoft Office版本如何。在Microsoft Word 97/2000和Excel 97/2000中默認使用這些文件格式。它們仍然是Microsoft Office XP和2003中的默認格式(隻有使用默認加密設置才能進行即時恢複)。
該工具無需恢複原始密碼,而是針對使用Elcomsoft的Thunder Tables 40位加密密鑰彩虹表。該方法可實現使97% Excel加密文件的密碼恢複,對Microsoft Word 97/2000加密文檔的恢複率達到100%。
分布式破解Microsoft Office 2007及更高版本中使用的新加密标準使即時恢複變得不可能(除非文檔以兼容模式以舊格式保存)。對于使用Office Open Format(帶有DOCX和XLSX擴展名的文件)的所有版本的Microsoft Office,都必須暴力破解密碼。
現代版本的Microsoft Office具有安全加密功能,因此無法進行純暴力破解。建議在分布式網絡上使用GPU輔助的詞典破解。如果希望恢複保護較舊DOC/XLS文檔的原始密碼,也可以使用分布式密碼恢複。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!