密码破解基本有三种方法:第一种是人工猜解(垃圾桶工程和被动信息收集);
第二种是基于字典暴力破解(主流)
在kali里,是默认自带了字典的,分别放在下面三个文件中:/usr/share/wordlist
/usr/share/wfuzz/wordlist
/usr/share/seclists,有一个password
第三种是键盘空间字符爆破
全键盘空间字符
部分键盘空间字符(基于规则)
数字,小写字母,大写字母,符号,空格,瑞典字符,高位ASCII码.
在kali中我们用crunch来制作密码(注意生成字典的大小,小心撑爆磁盘! 以单纯的8位大小写英文+数组组合,生成的txt大概是1787 TB
):
可以通过图形界面进入crunch目录下面或者直接cd到/pentest/passwords/crunch,然后再执行制作字典操作。
进入crunch的安装目录下面可以看到里面有一个charset.lst文件,里面定义了一些名词 用于简写用于制作字典的字符
如:numeric 表示0123456789 Lalpha表示26位小写字母 Ualpha表示26为大写字母
所以可以在制作字典之前看一下该文件,这样可以简写命令
用法:
./crunch 6 6 0123456789 –o num6.dic//制作6位纯数字字典
其中第一个6表示minnum密码最小长度,第二个6密码最大长度,如果两者一样表示指定长度
-o表示输出。
./crunch 8 8 charset.lst numeric –o num8.dic //制作8位纯数字字典 表示引用charset.lst中的名词简写,其中numeric表示0123456789
./crunch 1 6 charset.lst ualpha –o test.dic //制作1~6位纯大写字母字典
具体案例: