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}