吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 18650|回复: 318
收起左侧

[原创] 手把手教你破解WPS 、Microsoft Office文档密码

    [复制链接]
a57595135a 发表于 2024-3-22 17:24
本帖最后由 a57595135a 于 2024-3-24 20:02 编辑

前言
笔者就以WPS Excel为例,演示下破解过程,操作系统使用的是Ubuntu 22.04桌面版。

准备工作
1、一个带密码的excel文档
2、如果你的机器没有独显,则安装OpenCL驱动
sudo apt update
sudo apt install intel-opencl-icd


3、如果是NVIDIA独显
(1)安装显卡驱动
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt search nvidia-driver
sudo apt install nvidia-driver-525 #选择一个合适的版本我这里选的是525
sudo reboot


安装好显卡驱动后命令行输入:
nvidia-smi


如果能正常输出类似下面的版本信息,则驱动安正确

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+```


(2)安装CUDA Toolkit
根据上面显卡驱动输出的 CUDA Version 下载对应的CUDA Toolkit,如果版本不对则有可能不能正常运行,我这里就下载CUDA Toolkit 12.0版本,下载地址:

CUDA Toolkit
https://developer.nvidia.com/cuda-toolkit

CUDA Toolkit Download
https://developer.nvidia.com/cuda-downloads

CUDA Toolkit Archive
https://developer.nvidia.com/cuda-toolkit-archive

一步一步的选择你的CUDA版本以及系统版本后会显示安装命令,以下是ubuntu 22.04下cuda 12.0版本的安装命令:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda-repo-ubuntu2204-12-0-local_12.0.0-525.60.13-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-0-local_12.0.0-525.60.13-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda


设置环境变量:
vim ~/.bashrc 
export CUDA_HOME=/usr/local/cuda
export PATH=${CUDA_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:$LD_LIBRARY_PATH


使其生效
source ~/.bashrc


检查cuda安装是否正确,命令行输入:nvcc -V
nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Mon_Oct_24_19:12:58_PDT_2022
Cuda compilation tools, release 12.0, V12.0.76
Build cuda_12.0.r12.0/compiler.31968024_0


安装破解工具HASHCAT
官网地址:https://hashcat.net/hashcat/
下载地址:https://hashcat.net/files/hashcat-6.2.6.7z

下载编译hash提取工具
下载地址:https://github.com/openwall/john

编译安装
cd src
./configure && make -s clean && make -sj4


编译完成后将会在run目录生成可执行文件。


提取office密码hash
进入john的run目录执行:
cd ../run
./office2john.py '/home/ubuntu/Desktop/test.xlsx' > ~/Desktop/hash.txt


内容如下:
cat ~/Desktop/hash.txt
test.xlsx:$office$*2007*20*128*16*8eb5dfb7076b984f872835699267d09d*a3f37477a61095f9d1823e4b798b4b3a*2d3a5d0c4b58ee023575a429433679cc8ecc2cae


通过hash头$office$*2007*可以观察出WPS采用的是MS2007版本的加密算法。

而office对应的hash_type有以下几种:

9700 | MS Office <= 2003 $0/$1, MD5 + RC4               | Documents
9710 | MS Office <= 2003 $0/$1, MD5 + RC4, collider #1  | Documents
9720 | MS Office <= 2003 $0/$1, MD5 + RC4, collider #2  | Documents
9800 | MS Office <= 2003 $3/$4, SHA1 + RC4              | Documents
9810 | MS Office <= 2003 $3, SHA1 + RC4, collider #1    | Documents
9820 | MS Office <= 2003 $3, SHA1 + RC4, collider #2    | Documents
9400 | MS Office 2007                                   | Documents
9500 | MS Office 2010                                   | Documents
9600 | MS Office 2013                                   | Documents


2007版本对应的hash_type id是9400

执行破解
进入hashcat目录执行
./hashcat.bin -a 3 -m 9400 '$office$*2007*20*128*16*8eb5dfb7076b984f872835699267d09d*a3f37477a61095f9d1823e4b798b4b3a*2d3a5d0c4b58ee023575a429433679cc8ecc2cae' --force ?l?l?l?a?a?a


几分钟后密码就破解成功了。我这里使用的是暴力破解的方式,hashcat也可以加载密码字典文件,具体的大家可以自行搜索学习下。

性能测试
输入下面的命令测试机器性能
./hashcat.bin -b -m 9400

建议大家使用带显卡的机器进行破解,经测试集显和独显差距很大,我的集显电脑破解速度为5000+每秒,而独显电脑则可以达到15万+每秒。

内置掩码规则

- [ Built-in Charsets ] -

  ? | Charset
 ===+=========
  l | abcdefghijklmnopqrstuvwxyz [a-z] 纯小写字母
  u | ABCDEFGHIJKLMNOPQRSTUVWXYZ [A-Z] 纯大写字母
  d | 0123456789                 [0-9] 纯数字
  h | 0123456789abcdef           [0-9a-f] 小写子目录和数字
  H | 0123456789ABCDEF           [0-9A-F] 大写字母和数字
  s |  !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 特殊字符
  a | ?l?u?d?s 键盘上所有可见的字符
  b | 0x00 - 0xff 可能是用来匹配像空格这种密码的


下面举几个简单的例子来了解一下掩码的设置


八位数字密码:?d?d?d?d?d?d?d?d
八位未知密码:?a?a?a?a?a?a?a?a
前四位为大写字母,后面四位为数字:?u?u?u?u?d?d?d?d
前四位为数字或者是小写字母,后四位为大写字母或者数字:?h?h?h?h?H?H?H?H
前三个字符未知,中间为admin,后三位未知:?a?a?aadmin?a?a?a
6-8位数字密码:--increment --increment-min 6 --increment-max 8 ?d?d?d?d?d?d?d?d
6-8位数字+小写字母密码:--increment --increment-min 6 --increment-max 8 ?h?h?h?h?h?h?h?h
如果我们想设置字符集为:abcd123456!@-+,那该怎么做呢。这就需要用到自定义字符集这个参数了,hashcat支持用户最多定义4组字符集


--custom-charset1 [chars]等价于 -1
--custom-charset2 [chars]等价于 -2
--custom-charset3 [chars]等价于 -3
--custom-charset4 [chars]等价于 -4


在掩码中用?1、?2、?3、?4来表示。
再来举几个例子:

--custom-charset1 abcd123456!@-+。然后我们就可以用"?1"去表示这个字符集了
--custom-charset2 ?l?d,这里和?2就等价于?h
-1 ?d?l?u,?1就表示数字+小写字母+大写字母
-3 abcdef -4 123456 那么?3?3?3?3?4?4?4?4就表示为前四位可能是“abcdef”,后四位可能是“123456”


==========================================================================

补充说明
很多朋友说没有windows教程,其实跟上面的linux没什么太大区别,我这里简单的说一下windows步骤:
1、安装NVIDIA显卡驱动(前提是独显)
2、安装cuda-toolkit(前提是独显)
命令行输入nvidia-smi查看对应的CUDA Version,然后前往 https://developer.nvidia.com/cuda-toolkit-archive
选择CUDA版本、操作系统版本、下载exe(local)安装,安装时选择自定义安装,只勾选第一项CUDA,且CUDA的子项取消勾选Visual studio Integration
3、下载windows版本的 office、zip、rar等 hash提取工具:https://www.openwall.com/john/
4、下载HASHCAT破解工具:https://hashcat.net/files/hashcat-6.2.6.7z

优化建议
1、对于破解过的hash值,用./hashcat.bin hash --show查看结果
2、所有的hash破解结果都在hashcat.potfile文件中
3、如果破解的时间太长,可以按s键可以查看破解的状态,p键暂停,r键继续破解,q键退出破解
4、中途暂停或者终止后,使用./hashcat64.bin --restore恢复运行
5、在使用GPU模式进行破解时,可以使用-O参数自动进行优化
6、在实际破解中的建议,如果我们盲目的去破解,会占用我们大量的时间和资源,建议先跑一些常用的弱口令和密码字典文件
7、参数优化
考虑到hashcat的破解速度以及资源的分配,我们可以对一些参数进行配置
(1)Workload tuning 负载调优。
该参数支持的值有1,8,40,80,160
--gpu-accel 160 可以让GPU发挥最大性能

(2)Gpu loops 负载微调
该参数支持的值的范围是8-1024(有些算法只支持到1000)
--gpu-loops 1024 可以让GPU发挥最大性能

(3)Segment size 字典缓存大小
该参数是设置内存缓存的大小,作用是将字典放入内存缓存以加快字典破解速度,默认为32MB,可以根据自身内存情况进行设置,当然是越大越块了。
--segment-size 512 可以提高大字典破解的速度

8、性能测试
以wps office为例(如果不指定-m参数将跑所有hash-type):
./hashcat.bin -b -m 9400
-----------------------------------------------------
* Hash-Mode 9400 (MS Office 2007) [Iterations: 50000]
-----------------------------------------------------

Speed.#1.........:   156.1 kH/s (71.91ms) @ Accel:512 Loops:1024 Thr:32 Vec:1


根据上述测试,我的机器性能为每秒计算156100个office hash,从而我们可以评估下跑某一个密码长度所需的时间。
假设我们要跑1-10位数字:10 ** 10 / 156000 / 3600 ≈ 17.8小时

最后我的显卡是NVIDIA GeForce RTX 2060 12G,供大家参考一下,这个卡本身算力是比较弱的,如果是4090之类的很可能会突破百万每秒。

免费评分

参与人数 38吾爱币 +34 热心值 +34 收起 理由
heisenberg1024 + 1 + 1 谢谢@Thanks!
tab658 + 1 + 1 谢谢@Thanks!
笙若 + 1 + 1 谢谢@Thanks!
龙龙龙兄 + 1 谢谢@Thanks!
xtiwiyt + 1 用心讨论,共获提升!
MarkYang94 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
sq2620395 + 1 + 1 我很赞同!
playx + 1 + 1 我很赞同!
hawkb + 1 + 1 谢谢@Thanks!
ribood + 1 + 1 谢谢@Thanks!
ngxh + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
唐三没藏 + 1 + 1 谢谢@Thanks!
banxiacnn + 1 谢谢@Thanks!
zhyyhz + 1 + 1 热心回复!
HD666 + 1 + 1 谢谢@Thanks!
feifei888 + 1 + 1 谢谢@Thanks!
渝A·666666 + 1 + 1 谢谢@Thanks!
f1762643295 + 1 + 1 热心回复!
Cleverwwh + 1 + 1 win下还好有相关软件可用,Linux下试试这个
dawu920 + 1 + 1 谢谢@Thanks!
DaiTian + 1 + 1 谢谢@Thanks!
dyjpxc + 1 + 1 我很赞同!
xiaoxin8 + 1 我很赞同!
danshiyuan + 1 + 1 用心讨论,共获提升!
YcCong + 1 + 1 谢谢@Thanks!
hu957 + 1 + 1 热心回复!
DeFanta + 1 谢谢@Thanks!
dhwl9899 + 1 + 1 谢谢@Thanks!
SSF3002 + 1 + 1 谢谢@Thanks!
Fenzi76 + 1 谢谢@Thanks!
ggg98 + 1 + 1 谢谢@Thanks!
KyZmS + 1 + 1 我很赞同!
a29662167 + 1 我很赞同!
ytw6176 + 1 + 1 用心讨论,共获提升!
qinluezhew3 + 1 + 1 谢谢@Thanks!
FengJonas + 1 热心回复!
seafarer00 + 1 + 1 热心回复!
xiaolong666 + 1 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zuxin521 发表于 2024-3-23 10:16
好高深的呀,我记得以前有个方法是改扩展名后缀,然后用压缩软件提取出来的,是无密码的源文件,现在这个方法还能用吗?
wjbg2022 发表于 2024-3-23 08:11
暴力破解,要破解到什么时候啊!我的每秒1000次,破解了2天才跑完4位的
湿求了鸭 发表于 2024-3-23 08:10
sai609 发表于 2024-3-23 07:25
解密与显卡有啥关系?还非得上独显?

独显浮点性能强,跑得更快
jyjjf 发表于 2024-3-23 08:26
sai609 发表于 2024-3-23 07:25
解密与显卡有啥关系?还非得上独显?

了解一下挖矿为什么要好显卡,挖矿本身就是相当于一种加解密运算
xiaolong666 发表于 2024-3-23 06:43
破解wps文档密码眼
sai609 发表于 2024-3-23 07:25
解密与显卡有啥关系?还非得上独显?
wanderx2012 发表于 2024-3-23 08:00
有没有windows环境解密的教程?
gc66295 发表于 2024-3-23 08:00
好好学习说不定什么时候就用上了
morris1968 发表于 2024-3-23 08:12
显卡和破解有毛关系?
是升级显卡驱动 增加算法功力 降低暴力破解时间?
tsmjg 发表于 2024-3-23 08:22
太难了,电脑跑冒烟了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 09:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表