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位,包含大小写字母、数字和特殊字符。

定期更换密码。

使用操作系统级的系统磁盘加密,避免文件泄漏。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注