今天老杨要向各位同行隆重介绍这款被誉为"字典生成器中的变形金刚"——PyDictor。它不仅是一个工具,更像是渗透测试工程师的"军火库"。首先必须强调:PyDictor就像一把双刃剑。虽然它挂着GPLv3的开源许可证(意味着你可以自由研究、修改和分发),但作者LandGrey在README里写得明明白白——未经授权对他人系统进行暴力破解是违法行为。这就好比虽然菜刀家家都有,但拿着它上街就是另一回事了。
项目目录结构清晰,采用模块化设计,便于维护和扩展:
/pydictor
├── core/ # 核心功能模块
├── lib/ # 库文件,包括数据、函数、解析等
│ ├── data/ # 数据文件,如配置、文本
│ ├── fun/ # 函数文件,包括装饰器、工具函数
│ ├── parse/ # 解析文件,包括命令行解析
│ └── encode/ # 编码脚本文件夹
├── plugins/ # 插件脚本文件夹
├── tools/ # 工具脚本文件夹
├── funcfg/ # 功能配置文件,如leet_mode.conf、extend.conf
├── docs/ # 文档文件夹
├── wordlist/ # 字典文件夹,包含预定义的弱密码列表
└── pydictor.py # 主脚本
支持多种字典生成方式:
提供以下字典处理功能:
leet_mode.conf
和 extend.conf
来定义生成规则。wordlist/
。plugins/
、tools/
和 encode/
添加自定义脚本。git clone --depth=1 --branch=master https://github.com/LandGrey/pydictor.git
cd pydictor
python pydictor.py
PyDictor最拿手的就是生成各种"对症下药"的字典:
生成的字典还需要"精加工":
# 典型工作流示例
pydictor -tool uniqbiner /tmp/dict.txt # 去重
pydictor -tool hybrider /tmp/dict.txt --minlen 6 # 长度过滤
pydictor -tool counter /tmp/dict.txt --top 100 # 词频统计
配置文件/lib/data/
目录下可以:
在做授权渗透测试时,我常用这个组合拳:
# 先收集公司公开信息
pydictor --sedb --input company_info.txt
# 然后叠加基础字典
pydictor -base d -o final_dict.txt
# 最后用掩码规则强化
pydictor -plug my_custom_plugin.py
帮客户检查密码策略时,会这样生成测试集:
pydictor --lenmin 8 --lenmax 12 --charkind 234
# 其中:
# 2=小写字母 3=大写字母 4=数字
# 这样生成的字典完全符合常见密码复杂度要求
--filter
精简字典规模--slice 100m
分割文件仓库地址: https://github.com/LandGrey/pydictor
pydictor 是一个功能强大、易于使用的字典生成工具,特别适合于暴力破解攻击和安全测试场景。其模块化设计和高度自定义能力使其在渗透测试和网络安全教育中具有重要价值。