在Kali中生成"所有长度"的爆破字典(如1-8位所有组合)需要谨慎:仅限用于破解自有设备的密码或授权渗透测试。对于8位大小写字母+数字的组合,文件大小将超过1000TB,不切实际,因此需采用按需生成或动态生成的策略。
以下是三种核心方法:
· 1. crunch(标准预设,最常用)
生成8位所有组合极度巨大。实用方案是限定字符集,并利用管道直接喂给破解工具(如aircrack-ng),不保存中间文件。
```bash
生成1-8位纯数字(约1亿条),直接通过管道使用
crunch 1 8 0123456789 | aircrack-ng -w - -b 目标MAC 握手包.cap
生成4-6位小写字母,输出到文件
crunch 4 6 abcdefghijklmnopqrstuvwxyz -o 字典.txt
```
· 2. hashcat 掩码攻击(最聪明)
不生成字典,而是在破解时实时计算所有组合,效率极高,且无硬盘空间限制。
```bash
破解8位全数字(?d?d?d?d?d?d?d?d)
hashcat -m 2500 握手包.hccapx -a 3 ?d?d?d?d?d?d?d?d
破解8位小写字母+数字(?l?l?l?l?l?l?l?d)
hashcat -m 2500 握手包.hccapx -a 3 ?l?l?l?l?l?l?l?d
```
· 3. 动态生成(避免爆硬盘)
使用crunch配合|管道,或使用john的--stdout和--pipe参数,让字典生成器与破解程序同时运行。
重要建议:现实世界中,没有人会生成所有长度的完整字典。更有效的策略是:
· 限制长度:WPA2密码至少8位,8-10位已足够。
· 优先"弱密码":使用rockyou.txt(/usr/share/wordlists/rockyou.txt.gz)包含常见弱密码。
· 组合规则:用基础字典 + john --rules 生成变形,比纯暴力快得多。
总结:如果你要破解8位纯数字WiFi,直接用hashcat -a 3 ?d?d?d?d?d?d?d?d;如果是为了学习字典结构,先用crunch 1 3 012生成小样本文件查看格式即可。切勿尝试生成1-8位完整字母数字字典。