使用hashcat找回office文档密码

2023-10-08 17:30

本文主要是介绍使用hashcat找回office文档密码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文已经发技术栈

Word软件是目前世界上使用最为广泛的办公文字处理软件之一,在国内应该有超过90%的用户在使用它。政府、企业公司以及个人都喜欢用Word文件来处理工作和个人事务,而在使用Word文件来保存文件的内容时,根据不同的安全需要,需要对文件内容进行保护时就需要进行加密,而需要阅读文件内容时就需要解密。很多个人都有记日记的习惯,可时间久了,往往会忘记自己的密码, 如果不能找回密码,则无法查看文档内容。

目前网上有很多关于Word密码破解的软件,例如Word Password Recvery 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加密文件有可能有多个密码可以用来打开该文件。

1.1.1word文件加密

1.加密Word文件

一般情况下说的对Word文件加密是指采用Word字处理软件所自带的加密功能,要使用该功能,可在word文件编辑状态下,选择“工具”-“选项”-“安全性”,就会出现如图1所示的界面。

1-打开word文件.JPG

1 打开加密Word文件选项

2.设置加密密码

Word文家加密常用的选项主要有二种,一种是打开权限,另外一种是拥有修改权限可以对文件进行修改。在对Word文件进行加密时可以根据需要,设置打开权限密码和修改权限密码,设置完毕后单击“确定”保存设置时,往往需要再次确认密码,如图2所示,确认完毕后,关闭Word文件后,再次打开时就需要输入密码。如果设置的是修改权限密码,这在打开时会提示分别输入打开权限密码和修改权限密码。

2-计算word哈希值.jpg

2 设置加密密码

目前也有单独针对Word文件开发的加解密软件,要解密这种Word文件非常困难。在Word字处理软件中提供了多种加密算法类型,在图3中单击“高级”可以查看和选择不同的加密类型。Word默认的加密类型是是Office97/2000兼容,该加密类型非常容易被破解,而如果要对Word文件进行较高等级的安全保护,建议采用其它加密类型,除了“Office97/2000兼容”加密类型外,其它加密类型均较难破解,对这些加密类型采取破解时多用暴力破解,其破解主要跟字典有关。

3-带摘要的哈希值.JPG

图3 选择Word加密类型

1.1.2找回office文档密码方法

对于加密Word文件笔者认为有三种方式找回:

1.暴力破解。这是最常用的,通过编程将字典中的值依次输入进行确认尝试,一旦尝试成功,则说明该值为破解值,其破解成功往往取决于字典的完善程度。字典在网络安全中扮演中非常重要的角色,不断的完善和更新字典是一个好习惯,一个高手往往有好多个字典,字典可以是以.dic.txt结尾的文件,文件中每一个字符串为一行。

2.针对算法的破解。 针对算法的破解,要求对加密算法非常熟悉,通过加密算法中的缺陷或者就是针对加密算法的破解算法进行编程,然后进行自动破解,这种方法往往破解速度快,但是使用破解软件的技术难度大,这类软件往往是国外的网络安全大牛们写的,国内也有很多大牛,不过他们不怎么写,看学论坛中有很多高手,大家可以去看看!

3.另类破解。另类破解,那就是天才中的天才,也就是“只有你想不到的,没有做不到的。”往往采用常人所想不到的破解方式来进行破解,例如王晓芸教授破解Md5加密算法。

1.1.3使用hashcat软件进行密码找回

hashcat是一款强大的综合密码破解工具,其支持高达数百种加密算法的破解,以前有一个Advanced Office Password Breaker可以对Office密码进行恢复,下面介绍如何利用hashcat来进行office文档的破解。

1.打开文件需要输入密码

   使用office软件打开某个被加密动word文件,需要输入密码,如图4所示,只有输入正确密码才能正常访问。

4-破解的哈希值.JPG

图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

5-执行破解.jpg

图5计算word文件hash值

3.整理hash文件

Hash文件生成的内容如图6所示,该hash文件无法直接进行计算,需要去掉一些无关信息。

6-破解结束.JPG

图6hash文件内容

   对hash文件进行整理,去掉“6.doc:”和“:::第6章 ***检测神话 渔樵 Normal 邓琦皓 2 Microsoft Word 9.0 YuQiao Studio::6.doc”,如图7所示,获取正确的哈希值:

$oldoffice$1*ae8adb6a8b3aeb7c1bd3bb6bf6514ef4*5e4ffbe5034d9fa2bf05dce0a9d34bb7*db9ca3e3291f536620ad7c987ac6e514

7-hashcat破解结果文件.JPG

图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)18位小写字母破解

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

51-8位大写字母破解

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

68大写字母破解

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

75位小写+大写+数字+特殊字符破解

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摄氏度就自动终止,以免烧坏计算机。

8-查看破解结果.jpg

图8开始破解

7.查看破解结果

   在执行破解成功后,hashcat会自动终止破解,并显示破解状态为Cracked,Recvoered中也会显示是否破解成功,如图9所示,经过34分钟的破解,成功将某一个加密文档破解。

图9破解word文件成功.jpg

图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。

10.jpg

图10查看potfile查看破解结果


图11执行命令查看破解结果.jpg

图11执行命令查看破解结果


这篇关于使用hashcat找回office文档密码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/166883

相关文章

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的