ccupp (Chinese Common User Passwords Profiler) intelligently generates a password dictionary based on the target's personal information—more precise than general dictionaries, because most people's passwords contain their own name, birthday, phone number, and other information.
Project address:https://github.com/WangYihang/ccupp
Installation
# 方式 1: 手动安装(ccupp 未发布到 PyPI,需 clone 后本地安装)
git clone https://github.com/WangYihang/ccupp.git
cd ccupp
pipx install .
# 方式 2: 若团队内已分发 f8x CLI(WgpSec 内部工具集,随内网环境提供,本仓库不含其源码与安装方式),
# 可用它一键安装:f8x -install ccupp
Quick Start
# 生成示例配置文件
ccupp init
# 交互式输入目标信息
ccupp interactive
# 从配置文件生成密码
ccupp generate -o passwords.txt
Configuration File Format
Create config.yaml, and fill in the target's social engineering information:
- surname: 张
first_name: 三
phone_numbers:
- '13800138000'
identity: '110101199001011234'
birthdate:
- '1990'
- '01'
- '01'
hometowns:
- 北京
- 海淀
workplaces:
- - 阿里巴巴
- alibaba
educational_institutions:
- - 北京大学
- pku
accounts:
- zhangsan
passwords:
- old_pass123
Every field participates in password combinations—the more information, the more precise the dictionary coverage.
Generation Strategy and Priority
ccupp outputs in order from highest to lowest likelihood; passwords listed earlier have a higher hit rate:
- Old password variants — case/leetspeak/suffix transformations (people tend to make minor adjustments based on old passwords)
- Name + birthday — the most common weak password pattern among Chinese users (
zhangsan1990) - Name + phone number suffix — such as
zs8000、zhangsan138 - Two-component combinations — any two categories of information crossed
- Cultural numbers — component + 520/1314/888/666 (Chinese characteristics)
- Keyboard patterns — qwerty/1qaz2wsx + component
Common Parameters
# 过滤密码长度(配合目标密码策略)
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
Practical Workflow
收集目标信息(姓名/生日/电话/公司)
│
├─ 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
Decision Tree
需要密码字典?
├─ 有目标个人信息 → ccupp generate(定制字典,精准命中)
├─ 无个人信息,通用场景 → SecLists/rockyou.txt
├─ 企业批量弱口令 → 公司名+年份+特殊字符(手工或脚本)
└─ 已有旧密码 → ccupp 旧密码变体策略(填入 passwords 字段)