有哪些常见的字典可以用于Hydra的密码破解?

在 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 公司数据泄露事件,涵盖全球最常见的弱密码(如 123456passwordqwerty、生日组合、姓名 + 年份等)。
    • 经过多年筛选,保留了大量实际环境中高频出现的密码,适用于绝大多数基础暴力破解场景(SSH、FTP、Web 表单等)。
  • 适用场景:快速测试目标是否使用弱密码,优先使用前 1 万条(效率更高)。
2. dirb 系列字典(兼顾用户名和密码)
  • 路径/usr/share/wordlists/dirb/
    • common.txt:包含常见用户名(adminroot)和简单密码(123456admin),适合快速验证。
    • small.txt/big.txt:按长度和复杂度分级,small.txt 适合初期快速测试,big.txt 包含更多组合。
  • 特点 :体积小(几千条记录),针对性强,适合目标可能使用 "用户名 = 密码"(如 admin:admin)的场景。
3. metasploit 相关字典
  • 路径/usr/share/metasploit-framework/data/wordlists/
    • unix_passwords.txt:Linux/Unix 系统常见密码(如 toorpassword123)。
    • windows_passwords.txt:Windows 系统常见密码(如 P@ssw0rdAdministrator 对应密码)。
    • username_wordlist.txt:通用用户名字典(系统用户、应用管理员等)。
  • 特点 :按操作系统和服务分类,针对性更强,适合定向破解(如攻击 Windows 主机优先用 windows_passwords.txt)。

二、网络流行公开字典(补充 Kali 自带字典)

若 Kali 自带字典无法满足需求,可下载网络上广泛流传的高质量字典,覆盖更多场景。

1. 弱密码 TOP100/1000/10000(快速测试)
  • 内容 :整理全球范围内最常用的弱密码(如 TOP100 包含 123456123456789111111password 等)。

  • 获取方式

    • 直接搜索 "弱密码 TOP1000" 下载文本文件。

    • 手动创建(适合小范围测试): txt

      复制代码
      # pass_top100.txt 示例
      123456
      password
      12345678
      qwerty
      12345
      1234567890
      123123
      111111
  • 适用场景:快速排查目标是否使用极端弱密码,节省时间。

2. 社工字典(结合目标信息定制)
  • 核心思路:根据目标的个人 / 企业信息(如姓名、生日、手机号、公司名、项目名)生成相关密码(社会工程学破解)。
  • 常见组合规则
    • 姓名首字母 + 生日:zhangsan19900101ls19881225
    • 公司名 + 年份:abc2023techcom123
    • 手机号 / 证件号后 6 位:13800138000800000
  • 获取方式
    • 工具生成:用 cupp(Kali 预装,cupp -i 交互式生成)。
    • 网络下载:针对特定行业(如教育、金融)的社工字典(如 "校园网弱密码字典" 包含学号、生日组合)。
  • 适用场景:已知目标基本信息时(如测试公司内部系统),破解成功率远高于通用字典。
3. 特殊格式字典(符合密码策略)
  • 内容 :针对要求 "长度≥8、包含大小写 + 数字 + 特殊字符" 的密码策略,生成符合规则的密码(如 Admin@123Qwe123!@#)。

  • 获取方式

    • 工具生成: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:adminroot:root)。
    • 网络整理:如 "路由器默认密码大全"(华为、TP-Link 等品牌默认密码)、"数据库默认密码"(MySQL 初始密码 root空密码 等)。
  • 适用场景:攻击未修改默认配置的设备(如老旧路由器、新部署的服务器)。

三、自定义字典(针对性最强,实战必备)

当通用字典无效时,需根据目标特征手动或工具生成自定义字典,核心是 "贴合目标信息"。

1. 手动筛选 / 修改现有字典
  • rockyou.txt 中筛选符合目标特征的密码(如目标是中文环境,保留含拼音、数字的密码)。

  • 替换关键词(如将字典中所有 2023 替换为目标公司成立年份 2010):

    bash

    复制代码
    sed 's/2023/2010/g' rockyou.txt > custom_2010.txt  # 批量替换年份
2. 工具生成(推荐 crunchcupp
  • 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:admin123root:root2023),适合已知部分用户可能使用的密码规则。
  • 生成工具:combo_generator(需安装)或手动创建,适用于 Hydra 的 -C 参数(直接指定组合字典)。

四、字典使用技巧(提高效率)

  1. 按优先级测试:先小后大(先用 TOP1000 弱密码,再用 rockyou.txt,最后用自定义字典),避免浪费时间。
  2. 去重与排序 :用 sort -u 字典名 > 去重后字典名 去除重复条目,减少无效尝试。
  3. 结合目标调整
    • 攻击中文系统:保留含拼音、汉字拼音首字母、手机号的密码。
    • 攻击企业系统:加入公司名、产品名、部门缩写的组合(如 tech_dept2023!)。

总结:不同场景字典选择建议

场景类型 推荐字典 核心优势
快速测试弱密码 弱密码 TOP1000 + rockyou.txt(前 1 万条) 效率高,覆盖常见弱密码
已知目标个人 / 企业信息 cupp 生成的社工字典 + 自定义组合字典 针对性强,破解成功率高
目标有密码复杂度要求 crunch 生成的复杂密码字典 符合策略,避免无效尝试
设备默认密码破解 default-passwords.txt + 品牌专用字典 直击未修改默认配置的目标

选择字典的核心原则:"越贴合目标,效率越高",避免盲目使用超大字典(如全量 rockyou.txt 包含 1400 万条,初期测试可截取前 10 万条提升速度)

相关推荐
馨谙1 小时前
使用 systemd 单元管理容器环境完全指南
linux
RXXW_Dor1 小时前
西门子EtherNet/IP 适配器 通过 EtherNet/IP 将第三方控制系统连接到 SIMATIC S7 控制器
linux·网络·tcp/ip
Mr.H01271 小时前
(上册)TCP 服务器核心流程实操指南
linux·服务器·网络·tcp/ip
执笔论英雄2 小时前
【大模型训练】deepseek MTPpp阶段的输入数据哪里来
学习
DeeplyMind2 小时前
Guest → QEMU → Virglrenderer 调用逻辑分析
linux·驱动开发·虚拟化·virtio-gpu·virglrenderer
chenzhou__2 小时前
LinuxC语言并发程序笔记(第二十天)
linux·c语言·笔记·学习
会飞的土拨鼠呀2 小时前
运维工程师需要具备哪些技能
linux·运维·ubuntu
立志成为大牛的小牛2 小时前
数据结构——四十九、B树的删除与插入
数据结构·学习·程序人生·考研·算法
虎头金猫4 小时前
随时随地处理图片文档!Reubah 加cpolar的实用体验
linux·运维·人工智能·python·docker·开源·visual studio