admin 管理员组

文章数量: 1184232

准备测试环境

准备一个测试用winrar压缩包(test.rar),密码为:heu8(三个小写字母加一个数字)

使用John the Ripper提取压缩包hash

首先需要下载John the Ripper password cracker

截至笔者发稿时,最新的版本为1.9.0-jumbo-1 64-bit Windows binaries。

解压后,找到run目录下的rar2john.exe,执行命令,并得到结果。

rar2john.exe test.rar

test.rar:$rar5$16$e3d3169898c8de133dc529c7633dfb9e$15$b818f86b578212344a330cc1eaecd20c$8$ae59215c1ae23f2e

复制这段hash($rar5$16$e3d3169898c8de133dc529c7633dfb9e$15$b818f86b578212344a330cc1eaecd20c$8$ae59215c1ae23f2e)。

使用hashcat破解

hashcat可以从官网下载( )。最新版的不一定稳定,如果有兼容性问题,可以尝试旧版本。

压缩包的hash以$rar5$开头,表示压缩包使用的算法为rar5,对应hashcat的模式代码为13000。(详见 )

假设已知密码长度是4个字符,且密码字符仅包括小写字母和数字:

hashcat -m 13000 -a 3 $rar5$16$e3d3169898c8de133dc529c7633dfb9e$15$b818f86b578212344a330cc1eaecd20c$8$ae59215c1ae23f2e -1 ?l?d ?1?1?1?1 -d 2 --potfile-disable

参数的含义如下:

-m 13000(必须),hash模式代码13000,对应rar5

-a 3(必须),掩码攻击模式

-1 ?l?d(可选),因为考虑到密码字符可能包括小写字母和数字,所以需要设置用户自定义字符集1。?l(小写字母L)表示全部小写英文字母,?d表示全部数字,这二者都是hashcat的内置字符集。如此设置,表示自定义字符集1包括全部小写字母和数字(a~z 0~9)。

hashcat的全部内置字符集如下

  • ?l = abcdefghijklmnopqrstuvwxyz

  • ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ

  • ?d = 0123456789

  • ?h = 0123456789abcdef

  • ?H = 0123456789ABCDEF

  • ?s = «space»!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

  • ?a = ?l?u?d?s

  • ?b = 0x00 - 0xff

(更多掩码攻击的信息,请参考 )

?1?1?1?1?1,密码的掩码。?1代表用户自定义字符集1中的一个字符。“?1”一共有四组,表示限定密码长度为4个字符。此处也可以直接引用hashcat内置的字符集(见前文)。例如 ?1?1?u?d ,表示前两个字符的范围从用户自定义字符集1中获取,第三个字符的范围是全部大写字母,第四个字符的范围是全部数字。

-d 2(可选),指定破解使用的设备编号,每台电脑上是不同的。

--potfile-disable(可选),破解结束后仅显示结果,不将结果保存到文件。(默认会将结果保存到文件。再次破解相同hash时,会提示你已经破结果,不再重新执行破解过程。)

假设密码长度为2-5个字符,且密码字符仅包括小写字母、大写字母和数字:

hashcat -m 13000 -a 3 $rar5$16$e3d3169898c8de133dc529c7633dfb9e$15$b818f86b578212344a330cc1eaecd20c$8$ae59215c1ae23f2e -1 ?l?u?d ?1?1?1?1?1 -d 2 -i --increment-min=2 --increment-max=5 --potfile-disable

参数的含义如下:

-1 ?l?u?d(可选),用户自定义字符集1,包括小写字母(?l)大写字母(?u)和数字(?d)。

?1?1?1?1?1(必须),掩码最大长度为5。

-i(必须,也可以使用完整写法--increment),允许掩码长度递增。

--increment-min=2(必须),从第2个掩码开始递增。

--increment-max=5(必须),到第5个掩码停止递增。

本文标签: 必须 和数字 小写字母