Crunch普遍用于生成密码字典,配合其他工具使用进行暴力破解。作为kali linux下前十名最常使用的工具之一,用途非常广泛。
-t 命令如下:
-t ‘@’/‘,’/‘%’/‘^’,指定模式,‘@’/‘,’/‘%’/‘^’分别代表意义如下:
@ 插入小写字母
, 插入大写字母
% 插入数字
^ 插入特殊符号
使用实例:(当确定使用的对象类型但不具体知道是那些时可以使用占位符)
例1:
生成缺位的手机号码(有可能作为路由器密码或wifi密码(8-11位))
命令:crunch 11 11 -t 1503453%%%% -o 1.txt 或>> 1.txt(以%位数字占位符)
例2:
crunch 4 4 + + 123 + -t %%@^
生成4位密码,其中格式为”两个数字”+”一个小写字母”+”常见符号”(其中数字这里被指定只能为123组成的所有2位数字组合).比如12f#,32j^,13t$…etc..
Crunch中常用的命令参数
-b —> 按大小分割字典文件,后接20mib/mb/kb 等
-c —> 密码个数
-d —> 限制出现相同元素的个数 如-d 3 代表不会出现aabbbb的情况
-e —> 定义停止生成密码 如 -e abcd 代表到abcd停止生成密码
-f —> 调用密码库文件 如-f charset.lst mixalpha-numeric 代表调用密码库charset.lst中mixalpha-numeric项目字符
-i —> 改变输出格式
-t —> 定义输出格式
-l —> 与-t搭配使用
-p —> 定义密码组合元素
-m —> 与-p搭配使用
-o —> 保存为
-q —> 读取字典
-r —> 从某处重新开始
-s —> 第一个密码从xxx开始
-z —> 打包压缩 格式支持 gzip bzip2 lzma 7z
实验案例
==1.在终端下输入: crunch 1 4 abcd >>2.txt==
意思是生成最小为1,最大为4的由abcd为元素的所有组合,结果导出为2.txt
==2.在终端下输入 crunch 4 5 -p yale test==
意思是生成以”yale””test”为元素的所有密码组合
==3.在终端下输入 crunch 1 4 -o START -c 6000==
意思是生成最小为1位,最大为4位元素为所有小写字母的密码字典的前6000个密码并预估所需时间
==4.在终端下输入 crunch 4 4 abcd + 1234 @#!* -t ^^%@==
意思是生成4位密码,格式为”字符+数字+字母”且字符范围是@#!*,数字范围是1234,字母范围是abcd;
==5.当我们遇到字典文件过大时,我们需要把他们切分成几个文件,这时输入
crunch 3 4 -b 1mib -0 START==
代表以1M进行分割
了解完Crunch的大概内容后,我们可以开始着手本题了.
分析本题
到手后是一份cap,打开流量分析一波没有发现flag.
根据HINT我们会发现这是一道WiFi密码破解,提示密码就是破解出的手机号,手机号已经给出前七位我们可以运用上面的Crunch命令破解;
let’s do it
写好payload后我们已经生成了字典接下来只需要运用好字典破解cap就可.
采用aircrack破解密码,上面提示要我们输入一个数字,我填的3;别问,问就是我也不清楚.
最后解出手机号
!!flag{13910407686}!!{.bulr}