利用hashcat破解DES-ECB

利用hashcat破解DES-ECB_第1张图片
可爱的hashcat

最新的hashcat beta加入了DES-ECB破解,我们都知道DES的key是64bits的二进制数(包括8bit的校验位),然而hashcat似乎不支持hex password,真的是这样吗?

并不是。

为了方便DES破解,hashcat的作者Jens Steube写了一个专门的DES charset,并把它push到了hashcat repository中了,名字叫DES_full.charset,有了这个charset文件,破解就很方便了,命令如下:

hashcat64.exe -a 3 -m 14000 DES.hash -1 DES_full.charset --hex-charset ?1?1?1?1?1?1?1?1

命令的含义我就不解释了,可以参考官方教程mask_attack

输入的hash文件格式如下:

56A6D56F23E6D23F:8273B71A4B52D51A

即“16bytes明文:16bytes密文”。

另外吐槽一下,hashcat的DES hash必须是上面的格式,多一字节少一字节都不行,感觉这样很不灵活,不过能破解已经很棒啦!为hashcat作者Jens Steube点一万个赞!

关于DES charset


顺便说一下DES_full.charset,内容如下:

01030507090b0d0f11131517191b1d1f21232527292b2d2f31333537393b3d3f41434547494b4d4f51535557595b5d5f61636567696b6d6f71737577797b7d7f81838587898b8d8f91939597999b9d9fa1a3a5a7a9abadafb1b3b5b7b9bbbdbfc1c3c5c7c9cbcdcfd1d3d5d7d9dbdddfe1e3e5e7e9ebedeff1f3f5f7f9fbfdff

为什么charset文件要这么写?

因为DES key每字节的最后一位是校验位,每字节只有7bits有效,共有128种可能,所以DES_full.charset中有128个hex数(前7bits有效)。

但还有个校验位怎么办?很简单,把每个hex数末bit置1就行了。

你可能感兴趣的:(利用hashcat破解DES-ECB)