Astrosp/worlit

GitHub: Astrosp/worlit

Worlit 是一款基于个人信息自动生成高命中率密码字典的安全研究工具,帮助渗透测试人员和安全研究人员评估基于个人信息的弱密码风险。

Stars: 0 | Forks: 0

# Worlit — 个人信息密码分析器

一款根据个人信息生成真实密码字典的安全研究工具。
审计密码策略,测试身份验证系统,并演示为何基于个人信息的密码是不安全的。

🌐 在线体验 Python CLI

## 这是什么? **Worlit** 是一款基于 CUPP(Common User Passwords Profiler)风格开发的工具,专为**安全研究人员、Bug Bounty 猎手和渗透测试人员**进行了深度优化。它接收目标的个人信息——例如姓名、出生日期、手机号码、伴侣姓名、所在地区、孩子姓名等——并生成极其精准且真实的密码字典。 大多数人会利用自己容易记住的信息来创建密码:姓名、生日、宠物名,或者是这些信息的简单组合,比如 `John1995!` 或 `iloveJane`。Worlit 正是利用了这种可预测的行为,通过 **基于分层的生成引擎**,优先处理高概率的真实世界模式,然后再回退到通用的组合方式。 ### 核心功能 - 🎯 **优先模式引擎** — 优先使用经过高度调优、数据驱动的模板(例如 `Name+Year`、`Name+@+Year`、`Name+123`)进行生成。确保在列表顶部生成最真实的密码。 - 🔐 **丰富的输入字段** — 支持 12 个以上的变量输入,包括孩子姓名、地区/PIN 码、喜欢的球队/乐队以及幸运数字。 - 🌐 **黑客风格 Web 应用** — 简约的零圆角赛博青色界面。100% 在客户端运行(没有任何数据会离开你的浏览器),可部署到 GitHub Pages。 - 🐍 **Python CLI** — 带有交互模式的命令行工具,适用于基于终端的工作流(例如通过管道传递给 Hashcat/John)。 - 📥 **导出功能** — 将生成的密码字典下载为 `.txt` 文件或复制到剪贴板。 - ⚡ **快速且数量可控** — 使用 Sets 进行严格的去重,准确生成你所需 `count` 数量的密码,避免组合爆炸。 ## Web 应用 该 Web 应用完全在你的浏览器中运行 —— **绝对不会有任何数据被发送到服务器**。 ### 使用方法 1. 输入目标的个人信息(姓名、出生日期、手机号码等) 2. 设置密码数量和长度范围 3. 点击 **Generate Wordlist** 4. 复制结果或将其下载为 `.txt` 文件 ## Python CLI ### 环境要求 - Python 3.6+(无外部依赖) ### 交互模式 ``` python password_generator.py ``` 系统将引导你逐步输入目标信息。 ### 命令行模式 ``` # 基本用法 python password_generator.py --first John --last Doe --dob 15/06/1995 --count 500 # 完整选项 python password_generator.py \ --first John \ --last Doe \ --nick johnny \ --dob 15/06/1995 \ --mobile 9876543210 \ --partner Jane \ --pet Buddy \ --child Timmy \ --company Google \ --team Chelsea \ --area Andheri \ --pin 400001 \ --username johndoe \ --lucky 7,11 \ --keywords "football,batman" \ --count 200 \ --min 8 \ --max 16 \ -o custom_wordlist.txt ``` ### CLI 选项 | 标志 | 描述 | 默认值 | |------|-------------|---------| | `-I`, `--interactive` | 以交互模式运行 | — | | `--first` | 名字 | — | | `--last` | 姓氏 | — | | `--nick` | 昵称 | — | | `--dob` | 出生日期 (DD/MM/YYYY) | — | | `--year` | 出生年份 | — | | `--mobile` | 手机号码 | — | | `--partner` | 伴侣姓名 | — | | `--pet` | 宠物名字 | — | | `--child` | 孩子姓名 | — | | `--company` | 公司或学校 | — | | `--team` | 喜欢的球队或乐队 | — | | `--area` | 街道或地区名称 | — | | `--pin` | PIN 或 ZIP 码 | — | | `--username` | 用户名或昵称 | — | | `--lucky` | 幸运数字(逗号分隔) | — | | `--keywords` | 自定义关键词(逗号分隔) | — | | `--count` | 密码数量 | 200 | | `--min` | 密码最小长度 | 6 | | `--max` | 密码最大长度 | 20 | | `-o`, `--output` | 输出文件名 | wordlist.txt | ## 生成层级与策略 | 层级/策略 | 描述 | 示例 | |---|----------|---------| | **Tier 1** | **显式优先模板** | `John1995`, `John99`, `John@1995`, `John_123` | | **Tier 2** | **通用组合器(已排序)** | `John-1995`, `1995@John`, `John2024` | | **Tier 3** | **批量生成** | `john`, `JOHN`, `p@$$w0rd`, `Doe!@#` | | Strat 1 | **大小写突变** | `john` → `JOHN`, `John`, `johN`, `JohN`, `jOhN` | | Strat 2 | **Leet Speak** | `password` → `p@$$w0rd`, `p4ssw0rd`, `pa$$word` | | Strat 3 | **日期碎片化** | `15/06/1995` → `1506`, `0615`, `95`, `150695`, `1995` | | Strat 4 | **手机号分块** | `9876543210` → `3210`, `9876`, `5432`, `0123456789` | | Strat 5 | **双姓名组合** | `JohnJane`, `JohnBuddy123` | | Strat 6 | **前缀模式** | `iloveJane`, `myBuddy`, `kingJohn`, `mrDoe` | | Strat 7 | **键盘路径** | `johnqwerty`, `asdfJohn`, `John1qaz` | | Strat 8 | **反转与后缀** | `nhoJ`, `John123!`, `Doe!@#`, `john_doe` | ## ⚠️ 免责声明 本工具仅供**授权的安全测试、研究和教育目的**使用。未经授权访问计算机系统是违法行为。
标签:ESC8, Python CLI, 密码字典, 密码审计, 数据可视化, 社会工程学, 自定义脚本, 调试辅助, 逆向工具