重见天日,用hashcat来恢复rar密码

2023 Sep 07 See all posts


起因:我以前对文件加密一直喜欢用winrar,虽然知道GnuPG,但是太复杂,要么把密钥搞丢,要么把加密后的文件本身都搞丢了,而且GnuPG还可以多次反复加密也是一个坑,也不直观。

问题来了:某个2005年加密后的文件还在,但是密钥死活记不起来了,只记得当时还搞得挺复杂的,大小写字母,数字,标点都有。

哈,快20年了,尝试过好几次,结果都是——"每冒风驰行,未百步辄返" :(

既然现在显卡这么厉害,和几年前几十年前不可同日而语,是不是应该再冲击一次了?于是就有了下文:

首先用rar2john.exe 对rar进行特征字符串生成,得到形如

zzzz.rar:$RAR3$*0*zzzzzzz*zzzzzzzzzzzzzzzzz:************:0::::e:\code\zzzz.rar

从字符特征来看,2005年的时候肯定只有rar3,rar5出来是以后的事情,没毛病。

尝试:接下来就是漫长的字典碰撞

./hashcat.bin --cpu-affinity=1,2,3,4,5,6,7,8 -a 3 -m 12500 --force '$RAR3$*0*zzzzzzz*zzzzzzzzzzzzzzzzz:************' ?l?l?d?d?d
./hashcat.bin -m 12500 --force '$RAR3$*0*zzzzzzz*zzzzzzzzzzzzzzzzz:************' ?l?l?d?d?d

失败。

把自己常见的密码,比如字母肯定是那几组字母,数字肯定只是常见的那几个如年份吧,收集起来存为字典:
./hashcat.bin -m 12500 --force '$RAR3$*0*zzzzzzz*zzzzzzzzzzzzzzzzz:************' -a 1 eg.dict eg.dict
./hashcat.bin -m 12500 --force '$RAR3$*0*zzzzzzz*zzzzzzzzzzzzzzzzz:************' -a 6 eg.dict eg.dict ?d?d?d?d
依然失败,字典加规则
./hashcat.bin -a 3 -m 12500 --force '$RAR3$*0*zzzzzzz*zzzzzzzzzzzzzzzzz:************' eg.hcmask --rule eg.rule
./hashcat.bin -a 0 -m 12500 --force '$RAR3$*0*zzzzzzz*zzzzzzzzzzzzzzzzz:************' example.dict --rules-file eg.rule

失败。

黔驴技穷,字典还是太小,非常容易遗漏。

走投无路,先休息几天zzZZZ......

想来想去,还是找网上现成的字典靠谱——我等凡夫俗子应该不是天选之子,会设计出一个别人从来没有用过的古怪精灵的密码规则——那样不是给自己过不去吗?

于是马上动手再找,找到Probable-Wordlists,用迅雷把种子拖下来,嚯,字典都是几百M到几个G,靠谱。

然后重新跑。

一天又一天......

奇迹出现

$RAR3$*0*zzzzzzz*zzzzzzzzzzzzzzzzz:************

Session..........: hashcat
Status...........: Cracked
Hash.Name........: RAR3-hp
Hash.Target......: $RAR3$*0*zzzzzzz*zzzzzzzzzzzzzzzzz
Time.Started.....: Wed Sep  6 xx:xx:xx 2023, (1 hour, 34 mins)
Time.Estimated...: Wed Sep  x xx:xx:xx 2023, (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Base.......: File (Top109Million-probable-v2.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:     3969 H/s (99.18ms) @ Accel:1 Loops:16384 Thr:128 Vec:1
Speed.#2.........:     3947 H/s (97.57ms) @ Accel:1 Loops:16384 Thr:128 Vec:1
Speed.#*.........:     7916 H/s
Recovered........: 1/1 (100.00%) Digests
Progress.........: 44886016/109438614 (41.01%)
Rejected.........: 0/44886016 (0.00%)
Restore.Point....: 44871680/109438614 (41.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:245760-262144
Restore.Sub.#2...: Salt:0 Amplifier:0-1 Iteration:212992-229376
Candidate.Engine.: Device Generator
Candidates.#1....: ge$ticul4ti0n -> gatex5537
Candidates.#2....: gatex1994 -> gareggiate4
Hardware.Mon.#1..: Temp: 34c Util:100% Core:1328MHz Mem: 715MHz Bus:16
Hardware.Mon.#2..: Temp: 33c Util:100% Core:1328MHz Mem: 715MHz Bus:16

Started: Wed Sep  6 xx:xx:xx 2023
Stopped: Wed Sep  x xx:xx:xx 2023

conclusion

软件伟大,算力伟大,字典伟大,闪闪发亮的一天

Back to top