有哪些常见的字典可以用于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 万条提升速度)

相关推荐
头疼的程序员30 分钟前
计算机网络:自顶向下方法(第七版)第八章 学习分享(三)
网络·学习·计算机网络
C++ 老炮儿的技术栈32 分钟前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt
_李小白1 小时前
【OSG学习笔记】Day 37: NodeVisitor(顶点访问器)
笔记·学习
爱莉希雅&&&1 小时前
linux中MySQL数据库备份恢复的四种方法(更新中)
linux·数据库·mysql·数据库备份·mysqldumper
coppher1 小时前
Ubuntu 22.04 amd64 离线安装 Docker 完整教程
linux·docker
程序员雷欧2 小时前
大模型应用开发学习第八天
大数据·人工智能·学习
xyz5992 小时前
如何在 WSL 中删除指定版本的 Ubuntu 以及安装
linux·运维·ubuntu
晓晓hh2 小时前
JavaSE学习——set集合和Map映射
学习
亚空间仓鼠2 小时前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
لا معنى له3 小时前
Var-JEPA:联合嵌入预测架构的变分形式 —— 连接预测式与生成式自监督学习 ----论文翻译
人工智能·笔记·学习·语言模型