如果您保存了具有编辑保护的旧版(.doc 时代)Word 文档,则可以找到存储在文件中的密码密钥。
为方便起见,可以通过保存到 .xml 或 .html 文件并检查文本源来找到它(但您也可以使用十六进制编辑器将其从原始 .doc 中拉出)。例如,对于密码“password”,您会在源中找到以下内容:
<w:documentProtection w:edit="forms" w:enforcement="on" w:unprotectPassword="147A83AF"/>
使用什么算法来生成这个看起来是 32 位十六进制的密钥?
答案1
我无法使用当前的 Office 安装重现该输出。根据这。
考虑到这些来源:
- PenTestCorner - 使用 Hashcat 破解 Microsoft Office (97-03、2007、2010、2013) 密码哈希
- InfoSecSee - 破解受密码保护的 Word、Excel 和 Powerpoint 文档
看起来那些旧版本使用的是哈希和加密的组合。看来您必须对文件进行更多检查才能弄清楚它实际使用的是哪种组合。
这似乎与 PenTestCorner 的列表相符:
- Office 97-03(MD5+RC4,oldoffice$0,oldoffice$1): flag -m 9700
- Office 97-03(MD5+RC4,collider-mode#1):标志-m 9710
- Office 97-03(MD5+RC4,collider-mode#2):标志 -m 9720
- Office 97-03(SHA1 + RC4,oldoffice$3,oldoffice$4):标志-m 9800
- Office 97-03(SHA1+RC4,collider-mode#1):标志 -m 9810
- Office 97-03(SHA1+RC4,collider-mode#2):标志 -m 9820
- Office 2007:标志 -m 9400
- Office 2010:标志-m 9500
- Office 2013:标志-m 9600
您必须检查“Office2John”或hashcat的实现细节,以进一步了解如何确定所使用的算法等。