在进行渗透测试时,手动收集密码字典是十分耗时的,利用密码字典生成工具可以大幅缩短时间,提高爆破宽度。
crunch
Kali中自带crunch,Kali的安装参考:【网络安全 | 工具】Kali虚拟机安装教程及报错详析
Crunch是一个常用的密码破解工具,它可以根据指定的字符集、长度和模式生成各种可能的密码并进行暴力破解。同时,Crunch可以将生成的密码保存到文件中,以便在破解工具中使用。
使用教程
基本语法: crunch min-len max-len [options]
1)基本参数(必须)
- min-len:开始的最小长度字符串
- max-len:结束的最大长度字符串
- charset string: 要生成密码包含的字符集(小写字符、大写字符、数字、符号)
2)常用选项[options](可选)
- -o :输出生成的密码到指定的文件;
- -s: 指定开始字符,生成数字类字典时候使用
- -b:按指定的大小单位分割字典文件成若干个指定的大小的字典,避免一个字典文件过大,配合-o START使用
- -c:每个密码字典包含的行数,与 -o START 配合使用
- -f :调用密码库文件,例如:/usr/share/crunch/charset.lst
- -t :定义密码输出格式(@代表插入小写字母、,代表插入大写字母、%代表插入数字、^代表插入特殊符号)
- -z: 压缩生成的字典文件,有效的参数是gzip, bzip2, lzma, and 7z,其中gzip压缩最快,7z压缩速度最慢
- -d:-d x表示连续重复数字或字母不能超过x位
举例如下:
生成一个3位的0~9组成的数字密码字典,输出到pass.txt文件
crunch 3 3 01234566789 -o Desktop/pass.txt
生成一个4位的0~9组成的数字密码字典,分隔每个字典大小为1mb
crunch 4 4 0123456789 -b 1mb -o START
生成一个5位的0~9组成的数字密码字典,分隔每个字典行数为500
crunch 5 5 0987654321 -o START -c 500
生成一个4位的0~9组成的数字密码字典,分隔每个字典行数为10000,连续重复数字不能超过2位
crunch 4 4 0123456789 -o START -d 2 -c 100000
可以看到并没有0111的出现。
使用crunch自带的小写字符集生成4位密码字典,输出到1.txt文件
crunch 4 4 -f /usr/share/crunch/charset.lst lalpha -o Desktop/1.txt
生成一个3位的0~9组成的数字密码字典,从123开始,输出到2.txt文件
crunch 3 3 01234566789 -s 123 -o Desktop/2.txt
随机生成4位字符字典到3.txt中,要求第一位小写、第二位大写、第三位数字、第四位特殊字符
crunch 4 4 -t @,%^ -o Desktop/3.txt
使用crunch自带的小写字符集生成5位密码字典,输出到4.txt文件,第二位要求是字符d
crunch 5 5 -f /usr/share/crunch/charsetset.lst lalpha -t @d@@@ -o 4.txt
注:由于需要生成5位密码字典,所以-t后应是@d@@@,而不是@d或@d@等等
如果字符集路径错误,EXP也可以是:
crunch 5 5 -c abcdefghijklmnopqrstuvwxyz -t @d@@@ -o Desktop/4.txt
随机生成4位字符字典(第一位小写、第二位大写、第三位数字、第四位特殊字符)到5.txt中,最终打包到gzip文件中
crunch 4 4 -t @,%^ -o 5.txt -z gzip
解压即可:
cupp
kali自带cupp,这里介绍如何在windows中下载安装cupp。
安装
在Python3目录下新建cupp文件夹,进入该目录,打开cmd,输入如下命令:
pip install cupp
如果网络错误,则报错如下:
可切换为国内的镜像源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple cupp
至此,cupp就安装完成了。
使用教程
我们可以使用dupp
来查看工具信息:
- -h :常看帮助信息
- -i :通过填写信息创建用户密码字典
- -v :查看版本信息
- -q :安静模式
1、查看帮助信息:
cupp -h
2、查看版本信息:
cupp -v
3、安静模式:
cupp -q
4、创建字典:
cupp -i
surname表示姓
firstname表示名
nickname表示外号
Enter words seperated by comma. [i.e. hacker,security,crack]表示:请输入一系列以逗号分隔的单词,例如hacker,security,crack
在cupp命令执行的目录下,可以查看生成的密码字典文件(以目标用户的姓命名),这里是san
: