使用文本编辑器打开时乱码
使用010editor打开发现时xml文档
拷贝到kali,使用binwalk查看,发现时xml文档,改后缀名为ppt。打开发现有密码
Accent OFFICE Password Recovery 64位-Office密码恢复软件 v20.09 免费版 - 下载吧
试试这个Accent OFFICE Password Recovery软件去破解ppt密码,在网上找了半天都未破解不好用一大堆,放弃果断使用Passware Kit Forensic 2022 v1 (64-bit)
9919打开ppt,第七页发现隐藏文字
---------------------------------------------------------------------------------------------------------------------------------
还有一种方法使用HashCat 恢复Excel、Word、PPT密码:
准备工作需要下载HashCat和office2john.py
HashCat链接:hashcat - advanced password recovery
office2john.py:y:
GitHub - BlackMamBa210/Xor-Obfuscation-Python3: This project is create an open source tool o reveal oldschool passwords for excel 6 (xls) with XOR obfuscation. Office2john.py gives the xor key and the truncated md5 hash. Russian software such as elcomsoft reveals the password instantly. Research idea is to publish a python tool that will reveal the open passwords so that the number of crap document recovery services on the internet out of russia go broke and save the internet 30$ a copy
先用office2john.py获取hash
这个命令需要你电脑有python环境,然后在cmd命令窗口中执行此命令就行,笔者已安装了python环境
把What kind of document is this_.ppt 改名1.ppt,拷贝office2john.py目录,执行下面命令
python office2john.py 1.ppt > hash
如上报错,解决方法如下:
这个错误是由于在你的office2john.py
脚本中使用了ElementTree
对象的getiterator
方法,但在当前环境中该方法可能已被移除或不再可用。以下是一些可能的解决方法:
使用iter
方法代替
在 Python 中,ElementTree
的iter
方法可以用来迭代特定标签的元素。你可以尝试将以下代码:
for node in tree.getiterator('{http://schemas.microsoft.com/office/2006/keyEncryptor/password}encryptedKey'):
替换为:
for node in tree.iter('{http://schemas.microsoft.com/office/2006/keyEncryptor/password}encryptedKey'):
再次使用命令
得到一个hash
用记事本打开这个文件,会发现里面有一大串数字,这个时候,把没用的东西去掉,
比如:源文件内容为1.ppt:$office$*2010*100000*128*16*265c4784621f00ddb85cc3a7227dade7*f0cc4179b2fcc2a2c5fa417566806249*b5ad5b66c0b84ba6e5d01f27ad8cffbdb409a4eddc4a87cd4dfbc46ad60160c9
把1.ppt去掉,只保留符号到后面的数字,最终内容为: 符号到后面的数字为:‘$office$*2010*100000*128*16*265c4784621f00ddb85cc3a7227dade7*f0cc4179b2fcc2a2c5fa417566806249*b5ad5b66c0b84ba6e5d01f27ad8cffbdb409a4eddc4a87cd4dfbc46ad60160c9`
$office$*2010*100000*128*16*265c4784621f00ddb85cc3a7227dade7*f0cc4179b2fcc2a2c5fa417566806249*b5ad5b66c0b84ba6e5d01f27ad8cffbdb409a4eddc4a87cd4dfbc46ad60160c9
使用windows获取的hash,拷贝在hashcat目录总是在输入下面总是报错,改用kali
在kali重新生成hash,去掉文件名,再输入
hashcat -m 9500 hash -a 3 ?d?d?d?d -w 3 –O
接着输入下面命令,得到9919
hashcat -m 9500 hash -a 3 ?d?d?d?d -w 3 –O --show
附件:参数详情
参数都是啥意思,看看下面解释就清楚了
破解 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
————————————————
$office$*2010*100000*128*16*265c4784621f00ddb85cc3a7227dade7*f0cc4179b2fcc2a2c5fa417566806249*b5ad5b66c0b84ba6e5d01f27ad8cffbdb409a4eddc4a87cd4dfbc46ad60160c9
我们的题目是2010offcies
所以我们就用 -m 9500
hashcat.exe -m 9500 hash -a 3 ?d?d?d?d -w 3 -O --show
另外?d?d?d?d 是什么意思呢,Hashcat 中自定义破解含义值
?l = abcdefghijklmnopqrstuvwxyz,代表小写字母。
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ,代表大写字母。
?d = 0123456789,代表数字。
?s = !"#$%&'()*+,-./:;<=>?@[]^_`{|}~,代表特殊字符。
?a = ?l?u?d?s,大小写数字及特殊字符的组合。
?b = 0x00 - 0xff
下面有一些常用实例
8 位数字破解
Hashcat64 -m 9700 hash -a 3 ?d?d?d?d?d?d?d?d -w 3 –O
1-8 位数字破解
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 位小写+大写+数字+特殊字符破解
Hashcat -m 9700 hash -a 3 ?b?b?b?b?b -w 3
更多的参数,可以参看:https://hashcat.net/wiki/doku.php?id=oclhashcat#options