在 Hydra 密码破解中,字典的质量直接决定破解效率。以下是常见的字典类型、来源及适用场景,涵盖 Kali 自带字典、网络流行字典、自定义生成字典等,适合实战中根据目标灵活选择:
一、Kali Linux 自带字典(开箱即用,优先推荐)
Kali 作为渗透测试专用系统,预装了大量经过实战验证的字典,路径集中在 /usr/share/wordlists/,无需额外下载即可使用。
1. rockyou.txt(最经典弱密码字典)
- 路径 :
/usr/share/wordlists/rockyou.txt.gz(需解压) - 解压命令 :
gunzip /usr/share/wordlists/rockyou.txt.gz - 特点 :
- 包含约 1400 万条记录,源自 2009 年 RockYou 公司数据泄露事件,涵盖全球最常见的弱密码(如
123456、password、qwerty、生日组合、姓名 + 年份等)。 - 经过多年筛选,保留了大量实际环境中高频出现的密码,适用于绝大多数基础暴力破解场景(SSH、FTP、Web 表单等)。
- 包含约 1400 万条记录,源自 2009 年 RockYou 公司数据泄露事件,涵盖全球最常见的弱密码(如
- 适用场景:快速测试目标是否使用弱密码,优先使用前 1 万条(效率更高)。
2. dirb 系列字典(兼顾用户名和密码)
- 路径 :
/usr/share/wordlists/dirb/common.txt:包含常见用户名(admin、root)和简单密码(123456、admin),适合快速验证。small.txt/big.txt:按长度和复杂度分级,small.txt适合初期快速测试,big.txt包含更多组合。
- 特点 :体积小(几千条记录),针对性强,适合目标可能使用 "用户名 = 密码"(如
admin:admin)的场景。
3. metasploit 相关字典
- 路径 :
/usr/share/metasploit-framework/data/wordlists/unix_passwords.txt:Linux/Unix 系统常见密码(如toor、password123)。windows_passwords.txt:Windows 系统常见密码(如P@ssw0rd、Administrator对应密码)。username_wordlist.txt:通用用户名字典(系统用户、应用管理员等)。
- 特点 :按操作系统和服务分类,针对性更强,适合定向破解(如攻击 Windows 主机优先用
windows_passwords.txt)。
二、网络流行公开字典(补充 Kali 自带字典)
若 Kali 自带字典无法满足需求,可下载网络上广泛流传的高质量字典,覆盖更多场景。
1. 弱密码 TOP100/1000/10000(快速测试)
-
内容 :整理全球范围内最常用的弱密码(如 TOP100 包含
123456、123456789、111111、password等)。 -
获取方式 :
-
直接搜索 "弱密码 TOP1000" 下载文本文件。
-
手动创建(适合小范围测试): txt
# pass_top100.txt 示例 123456 password 12345678 qwerty 12345 1234567890 123123 111111
-
-
适用场景:快速排查目标是否使用极端弱密码,节省时间。
2. 社工字典(结合目标信息定制)
- 核心思路:根据目标的个人 / 企业信息(如姓名、生日、手机号、公司名、项目名)生成相关密码(社会工程学破解)。
- 常见组合规则 :
- 姓名首字母 + 生日:
zhangsan19900101、ls19881225 - 公司名 + 年份:
abc2023、techcom123 - 手机号 / 证件号后 6 位:
13800138000→800000
- 姓名首字母 + 生日:
- 获取方式 :
- 工具生成:用
cupp(Kali 预装,cupp -i交互式生成)。 - 网络下载:针对特定行业(如教育、金融)的社工字典(如 "校园网弱密码字典" 包含学号、生日组合)。
- 工具生成:用
- 适用场景:已知目标基本信息时(如测试公司内部系统),破解成功率远高于通用字典。
3. 特殊格式字典(符合密码策略)
-
内容 :针对要求 "长度≥8、包含大小写 + 数字 + 特殊字符" 的密码策略,生成符合规则的密码(如
Admin@123、Qwe123!@#)。 -
获取方式 :
-
工具生成:
crunch(Kali 预装,按规则生成)、hashcat的掩码攻击字典。 -
示例(
crunch命令):bash
crunch 8 10 -d 2@ -u -t @%^12345 # 生成8-10位,含大写(@)、小写(%)、特殊字符(^)和数字
-
-
适用场景:目标有明确密码策略时(如企业内网强制复杂密码),避免无效尝试。
4. 漏洞相关字典(针对特定应用)
- 内容:针对知名应用 / 设备的默认密码(如路由器、摄像头、数据库的出厂密码)。
- 常见来源 :
default-passwords.txt(Kali 路径:/usr/share/wordlists/default-passwords.txt):包含常见设备默认凭据(如admin:admin、root:root)。- 网络整理:如 "路由器默认密码大全"(华为、TP-Link 等品牌默认密码)、"数据库默认密码"(MySQL 初始密码
root、空密码等)。
- 适用场景:攻击未修改默认配置的设备(如老旧路由器、新部署的服务器)。
三、自定义字典(针对性最强,实战必备)
当通用字典无效时,需根据目标特征手动或工具生成自定义字典,核心是 "贴合目标信息"。
1. 手动筛选 / 修改现有字典
-
从
rockyou.txt中筛选符合目标特征的密码(如目标是中文环境,保留含拼音、数字的密码)。 -
替换关键词(如将字典中所有
2023替换为目标公司成立年份2010):bash
sed 's/2023/2010/g' rockyou.txt > custom_2010.txt # 批量替换年份
2. 工具生成(推荐 crunch 和 cupp)
-
crunch:按长度、字符集、模板生成字典(适合规则明确的场景)bash
crunch 6 6 0123456789 -o 6digit_pin.txt # 生成6位纯数字(如PIN码、验证码) crunch 8 8 -t company%%% # 生成前7位为"company",第8位任意小写字母(如companya、companyb) -
cupp:交互式生成社工字典(适合已知目标个人信息)bash
cupp -i # 启动交互式模式,依次输入目标姓名、生日、手机号等,自动生成相关密码组合
3. 组合字典(用户名:密码 对应关系)
- 格式:每行
用户名:密码(如admin:admin123、root:root2023),适合已知部分用户可能使用的密码规则。 - 生成工具:
combo_generator(需安装)或手动创建,适用于 Hydra 的-C参数(直接指定组合字典)。
四、字典使用技巧(提高效率)
- 按优先级测试:先小后大(先用 TOP1000 弱密码,再用 rockyou.txt,最后用自定义字典),避免浪费时间。
- 去重与排序 :用
sort -u 字典名 > 去重后字典名去除重复条目,减少无效尝试。 - 结合目标调整 :
- 攻击中文系统:保留含拼音、汉字拼音首字母、手机号的密码。
- 攻击企业系统:加入公司名、产品名、部门缩写的组合(如
tech_dept2023!)。
总结:不同场景字典选择建议
| 场景类型 | 推荐字典 | 核心优势 |
|---|---|---|
| 快速测试弱密码 | 弱密码 TOP1000 + rockyou.txt(前 1 万条) | 效率高,覆盖常见弱密码 |
| 已知目标个人 / 企业信息 | cupp 生成的社工字典 + 自定义组合字典 | 针对性强,破解成功率高 |
| 目标有密码复杂度要求 | crunch 生成的复杂密码字典 | 符合策略,避免无效尝试 |
| 设备默认密码破解 | default-passwords.txt + 品牌专用字典 | 直击未修改默认配置的目标 |
选择字典的核心原则:"越贴合目标,效率越高",避免盲目使用超大字典(如全量 rockyou.txt 包含 1400 万条,初期测试可截取前 10 万条提升速度)