你说的 Crunch 是一个常用的 字典生成工具,主要用于生成密码字典,通常在渗透测试、密码破解等场景中使用。下面我给你一个详细介绍。
Crunch 字典生成工具概述
1. 什么是 Crunch
- Crunch 是一个开源命令行工具,用于生成自定义的字典文件。
- 它可以根据用户定义的规则生成所有可能的字符串组合,比如指定长度、字符集等。
- 适合用于 密码强度测试、暴力破解、渗透测试实验 等。
官方网站:https://sourceforge.net/projects/crunch-wordlist/
2. Crunch 的安装
在 Linux 系统安装
# Debian / Ubuntu
sudo apt update
sudo apt install crunch
# Kali Linux(自带)
crunch -h
编译安装(源码)
wget https://sourceforge.net/projects/crunch-wordlist/files/crunch/3.8/crunch-3.8.tar.gz
tar -xvzf crunch-3.8.tar.gz
cd crunch-3.8
make
sudo make install
3. 基本用法
语法
crunch <min-len> <max-len> [charset] [options]
<min-len>
:生成字符串的最小长度<max-len>
:生成字符串的最大长度[charset]
:使用的字符集,可以自定义(如abc123
)[options]
:输出到文件或其他设置
常用示例
- 生成指定长度的纯数字密码
crunch 4 4 0123456789
- 生成所有 4 位数字组合:
0000
到9999
- 生成指定长度和字符集的密码
crunch 3 5 abc123
- 生成长度 3 到 5 的所有 a、b、c、1、2、3 的组合
- 输出到文件
crunch 3 4 abc123 -o mywordlist.txt
- 使用预定义字符集
-f
可以使用字符集文件(Crunch 自带 charset.lst)
crunch 6 8 -f charset.lst mixalpha-numeric -o wordlist.txt
mixalpha-numeric
是字符集类型,可选:alpha
:小写字母Alpha
:大写字母alpha-numeric
:字母+数字mixalpha
:大小写字母mixalpha-numeric
:大小写字母+数字
- 限制模式
-t
用于指定固定模式,@
表示小写字母,,
表示大写字母,%
表示数字
crunch 5 5 -t @@%%@ -o mypattern.txt
- 输出类似:
aa11a
,ab23b
等模式组合
4. 注意事项
- 生成大型字典文件可能非常大
- 长度大、字符集多时可能生成几 GB 或 TB 的文件
- 可使用管道直接输入给破解工具(如 Hydra、John the Ripper)而不保存文件:
crunch 6 6 abc123 | john --stdin
- 合法使用
- Crunch 本身是合法工具,禁止用于非法破解他人密码
- 性能优化
- 尽量指定字符集和长度范围,避免生成无用的大文件
发表回复