【学习记录】Office 和 WPS 文档密码破解实战

发布于:2025-06-07 ⋅ 阅读:(17) ⋅ 点赞:(0)

文章目录

    • 📌 引言
    • 📁 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:提取文档的加密哈希值

  1. 下载并解压 john-1.9.0-jumbo-1-win64.zip
  2. 进入 run 目录,找到 office2john.py 脚本
  3. 在 PowerShell 中运行以下命令提取哈希:
python office2john.py your_encrypted_file.docx

📌 示例(WPS 文档也适用):

python office2john.py report.wps

执行后你会看到类似如下输出:

在这里插入图片描述


步骤 2:将正确的哈希值复制到 hash.txt 文件

  1. 打开记事本或其他文本编辑器。
  2. 将步骤1中获取的完整哈希值粘贴进去。
  3. 保存文件为 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 文档密码的提取与破解方法。

💬 欢迎留言交流你在项目中使用这些技术的经验,或者你遇到的相关问题,我们一起探讨安全技术的发展与实践!


网站公告

今日签到

点亮在社区的每一天
去签到