首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >推荐一款安全领域的攻城利器,渗透测试“字典军火库”,解锁密码爆破新姿势

推荐一款安全领域的攻城利器,渗透测试“字典军火库”,解锁密码爆破新姿势

作者头像
IT运维技术圈
发布2025-06-28 14:29:01
发布2025-06-28 14:29:01
12600
代码可运行
举报
文章被收录于专栏:IT运维技术圈IT运维技术圈
运行总次数:0
代码可运行

今天老杨要向各位同行隆重介绍这款被誉为"字典生成器中的变形金刚"——PyDictor。它不仅是一个工具,更像是渗透测试工程师的"军火库"。首先必须强调:PyDictor就像一把双刃剑。虽然它挂着GPLv3的开源许可证(意味着你可以自由研究、修改和分发),但作者LandGrey在README里写得明明白白——未经授权对他人系统进行暴力破解是违法行为。这就好比虽然菜刀家家都有,但拿着它上街就是另一回事了。

架构解析 🏗

项目结构分析 

项目目录结构清晰,采用模块化设计,便于维护和扩展:

代码语言:javascript
代码运行次数:0
运行
复制
/pydictor
├── core/          # 核心功能模块
├── lib/           # 库文件,包括数据、函数、解析等
│   ├── data/      # 数据文件,如配置、文本
│   ├── fun/       # 函数文件,包括装饰器、工具函数
│   ├── parse/     # 解析文件,包括命令行解析
│   └── encode/    # 编码脚本文件夹
├── plugins/       # 插件脚本文件夹
├── tools/         # 工具脚本文件夹
├── funcfg/        # 功能配置文件,如leet_mode.conf、extend.conf
├── docs/          # 文档文件夹
├── wordlist/      # 字典文件夹,包含预定义的弱密码列表
└── pydictor.py    # 主脚本

核心特性 ⚙

字典生成功能 

支持多种字典生成方式:

  • • 通用爆破字典:生成常见密码组合,如数字、字母或混合字符。
  • • 自定义字典:基于Web内容或用户定义规则生成。
  • • 社会工程学字典:根据目标信息(如生日、姓名)生成针对性字典。

内置工具 

提供以下字典处理功能:

  • • 安全删除(safe delete)
  • • 合并(merge)
  • • 去重(unique)
  • • 合并并去重(merge and unique)
  • • 统计词频(count word frequency)

高度自定义 

  • • 配置文件:支持修改 leet_mode.conf 和 extend.conf 来定义生成规则。
  • • 自定义字典:用户可添加自己的弱密码列表到 wordlist/
  • • leet模式:支持字符替换(如将“a”替换为“@”)。
  • • 过滤条件:支持按长度、字符出现次数、字符类型或正则表达式过滤。
  • • 扩展脚本:用户可在 plugins/tools/ 和 encode/ 添加自定义脚本。

跨平台兼容性 

  • • 支持 Windows、Linux 和 Mac。
  • • 兼容 Python 2.7 和 3.x,无需额外依赖。

部署指南 🚀

前置条件

  • • Python 版本:2.7 或 3.x
  • • 操作系统:Windows、Linux、Mac
  • • 网络:无需网络连接,离线运行

安装步骤 

  1. 1. 克隆仓库
代码语言:javascript
代码运行次数:0
运行
复制
git clone --depth=1 --branch=master https://github.com/LandGrey/pydictor.git
  1. 2. 进入目录
代码语言:javascript
代码运行次数:0
运行
复制
cd pydictor
  1. 3. 运行脚本
代码语言:javascript
代码运行次数:0
运行
复制
python pydictor.py

使用示例🤔

1. 字典生成的艺术

PyDictor最拿手的就是生成各种"对症下药"的字典:

  • • 基础爆破字典:能按照字符集、长度等参数生成常规组合
  • • Web内容抓取:自动从网页中提取关键词生成针对性字典
  • • 社会工程学特供:结合个人信息(如生日、宠物名)生成高命中率组合

2. 字典"后处理"车间

生成的字典还需要"精加工":

代码语言:javascript
代码运行次数:0
运行
复制
# 典型工作流示例
pydictor -tool uniqbiner /tmp/dict.txt  # 去重
pydictor -tool hybrider /tmp/dict.txt --minlen 6  # 长度过滤
pydictor -tool counter /tmp/dict.txt --top 100  # 词频统计

3. 高度定制化能力

配置文件/lib/data/目录下可以:

  • • 添加自定义字符集
  • • 修改默认规则
  • • 启用leet模式(把"password"变成"p@ssw0rd"这类变形)

实战技巧分享

场景一:企业安全演练

在做授权渗透测试时,我常用这个组合拳:

代码语言:javascript
代码运行次数:0
运行
复制
# 先收集公司公开信息
pydictor --sedb --input company_info.txt
# 然后叠加基础字典
pydictor -base d -o final_dict.txt
# 最后用掩码规则强化
pydictor -plug my_custom_plugin.py

场景二:密码策略评估

帮客户检查密码策略时,会这样生成测试集:

代码语言:javascript
代码运行次数:0
运行
复制
pydictor --lenmin 8 --lenmax 12 --charkind 234
# 其中:
# 2=小写字母 3=大写字母 4=数字
# 这样生成的字典完全符合常见密码复杂度要求

截图

extend
extend
conf
conf
social engineering dictionary builder
social engineering dictionary builder

进阶玩法

  1. 1. 插件开发:用Python写自定义生成逻辑,比如根据客户业务特点生成行业术语变体
  2. 2. 编码转换:内置的编码模块支持md5、sha1等哈希预处理
  3. 3. 组合爆破:配合Hydra等工具使用时可先通过--filter精简字典规模

注意事项

  1. 1. 性能调优:生成超大型字典时建议用--slice 100m分割文件
  2. 2. 法律风险:所有使用必须获得书面授权,建议只在本地测试环境使用
  3. 3. 替代方案:对于简单需求,可以考虑Crunch或CeWL等轻量级工具

地址🪈

仓库地址: https://github.com/LandGrey/pydictor

总结与展望 📝

pydictor 是一个功能强大、易于使用的字典生成工具,特别适合于暴力破解攻击和安全测试场景。其模块化设计和高度自定义能力使其在渗透测试和网络安全教育中具有重要价值。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT运维技术圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 架构解析 🏗
    • 项目结构分析 
  • 核心特性 ⚙
    • 字典生成功能 
    • 内置工具 
    • 高度自定义 
    • 跨平台兼容性 
  • 部署指南 🚀
    • 前置条件
    • 安装步骤 
  • 使用示例🤔
    • 1. 字典生成的艺术
    • 2. 字典"后处理"车间
    • 3. 高度定制化能力
  • 实战技巧分享
    • 场景一:企业安全演练
    • 场景二:密码策略评估
  • 截图
  • 进阶玩法
  • 注意事项
  • 地址🪈
  • 总结与展望 📝
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档