strikoder/NagoyaSpray
GitHub: strikoder/NagoyaSpray
NagoyaSpray 是一款专为 CTF 和认证考试设计的密码喷洒字典生成工具,能快速生成基于季节和日期的现实密码。
Stars: 15 | Forks: 1
# NagoyaSpray

## 问题所在
你正在考试中途 - OSCP、PNPT、CPTS,无论哪个 - 而你需要喷洒一些密码。时间紧迫。你的选择很糟糕:
1. **使用一个庞大的字典** - 喷洒5万个密码,锁定账户,浪费时间
2. **现场编写正则表达式** - 花10分钟与 `sedawkgrep` 搏斗,同时你的大脑在衰退
当你压力山大且每一分钟都至关重要时,这两个选择都不好。
## 我为什么构建这个工具
遇到过几次完全一样的问题,例如:在来自 Proving Grounds 的 Nagoya 靶机上。需要快速获取季节性密码。开始用一个快速的 bash 单行命令,对那个靶机效果很好。
然后我在其他机器上不断遇到同样的情况。每次都重写类似的正则表达式。所以我用 Python 重写了它。现在它是可重用的,不需要正则表达式,几秒钟内就能生成你需要的内容。
当你在考试中需要 `Winter2024!` 或 `Spring2024!` 时,你不应该把精力浪费在字典生成上。运行工具,然后回去继续破解东西。
## 使用场景
为认证实验室设计(OSCP、PNPT、CPTS),但适用于任何你需要干净的喷洒列表的地方:
- AD 密码喷洒
- CTF 靶机
- 任何时候你需要基于日期的真实密码
## 安装(无需任何依赖!)
**通过 pip 安装**
```
pip3 install nagoyaspray
```
**通过 pipx 安装**
```
pipx install nagoyaspray
```
**克隆仓库:**
```
git clone https://github.com/strikoder/NagoyaSpray.git
cd NagoyaSpray
python3 nagoyaspray.py -h
```
**或者直接获取文件:**
```
wget https://raw.githubusercontent.com/strikoder/NagoyaSpray/refs/heads/main/nagoyaspray.py
chmod +x nagoyaspray.py
python3 nagoyaspray.py -h
```
## 用法

```
# 无参数?查看帮助
python3 nagoyaspray.py
# 示例输出
Example: python3 nagoyaspray.py --seasons --months --start 2020 --end 2025 -s "!" -o passwords.txt
```
**基本示例:**
```
# 带后缀的季节和月份(默认:首字母大写)
python3 nagoyaspray.py --seasons --months --start 2020 --end 2025 -s "!" -o passwords.txt
# 所有带多个后缀的单词类型
python3 nagoyaspray.py --all --start 2023 --end 2024 -s "!,123,@" -o passwords.txt
# 改为添加前缀
python3 nagoyaspray.py --months --start 2024 --end 2024 -p "!" -o passwords.txt
# 仅生成8-12个字符的密码
python3 nagoyaspray.py --seasons --start 2024 --end 2024 -s "!" --min 8 --max 12 -o passwords.txt
# 全部小写密码(无大写)
python3 nagoyaspray.py --months --start 2024 --end 2024 -s "!" --cap lower -o passwords.txt
# 自定义单词
python3 nagoyaspray.py -w "Company,Admin" --start 2023 --end 2024 -s "!" -o passwords.txt
# 同时包含前缀和后缀
python3 nagoyaspray.py --seasons --start 2024 --end 2024 -b "!" -o passwords.txt
```
**标志参数:**
- `--months` - 包含月份
- `--seasons` - 包含季节
- `--days` - 包含星期几
- `--common` - 包含常用词
- `--all` - 包含所有
- `-w` - 自定义逗号分隔的单词
- `--start` / `--end` - 年份范围
- `-s` - 后缀(添加到末尾)
- `-p` - 前缀(添加到开头)
- `-b` - 两者都加(添加到开头和末尾)
- `--cap` - 大写模式:`first`(默认 - 首字母大写)、`lower`(全部小写)、`upper`(全部大写)、`last`(末字母大写)、`all`(所有变体)
- `--min` - 最小密码长度(默认:1)
- `--max` - 最大密码长度(默认:100)
- `-o` - 输出文件(必需)
- `--print` - 打印到标准输出
**注意:** 默认情况下,所有密码的首字母大写(例如 `Winter2024!`)。使用 `--cap lower` 获取全小写或 `--cap upper` 获取全大写。
## 鸣谢
向 [spraygen](https://github.com/3ndG4me/spraygen) 的灵感致敬。这基本上是精简版 - 相同的想法,热量低得多。
**主要区别:**
| 特性 | spraygen | NagoyaSpray |
|------|----------|-------------|
| **依赖项** | 需要外部库 | 零依赖 - 纯 Python |
| **复杂性** | 10+ 种模式,运动队,迭代密钥空间 | 简单专注 - 只提供考试/CTF 需要的功能 |
| **大小写** | 不能只大写末字母 | 默认首字母大写 + 5 种模式(first, last, lower, upper, all) |
| **目标用例** | 通用,选项繁多 | 专为快速 CTF/考试喷洒设计 |
| **速度** | 更重更慢 | 轻量快速 - 秒级生成 |
**v1.1** - 功能与描述一致。
标签:CPTS考试, CTF竞赛, DOS头擦除, OSCP考试, PNPT考试, PoC, 季节性密码, 安全认证, 实用工具, 密码列表生成器, 密码喷洒, 密码破解, 密码策略, 快速生成, 日期密码, 暴力破解, 渗透测试辅助, 网络安全, 轻量级工具, 逆向工具, 隐私保护