你说的 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]:输出到文件或其他设置

常用示例

  1. 生成指定长度的纯数字密码
crunch 4 4 0123456789

  • 生成所有 4 位数字组合:00009999
  1. 生成指定长度和字符集的密码
crunch 3 5 abc123

  • 生成长度 3 到 5 的所有 a、b、c、1、2、3 的组合
  1. 输出到文件
crunch 3 4 abc123 -o mywordlist.txt

  1. 使用预定义字符集
  • -f 可以使用字符集文件(Crunch 自带 charset.lst)
crunch 6 8 -f charset.lst mixalpha-numeric -o wordlist.txt

  • mixalpha-numeric 是字符集类型,可选:
    • alpha:小写字母
    • Alpha:大写字母
    • alpha-numeric:字母+数字
    • mixalpha:大小写字母
    • mixalpha-numeric:大小写字母+数字
  1. 限制模式
  • -t 用于指定固定模式,@ 表示小写字母,, 表示大写字母,% 表示数字
crunch 5 5 -t @@%%@ -o mypattern.txt

  • 输出类似:aa11a, ab23b 等模式组合

4. 注意事项

  1. 生成大型字典文件可能非常大
    • 长度大、字符集多时可能生成几 GB 或 TB 的文件
    • 可使用管道直接输入给破解工具(如 Hydra、John the Ripper)而不保存文件:
    crunch 6 6 abc123 | john --stdin
  2. 合法使用
    • Crunch 本身是合法工具,禁止用于非法破解他人密码
  3. 性能优化
    • 尽量指定字符集和长度范围,避免生成无用的大文件