用途
ccupp-password-profiler 用于根据目标的个人信息智能生成密码字典。相比通用字典,它更精准,因为大多数人的密码都包含自己的姓名、生日、电话等信息。当需要对目标人员做定向弱口令爆破、社工密码猜测,或者通用弱口令字典不够用需要定制化字典时使用此技能。
底层工具 ccupp(Chinese Common User Passwords Profiler)是中文场景下的密码画像工具。
项目地址:https://github.com/WangYihang/ccupp
安装
方式 1:手动安装(ccupp 未发布到 PyPI,需 clone 后本地安装)
git clone https://github.com/WangYihang/ccupp.git
cd ccupp
pipx install .
方式 2:若团队内已分发 f8x CLI(WgpSec 内部工具集,随内网环境提供,本仓库不含其源码与安装方式),可用它一键安装:
f8x -install ccupp
使用方式
快速开始:
# 生成示例配置文件
ccupp init
# 交互式输入目标信息
ccupp interactive
# 从配置文件生成密码
ccupp generate -o passwords.txt
配置文件格式:创建 config.yaml,填入目标社工信息。
- surname: 张
first_name: 三
phone_numbers:
- '13800138000'
identity: '110101199001011234'
birthdate:
- '1990'
- '01'
- '01'
hometowns:
- 北京
- 海淀
workplaces:
- - 阿里巴巴
- alibaba
educational_institutions:
- - 北京大学
- pku
accounts:
- zhangsan
passwords:
- old_pass123
每个字段都会参与密码组合——信息越多,字典覆盖越精准。
生成策略与优先级
ccupp 按可能性从高到低排序输出,排在前面的密码命中率更高:
- 旧密码变体 — 大小写/leetspeak/后缀变换(人倾向于在旧密码基础上微调)
- 姓名+生日 — 中国用户最常见的弱口令模式(zhangsan1990)
- 姓名+电话尾号 — 如 zs8000、zhangsan138
- 双组件组合 — 任意两类信息交叉
- 文化数字 — 组件 + 520/1314/888/666(中国特色)
- 键盘模式 — qwerty/1qaz2wsx + 组件
常用参数
# 过滤密码长度(配合目标密码策略)
ccupp generate --min-length 8 --max-length 16
# 禁用某些策略(缩小字典体积)
ccupp generate --no-leetspeak --no-cultural --no-keyboard
# JSON 格式输出(便于程序处理)
ccupp generate -f json -o passwords.json
# 查看统计信息
ccupp generate --stats
适用场景与工作流
实战工作流:
- 收集目标信息(姓名/生日/电话/公司)
- 使用 ccupp generate 生成定制字典 passwords.txt
- 用字典爆破:
- zombie -i target -s ssh -u zhangsan -P passwords.txt
- zombie -i target -s rdp -u zhangsan -P passwords.txt
- hydra -l zhangsan -P passwords.txt target ssh
决策树:
- 需要密码字典?
- 有目标个人信息 → ccupp generate(定制字典,精准命中)
- 无个人信息,通用场景 → SecLists/rockyou.txt
- 企业批量弱口令 → 公司名+年份+特殊字符(手工或脚本)
- 已有旧密码 → ccupp 旧密码变体策略(填入 passwords 字段)
限制
- ccupp 未发布到 PyPI,需 clone 后本地安装。
- f8x CLI 为 WgpSec 内部工具集,随内网环境提供,本仓库不含其源码与安装方式。
- 生成效果依赖输入信息的完整度,信息越多字典覆盖越精准。
- 其他功能、收费、价格、平台、效果等事实暂未提供。