mehedi-hasan-sami98/crunch-wordlist-toolkit
GitHub: mehedi-hasan-sami98/crunch-wordlist-toolkit
一个为经典字典生成器 Crunch 提供封装脚本、输入校验和生成日志的工具包,让自定义密码字典的创建过程可复现且更安全。
Stars: 0 | Forks: 0
# Crunch 字典工具包
一个整洁、文档齐全且可复现的工具包,用于使用 **[crunch](https://sourceforge.net/projects/crunch-wordlist/)** 生成自定义字典——这是 Linux 标准的键空间/字典生成器,广泛应用于安全测试、密码强度研究和 CTF 练习。
本仓库不只是单纯提供一个密码列表。它记录了该列表是*如何*生成的,*为什么*选择这些参数,并提供了可复用的脚本,以便任何人都可以在自己的机器上重新生成相同(或自定义)的字典。
## 什么是 `crunch`?
`crunch` 是一个命令行工具,可根据你提供的规则(字符集、长度范围、模式和排列)生成所有可能的字符组合(即“键空间”)。它预装在 Kali Linux 和 Parrot OS 中,并且是大多数渗透测试发行版的一部分。
典型用途:
- 为授权的密码强度审计生成候选字典
- 为 CTF 挑战构建自定义字典
- 对密码熵和策略设计进行学术研究
## 仓库结构
```
crunch-wordlist-toolkit/
├── README.md # You are here
├── LICENSE # MIT license for the code/scripts (not for any list output)
├── CONTRIBUTING.md # How to contribute
├── .gitignore # Keeps generated wordlists out of git history
├── scripts/
│ ├── generate_wordlist.sh # Main wrapper script around crunch
│ └── install_crunch.sh # Installs crunch on Debian/Ubuntu/Kali
├── docs/
│ ├── USAGE.md # Full usage guide + crunch syntax reference
│ └── ETHICS.md # Responsible/legal use guidelines
├── examples/
│ └── example_patterns.md # Sample crunch commands for common scenarios
└── .github/
└── workflows/
└── shellcheck.yml # CI lint for the shell scripts
```
## 快速开始
```
# 1. Clone 仓库
git clone https://github.com//crunch-wordlist-toolkit.git
cd crunch-wordlist-toolkit
# 2. 安装 crunch (Debian/Ubuntu/Kali)
chmod +x scripts/install_crunch.sh
./scripts/install_crunch.sh
# 3. 生成 wordlist
chmod +x scripts/generate_wordlist.sh
./scripts/generate_wordlist.sh -min 8 -max 8 -charset "abcdefghijklmnopqrstuvwxyz0123456789" -out wordlists/custom.txt
```
运行 `./scripts/generate_wordlist.sh -h` 获取完整的选项列表。
## 为什么使用包装脚本而不是原始的 `crunch` 命令?
原始的 `crunch` 命令会变得很长且容易输入错误(`crunch 8 8 -t @@@@%%%% -o list.txt -b 100MB`)。本仓库中的包装脚本可以:
- 在运行前验证你的输入(最小/最大长度,有效的字符集)
- 如果请求的键空间过大,可能会塞满你的磁盘,会向你发出警告
- 将每次生成都记录到 `logs/` 中,包含所使用的确切命令,确保你的字典是可复现的
- 支持自动将大型键空间拆分为固定大小的块 (`-b`)
## 在运行前估算输出大小
在执行完整运行之前,请务必检查 crunch *将要*生成的大小:
```
crunch 8 8 abcdefghijklmnopqrstuvwxyz0123456789 -o /dev/null
```
`crunch` 在生成之前会打印出预估的行数和文件大小——利用这一点来避免用一个几百 GB 的文件塞满你的磁盘。
## 许可证
本仓库中的代码(脚本、文档、CI 配置)基于 [MIT 许可证](LICENSE) 发布。你生成的任何字典输出都是你自己的数据,不受此许可证的约束——你需要对如何存储、共享和使用它负责。
## 免责声明
本项目仅供教育和授权的安全测试目的使用。请参阅 [`docs/ETHICS.md`](docs/ETHICS.md)。
标签:Cutter, Shell脚本, 密码字典, 密码爆破