文章目录
-
- 📌 引言
- 📁 Office 与 WPS 支持的常见文件格式
-
- Microsoft Office 格式
- WPS Office 格式
- 🛠 所需工具下载地址(Windows 官方编译版)
- 🔐 破解流程详解
-
- 步骤 1:提取文档的加密哈希值
- 步骤 2:将正确的哈希值复制到 hash.txt 文件
- 步骤 3:查找对应的 Hashcat 哈希模式 ID
- 步骤 4:使用 Hashcat 破解哈希值
- 📋 示例命令汇总
- 💡 小结
- ⚠️ 注意事项
📌 引言
在日常办公中,为了保护敏感信息,我们常常会对 Microsoft Office 或 WPS Office 的文档设置加密保护。然而,有时会因为时间久远或误操作而忘记密码,导致文档无法打开。
本文将详细介绍如何使用 John the Ripper 提取 Office 和 WPS 文档的加密哈希,并结合 Hashcat 实现高效密码找回。适用于以下文档格式:
- ✅ Microsoft Office:
.doc
,.docx
,.xls
,.xlsx
,.ppt
,.pptx
- ✅ WPS Office:
.wps
,.et
,.dps
📌 注意:本教程仅限于找回你自己拥有或合法授权的加密文档密码,请勿用于非法用途。
📁 Office 与 WPS 支持的常见文件格式
Microsoft Office 格式
类型 | 文件扩展名 | 说明 |
---|---|---|
Word 文档 | .doc , .docx |
文字处理文档 |
Excel 表格 | .xls , .xlsx |
电子表格文件 |
PowerPoint 演示文稿 | .ppt , .pptx |
幻灯片演示文件 |
WPS Office 格式
类型 | 文件扩展名 | 说明 |
---|---|---|
WPS 文字 | .wps |
对应 Word 文档 |
WPS 表格 | .et |
对应 Excel 表格 |
WPS 演示 | .dps |
对应 PowerPoint 演示文稿 |
📌 WPS 自有格式(如 .wps/.et/.dps)也可直接用于提取哈希并进行破解,无需转换为 Office 格式。
🛠 所需工具下载地址(Windows 官方编译版)
工具名称 | 功能 | 下载地址 |
---|---|---|
John the Ripper | 提取 Office/WPS 加密哈希 | https://www.openwall.com/john/g/john-1.9.0-jumbo-1-win64.zip |
Hashcat | 高速 GPU 密码破解工具 | https://hashcat.net/files/hashcat-6.2.7.7z |
🔐 破解流程详解
步骤 1:提取文档的加密哈希值
- 下载并解压
john-1.9.0-jumbo-1-win64.zip
- 进入
run
目录,找到office2john.py
脚本 - 在 PowerShell 中运行以下命令提取哈希:
python office2john.py your_encrypted_file.docx
📌 示例(WPS 文档也适用):
python office2john.py report.wps
执行后你会看到类似如下输出:
步骤 2:将正确的哈希值复制到 hash.txt 文件
- 打开记事本或其他文本编辑器。
- 将步骤1中获取的完整哈希值粘贴进去。
- 保存文件为
hash.txt
(建议保存在 Hashcat 同级目录下,便于调用)。
步骤 3:查找对应的 Hashcat 哈希模式 ID
访问 Hashcat 官方 Wiki - Example Hashes
搜索关键词 $office$
或具体哈希前缀,例如:
- Office <= 2003:
-m 9400
- Office 2007-2010:
-m 9500
- Office 2013+:
-m 9600
- WPS 文档(兼容处理):可尝试使用上述 Office 模式
步骤 4:使用 Hashcat 破解哈希值
以 Office 2013 及以上文档为例,使用 -m 9600
模式进行掩码攻击:
hashcat -m 9600 -a 3 hash.txt ?a?a?a?a?a?a?a?a --increment --increment-min=4 --increment-max=8
📌 参数说明:
-m 9600
:指定使用 Office 2013+ 加密算法;-a 3
:表示掩码攻击模式;?a
:代表任意字符(小写字母、大写字母、数字、符号);--increment
:启用递增模式;--increment-min=4
和--increment-max=8
:设定密码长度范围。
📋 示例命令汇总
文档类型 | 提取哈希命令 | Hashcat 模式 ID | 破解命令模板 |
---|---|---|---|
Office 2003 及以下 | python office2john.py file.doc |
-m 9400 |
hashcat -m 9400 -a 3 hash.txt ?d... |
Office 2007-2010 | python office2john.py file.docx |
-m 9500 |
hashcat -m 9500 -a 3 hash.txt ?d... |
Office 2013+ | python office2john.py file.docx |
-m 9600 |
hashcat -m 9600 -a 3 hash.txt ?d... |
WPS 文档 | python office2john.py file.wps |
参考 Office 模式 | 使用对应 -m 值进行破解 |
💡 小结
通过本文你可以掌握以下技能:
- 如何使用
office2john.py
提取 Office 和 WPS 文档的加密哈希; - 如何在 Hashcat 官方 Wiki 查找正确的
-m
模式 ID; - 如何编写 Hashcat 命令进行密码破解;
- WPS 文档(如
.wps/.et/.dps
)可以直接用于哈希提取与破解,无需转格式。
📌 关键点在于:准确识别文档版本并匹配对应的 Hashcat 模式 ID。
⚠️ 注意事项
- 合法性提醒:请确保你有权破解目标文档,未经授权破解他人文件属违法行为。
- 性能优化:推荐使用支持 CUDA 或 OpenCL 的 GPU 来加速破解过程。
- 密码复杂度影响:密码越复杂(含大小写、特殊字符、长度长),破解时间越久。
- 字典攻击更高效:如果能获得部分信息(如生日、姓名),建议结合字典进行攻击。
📌 如果你对密码破解技术感兴趣,或者正在学习渗透测试相关知识,这篇文章可以帮助你了解 Office 和 WPS 文档密码的提取与破解方法。
💬 欢迎留言交流你在项目中使用这些技术的经验,或者你遇到的相关问题,我们一起探讨安全技术的发展与实践!