anpa1200/personal-pass-generator

GitHub: anpa1200/personal-pass-generator

一款用于授权安全评估的个性化密码候选列表生成器,通过种子值与多种变异策略产出有针对性的密码字典。

Stars: 0 | Forks: 0

# Personal Pass Generator (PPG) 为授权的渗透测试、密码策略审查和安全培训生成具有针对性、个性化的密码候选列表。 PPG 将一小组相关的种子值转化为去重后的候选密码,处理方式包括大小写变体、可选的 leet 替换、组合以及有界的前缀/后缀变异。它同时支持交互式访谈和可重复的命令行工作流。 ## 功能 - 交互式收集姓名、日期、昵称、家人、宠物、公司、职业和难忘的词语 - 可使用可重复的 `--word` 参数进行脚本化生成 - 支持小写、首字母大写、大写以及可选的 leet 变体 - 支持可选的有界前缀/后缀变异 - 支持最小和最大长度过滤 - 输出经过排序和去重 - 除 Python 外无其他运行时依赖 ## 安装说明 PPG 需要 Python 3.9 或更高版本。 ``` git clone https://github.com/anpa1200/personal-pass-generator.git cd personal-pass-generator python -m pip install . ``` 安装后会提供 `ppg` 命令。你也可以直接运行源文件: ``` python PPG_personal_pass_generator.py --help ``` ## 快速入门 启动引导式交互工作流: ``` ppg ``` 通过命令行种子值生成具有针对性的列表: ``` ppg \ --word alice \ --word acme \ --word 1992 \ --leet \ --min-length 8 \ --max-length 14 \ --output alice.wordlist.txt ``` 添加单字符的前缀和后缀变异: ``` ppg --word alice --word acme --symbols --max-affix-length 1 \ --min-length 8 --max-length 14 --output assessment.wordlist.txt ``` ## CLI 参考 | 选项 | 用途 | | --- | --- | | `-w`, `--word VALUE` | 添加种子值;可多次重复以提供多个值 | | `-o`, `--output PATH` | 设置输出路径;默认为 `special_list.txt` | | `--leet` | 在非交互模式下添加 leet-speak 变体 | | `--symbols` | 添加前缀和后缀变异 | | `--max-affix-length {1,2,3}` | 限制变异深度;默认为 `1` | | `--min-length N` | 最小候选长度;默认为 `4` | | `--max-length N` | 最大候选长度;默认为 `12` | 如果未提供 `--word` 值,PPG 将启动交互式工作流。 ## 资源安全 变异深度对输出大小有指数级影响。建议从 `--max-affix-length 1`、两到五个高置信度的种子值以及较窄的长度范围开始测试。深度为 `2` 和 `3` 时会消耗大量的 CPU、内存和磁盘空间。 在评估之前: 1. 确认已获得书面授权及测试范围。 2. 尽量减少收集的个人数据。 3. 生成尽可能小的有效列表。 4. 应用账户锁定和速率限制控制。 5. 在工作结束后安全删除生成的文件。 ## 开发 ``` python -m pip install -e ".[dev]" make check ``` `make check` 会运行 Ruff 和 pytest。GitHub Actions 会在所有受支持的 Python 版本中运行相同的检查。 ## 指南与生态 - [Personal Pass Generator:完整指南](https://medium.com/@1200km/personal-pass-generator-ppg-the-ultimate-tool-for-custom-password-lists-4979a3a1385c) - [使用 Crowbar 和 PPG 进行授权 RDP 测试](https://medium.com/@1200km/accessing-remote-desktops-a-beginner-s-guide-to-rdp-cracking-with-crowbar-and-ppg-tools-5f50027115b7) - [1200km PT 工具与技术](https://1200km.com/pt-tools.html) - [1200km 安全研究生态](https://1200km.com/) - [原版 Passwords Toolkit](https://github.com/anpa1200/Passwords) ## Kali Linux 提交 该代码库包含了位于 [`debian/`](debian/) 目录下的 Debian/Kali 软件包元数据,以及一份完整的 [Kali 新工具请求草案](docs/kali-new-tool-request.md)。 ## 许可证 版权所有 (C) Andrey Pautov。 基于 [GNU General Public License v3.0 or later](LICENSE) 授权。
标签:Python, 安全规则引擎, 密码学, 手动系统调用, 文档结构分析, 无后门, 逆向工具