最近参加看雪的CrackMe挑战赛, 因为我写的CrackMe使用了散列算法. 所以为了测试时间, 在网上发现一个暴力破解密码的好东西, hashcat

刚开始的时候, 我想自己用汇编来写算法, 调用.. 用了最优化的汇编指令, 跑sha512结果还是比hashcat 4倍多.. 看来还是他牛B..破解速度杠杠的. 本来以为使用很复杂, 没想到使用也很简单. 好东西!!

首先去 https://hashcat.net/hashcat/下载程序, 我下载的hashcat是3.10版本, 绿色软件, 在windows Linux都可以运行, 好东西!! 运行hashcat64.exe –help查看详细使用文档.将明文”NpediyB” md5加密, 得到结果. “dccfd5008ef6e7e825193eb0e7b1b834”. 建立一个abcd.txt里面输入密文.然后使用命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
hashcat64.exe -a 3 -m 0 abcd.txt --custom-charset1 ?l?u?d ?1?1?1?1?1?1?1

-a是指定破解方式, 这里我们使用3  Brute-force (掩码暴力破解). 还可以指定明文的长度

increment 原始密文长度限定

例如: increment increment-min 6 increment-max 8

-m 指定加密方式, 具体--help看帮助, 多得很, 几乎常见的算法都有了. 我这里指定0表示使用md5算法.

--custom-charset1表示自定义一个掩码, 支持的掩码很多. 字母数字等等组合都有了, 很方便..

   ?l = abcdefghijklmnopqrstuvwxyz

   ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ

   ?d = 0123456789

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

   ?a = ?l?u?d?s

   ?b = 0x00 - 0xff

后面的?1?1?1?1?1?1?1表示有7个字符组成. 合起来就是破解一个7位字符的md5密码.. 跑到NpediyB在我的机器上花了13分钟, 还是很快了.

image

另外如果专门做暴力破解, 不干其他事情, 那还需要设置一下性能调优.

image

推荐使用: GPU负载 –gpu-loops 1000 字典缓存大小(使用内存) –segment-size 1024 工作负载优化

–gpu-accel 160

基本就是这么多了. 其他的一些东西摸索一下也就会了.. 这个东西还是很牛的.. 做暴力破解的话非常有用. 这边记录下!!

http://www.moonsec.com/post-169.html

http://xlixli.net/?p=410

windows密码破解 hashcat64.exe -m 1000 -a 3 “C:\test\sam.hash” ?d?d?d