admin管理员组

文章数量:1534387

2024年6月25日发(作者:)

找回遗忘的WinRAR密码

杨海鹏,蒋学文,魏铁柱

(辽宁省辽阳市白塔区南郊路21号,辽宁辽阳111000)

摘要院WinRAR是办公常用的压缩软件,同时还具备密码保护功能,处于安全考虑,大多数人会使用

该工具进行文件加密。但当重要文件忘记密码时,一般的WinRAR破解密码工具很难破解打开,利用

Hashcat软件,基于GPU的方式进行破解,恢复了重要文件的密码,并对数字、字符和混合加密破解分

别进行了测试,对WinRAR破解难度和提高加密方式给出了结论。

关键词院Windows系统;Hashcat软件;WinRAR软件;GPU处理器;爆力破解

1概述

表1参数说明表

参数

-m

-a

-o

--force

--show

指定要使用的破解模式

指定要破解的hash类型所对应的id袁0:基于字典的破解模

式曰1:密码中包含可能知道的字符袁组合破解曰3:按给定掩

码位数暴力破解袁可与--increment配合使用

指定破解成功后hash及所对应的明文密码的存放位置袁也

就是它把破解成功的hash写到指定的文件中

忽略破解过程中的警告信息

参数说明

常规的WinRAR破解工具对于简单的密码较为有

效袁计算所消耗的是CPU资源袁效率在每秒几十至几

百不等袁当密码过于复杂时袁破解周期将变得更长袁且

易造成CPU资源消耗巨大袁导致破解失败遥随着高性

能显卡的出现袁GPU的速度越来越快袁使用GPU超强

的运算速度进行密码破解大大提高了破解速度

[2][4]

2WinRAR的压缩方式

[3]

袁RAR3为WinRAR5.0以前版本的压缩方式袁RAR5

为WinRAR5.0以后版本的压缩方式袁其支持大文档压

缩和增强文档安全性遥在文档安全性方面上袁RAR3压

缩的文档使用AES加密算法进行文档加密袁RAR5压缩

的文档使用AES256加密算法进行加密袁两种方式的

hash值不相同袁因此在进行破解时袁需要先判断文件属

于哪种压缩方式袁再进行针对性破解遥

RAR文档的压缩方式分为RAR3和RAR5两种方

显示已经破解的hash及该hash所对应的明文

启用增量破解模式袁让hashcat在指定的密码长度范围内执

行破解过程

--increment

--increment-max密码最大长度袁后面跟一个整数

--remove

-r

删除已被破解成功的hash

使用自定义破解规则

--increment-min密码最小长度袁后面跟一个整数

--outfile-format指定破解结果的输出格式id袁一般自己常用3

不同掩码代表的具体字符及掩码字符集规则说明院

l代表纯小写字母曰u代表纯大写字母曰d代表纯数字曰

h代表常见小写字母和数字曰H代表常见大写字母和数

l?l?l?d?d?d?d表示4位小写字符加4位数字组成的密

字曰s代表特殊字符曰a代表以上所有字符遥例如院?l?

码袁如果知道具体位置的密码可以加入破解掩码内袁

如?l?l?dabcd?d袁表示密码由2位小写字符+1位数字+

abcd+1位数字共8位组成遥

3Hashcat的使用方法

破解的工具袁是世界上最快的开源单机口令恢复平台遥

可在Windows尧Linux和OSX系统上运行袁支持

NVIDIA和AMD显卡袁运行时资源使用率低袁对计算机

正常运行影响较小遥目前袁Hashcat版本已更新至5.1.0

版本袁其已将CPU和GPU破解方式进行了融合袁同时兼

顾了CPU尧GPU尧FPGA等多平台使用袁使用的就是5.1.0

版本遥

对于WinRAR而言袁忘记密码常采用暴力破解

渊Brute-force冤模式

[1]

袁而Hashcat提供掩码暴力破解袁通

常在命令行下进行袁后面跟上相关参数袁常用到的参数

如表1所示遥

Hashcat是一种可以利用GPU对已知hash值进行

4Hashcat的破解过程

计算机环境院处理器i7-9900K袁内存32g袁显卡技

嘉NVIDIA2060RTX6G袁系统64位Windows10遥

4.1安装破解工具

渊1冤下载Hashcat遥下载地址/hash鄄

cat/

[1]

袁实验用的软件版本是5.1.0版本遥

38

2020.01

的动

渊2冤

态库

下载

袁因

OpenCL

此需要

运行时

下载

Opencl_Runtime遥

Hashcat需调用OpenCL

Open鄄

cl_Runtime

实验中使用的是

有Intel

NVIDIA

版本尧

2060

NVIDIAD

RTX

版本和

显卡袁因此下载的

AMD版本袁

是NVIDIAD版本袁下载地址院/

en-us/articles/opencl-drivers袁

4.2

判断

判断

版本为64位15.1遥

RAR

RAR压缩方式

压缩方式需要使用rar2john工具袁该工

具是包含在JohntheRipper工具包里袁JohntheRipper

工具包是一款功能强大的破解工具袁用其判断RAR压

缩方式和hash值遥本例下载的是1.9.0版本袁下载地

址院/get/Security/Decrypting-De鄄

coding/遥

the

在cmd模式下

exe

Ripper

rar分别对应

c:

软件所在文件夹

RAR3

run

和RAR5

c:袁

目录后袁

袁进入John

两种压缩方式的

运行rar2john.

WinRAR

和test2.

文件遥运行结果中袁标记为$RAR3$的为RAR3压缩方

式袁标记为$RAR5$的为RAR5的压缩方式袁后面在两个

冒号之间的数字及字母组合的字符串为对应的hash值遥

4.3

确定压缩方式和

破解RAR密码

hash码后袁在hashcat-5.1.0目录

下袁以cmd模式执行袁后面的参数为-m

12500

后者针对

或-m

RAR5

13000袁

的压缩方式

前者针对

曰再增加

RAR3类型的压缩方式

-a3袁代表掩码方

式破解曰由于只记得密码中包含tmt袁在中间位置袁其

他位是数字袁但不记得具体内容袁所以设置掩码?d?d?

d?dtmt?d?d?d?d曰

加-o控制参数和文件名

破解后密码存放

遥WinRAR

压缩文件为

文件中

RAR5

袁增

缩方式袁整合完整的命令为院-m13000-

a

101bcc9b2d0cb7492242039da4c11

3$rar5$16$21a545ce3998a3d2b4d2bcab5ccef5f1$15$

$8$63f3b4c2018fe510

f26

?d?d?d?dtmt?d?d?d?d

图2中:42052H/S

-袁

代表每秒钟破解

如图1所示遥

42052

个密码袁也就是速度袁其代表了显卡的计算能力曰Sta鄄

tus

为破解成功

代表目前的状态

袁Exhaust

为破解失败

running为正在进行破解

代表

Cracked

RAR

压缩的类型曰d代表开始运行时间曰Estimated

代表预计完成计算的时间遥破解过程中可以按s键袁查

询状态和时间袁按p键袁暂停运算袁按r键袁继续破

解袁按q键袁退出计算遥破解成功后袁打开文

档袁可以看到hash值冒号后面的就是密码袁实例中密

码为1590tmt7890袁使用这个密码即可打开加密的Win鄄

RAR文件遥

图1开始破解

图2破解完成

4.4

为进一步测试破解的速度和能力

进一步测试

袁对不同加密强度

的破解时间分别进行测试袁一组是6位尧8位尧10位的

全数字曰二组是6位尧8位尧10位的全字符曰三组是6

位尧8位尧10位的混合组合袁计算得出下面的破解时间

表袁如表2所示遥

表2破解时间统计表

密码类型位数RAR3预计耗时RAR5预计耗时

6

全数字

10

81

18秒

38

6

2天

分钟

2秒

4

小时37分钟

17

31

小时

2

小时

11

41

小时

分2

全字符

10

883

173

天57

小时

天10

1分钟

小时

6

8

272

17

305

小时

4小时

200

114年27天

混合组合

10

大于

--

10年大于

10

10小时

--

years

2020.01

39

从实验中破解过程可以看出袁数字的破解时间较

短袁混合的破解时间最长曰密码位数少的破解时间短袁

密码位数多的破解时间长曰RAR3的破解时间比RAR5

的破解时间长袁实验中发现RAR3的计算速度为大于

20000次/秒袁RAR5的计算速度为大于40000次/秒遥

4.5将命令整理成批处理文件

为提高效率袁创建bat批处理文件袁命名为Crack鄄

使用时袁将这两个批处理文件和要破解的RAR文

件放置在hashcat-5.1.0目录下袁RAR文件改名为test.

rar袁将含rar2john工具的run文件夹放置在与hashcat-

5.1.0同级目录下袁按规则设置密码掩码袁然后执行批

处理文件即可遥

5结语

和袁两个文件区别在于最后倒

不同的RAR压缩类型调整参数破解遥

批处理代码如下院

基于Windows系统通过一张高性能显卡恢复了忘记

的WinRAR密码袁并进一步对破解难度和时间进行了

测试遥经实验不难得出袁如果能够限定密码的位数和可

能的字符袁可极大地缩短破解时间袁提高破解效率遥同

时也应注意到袁加密和解密是一对矛盾袁为确保文件安

全袁口令要有一定的复杂度和长度袁以提高密码安全性遥

参考文献

[1]白玉龙.基于DCR平台的分布式Hashcat关键技术

研究与实现[D].华南理工大学,2018.

[D].东南大学,2017.

[2]刘军.基于GPU的7-Zip文件破解系统设计与实现

[3]李玲双.加密文档破解系统的设计与实现[D].哈

尔滨工业大学,2017.

[4]陈晓杰,周清雷,李斌.基于多核FPGA的压缩文

12-16].

数第二行的参数不同袁RAR5使用-m13000参数袁针对

@echooff

remfRarFile代表要处理的RAR文件名

setfRarFile=""

echoRAR文件:[%fRarFile%]

remfor使用循环获取两个冒号中的内容

for/f"delims=:,tokens=2"%%iin('..

%fRarFile%')do(

setsHash="%%i"

)

rem对字符串的前后双引号处理

setsHash=%sHash:~1,-1%

echoRAR文件hash值为[%sHash%]

@echoon

-m12500-a3%sHash%?l?l?l?

l?d?d?d?

pause

(上接第17页)

件密码破译[J/OL].计算机应用研究,1-6[2019-

任务中尧实践中尧需求中进行深层次的学习探索袁这

样的方法比从课本上知识点的讲述传递更具有较好的

实战效果遥

对于非计算机专业高级程序设计语言课程改革还需

要不断进行实践探索袁针对不同的专业特点袁实施教学

的覆盖面和侧重点是完全不相同的袁当然还要充分考虑

的非专业学生的现状以及就业问题遥伴随着行业和社会

的需求变化袁高校非计算机专业高级程序设计语言课程

图3

也进入到改革更新的阶段袁要在教学中尧工作中尧实践

中不断总结经验寻求更适宜的课程袁为培养更优秀更加

适应社会需求的人才而努力遥

上段代码的imread函数的使用是此词云图的关键袁

在WordCloud类的常用方法学习的基础上再进行实践

拓展袁进一步学习scipy库的imread函数袁让同学们在

40

2020.01

本文标签: 破解密码进行使用方式