1 前言
Microsoft Office是微软公司开发的一套基于Windows操作系统的办公软件套装,常用组件有Word、Excel、Access、Powerpoint、FrontPage等。我们在使用Office文件记录相关数据文档时,有些重要的文件需要对其进行加密,但是时间长了忘记密码怎么办?接下来就让我们一起来教大家如何处理。
2 HashCat工具介绍
HashCat是一个开源的工具(基于MIT许可的开源),目前最新版本是6.2.5(截止2022年4月8日)。针对上述Office的文件,该工具支持破解的文件类型如下:
9400 | 微软办公软件 2007 | 文档 9500 | 微软办公软件 2010 | 文档 9600 | 微软办公室 2013 | 文档 25300 | MS Office 2016 – 表保护 | 文档 9700 | MS Office <= 2003 $0/$1, MD5 + RC4 | 文档 9710 | MS Office <= 2003 $0/$1, MD5 + RC4, collider #1 | 文档 9720 | MS Office <= 2003 $0/$1, MD5 + RC4, collider #2 | 文档 9810 | MS Office <= 2003 $3, SHA1 + RC4, collider #1 | 文档 9820 | MS Office <= 2003 $3, SHA1 + RC4, collider #2 | 文档 9800 | MS Office <= 2003 $3/$4, SHA1 + RC4 | 文档3 破解前准备工作
本文不展开讲解HashCat工具详细内容(本次测试在kali 2022.1版本上进行操作,我们默认您已经成功安全好HashCat这个工具),针对需要解决的问题,引入一些我们需要用到的命令。
HashCat工具 —用于hash破解具体语法如下:
hashcat -a [mode] -m [mode] [hashfile] [dictionary]
-a 选择攻击模式
-m 选择hash类型
[hashfile] 指定待破解hash位置
[dictionary] 指定密码字典(如暴力破解则无需密码字典)
office2john.py—用于取Office文档hash值具体语法如下:
python /usr/share/john/office2john.py <encrypted office file(s)>
参数<encrypted office file(s)>用来指定加密的Office文档。
4 开始破解
取Office文档hash值
执行命令如下:
/usr/share/john/office2john.py /home/test.docx
返回结果如下:
test.docx:$office$*2007*20*128*16*c8b75a79be2ecce9036486d5704d8dd8*6f54e927e6f812d7dac91e5f646f75e6*0f8ad91536234c57130d3ee2e211e101662be973
取Office文档hash值
破解hash值
通过对获取到hash值分析,得知Office文档类型为微软办公软件2007。结合第二章HashCat模式对照表我们不难发现应该使用9400代码进行破解。
执行命令如下:
# hashcat -m 9400 -a 3 $office$*2007*20*128*16*c8b75a79be2ecce9036486d5704d8dd8*6f54e927e6f812d7dac91e5f646f75e6*0f8ad91536234c57130d3ee2e211e101662be973
返回结果如下(部分):
$office$*2007*20*128*16*c8b75a79be2ecce9036486d5704d8dd8*6f54e927e6f812d7dac91e5f646f75e6*0f8ad91536234c57130d3ee2e211e101662be973:889900
Session……….: hashcat
Status………..: Cracked
Hash.Mode……..: 9400 (MS Office 2007)
破解hash值
5 小结
通过上述操作,我们可以轻松破解Office文件的密码。我们也可以采取一些防护措施来提高我们文件的安全性。
主要有以下几点:
密码长度至少是8位,包含大小写字母、数字和特殊字符。
定期更换密码。
使用操作系统级的系统磁盘加密,避免文件泄漏。