Skip to main content

CTF-focused password spray wordlist generator for OSCP/PNPT/CPTS

Project description

NagoyaSpray

NagoyaSpray

The Problem

You're mid-exam - OSCP, PNPT, CPTS, whatever - and you need to spray some passwords. Clock's ticking. Your options suck:

  1. Grab a massive wordlist - Spray 50k passwords, lock accounts, waste time
  2. Write regex on the spot - Spend 10 minutes fighting with sedawkgrep while your brain rots

Neither option is good when you're already stressed and every minute matters.

Why I Built This

Hit this exact problem several times, for example: on Nagoya from Proving Grounds. Needed seasonal passwords fast. Started with a quick bash one-liner that worked great for that box.

Then I kept running into the same situation on other machines. Kept rewriting similar regex patterns every time. So I rewrote it in Python. Now it's reusable, no regex required, generates what you need in seconds.

When you need Winter2024! or Spring2024! during an exam, you shouldn't waste mental energy on wordlist generation. Just run the tool and get back to actually breaking stuff.

Use Cases

Built with cert labs in mind (OSCP, PNPT, CPTS) but works anywhere you need clean spray lists:

  • AD password spraying
  • CTF boxes
  • Any time you need realistic date-based passwords

Installation (No requirements needed!!)

Clone the repo:

git clone https://github.com/strikoder/NagoyaSpray.git
cd NagoyaSpray
python3 nagoyaspray.py -h

Or grab the file directly:

wget https://raw.githubusercontent.com/strikoder/NagoyaSpray/refs/heads/main/nagoyaspray.py
chmod +x nagoyaspray.py
python3 nagoyaspray.py -h

Usage

nagoyaspray.py

# No arguments? See the help
python3 nagoyaspray.py

# Example output
Example: python3 nagoyaspray.py --seasons --months --start 2020 --end 2025 -s "!" -o passwords.txt

Basic Examples:

# Seasons + months with suffix (default: first letter capitalized)
python3 nagoyaspray.py --seasons --months --start 2020 --end 2025 -s "!" -o passwords.txt

# All word types with multiple suffixes
python3 nagoyaspray.py --all --start 2023 --end 2024 -s "!,123,@" -o passwords.txt

# Add prefix instead
python3 nagoyaspray.py --months --start 2024 --end 2024 -p "!" -o passwords.txt

# Generate only passwords between 8-12 characters
python3 nagoyaspray.py --seasons --start 2024 --end 2024 -s "!" --min 8 --max 12 -o passwords.txt

# All lowercase passwords (no capitalization)
python3 nagoyaspray.py --months --start 2024 --end 2024 -s "!" --cap lower -o passwords.txt

# Custom words
python3 nagoyaspray.py -w "Company,Admin" --start 2023 --end 2024 -s "!" -o passwords.txt

# Both prefix and suffix
python3 nagoyaspray.py --seasons --start 2024 --end 2024 -b "!" -o passwords.txt

Flags:

  • --months - Include months
  • --seasons - Include seasons
  • --days - Include days of the week
  • --common - Include common words
  • --all - Include everything
  • -w - Custom comma-separated words
  • --start / --end - Year range
  • -s - Suffix (add at end)
  • -p - Prefix (add at start)
  • -b - Both (add at start and end)
  • --cap - Capitalization mode: first (default - first letter capitalized), lower (all lowercase), upper (all uppercase), last (last letter capitalized), all (all variations)
  • --min - Minimum password length (default: 1)
  • --max - Maximum password length (default: 100)
  • -o - Output file (required)
  • --print - Print to stdout instead

Note: By default, all passwords have their first letter capitalized (e.g., Winter2024!). Use --cap lower for all lowercase or --cap upper for all uppercase.

Shoutout

Props to spraygen for inspiration. This is basically the diet version - same idea, way less calories.

Key Differences:

Feature spraygen NagoyaSpray
Dependencies Requires external libraries Zero dependencies - pure Python
Complexity 10+ modes, sports teams, iterative keyspaces Simple and focused - just what you need for an exam/CTF
Capitalization cannot capitalize last letter only First letter capitalized by default + 5 modes (first, last, lower, upper, all)
Target Use Case General purpose with tons of options Built specifically for quick CTF/exam spraying
Speed Heavier and slower Lightweight and fast - generate in seconds

v1.1 - Does what it says on the tin.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nagoyaspray-1.1.0.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nagoyaspray-1.1.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file nagoyaspray-1.1.0.tar.gz.

File metadata

  • Download URL: nagoyaspray-1.1.0.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for nagoyaspray-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e871a6022c00cf5f47ad596680833b5849a8be79d5207c1001eb6d8fa3e6ced4
MD5 bd2242ca9d235a8ddbc0fce47c27e998
BLAKE2b-256 11d396e61b43dde90b0ac0e313bb6cef8cadb2c8fb7ceb33c12b1581d3a7b24a

See more details on using hashes here.

File details

Details for the file nagoyaspray-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: nagoyaspray-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for nagoyaspray-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ff9e76b65b6ac18e0cd6977cc7be3556b3e0886a71f73f31d8c790e0635aac5
MD5 5ff27f17083d78603aea7a1e503ffd6a
BLAKE2b-256 94d90adf12bd871dcd59bc9f326ab130abddd71c0013c34703734d134b4511a7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page