Password list generator for password spraying - prebaked with goodies

Overview

Spraygen

Password list generator for password spraying - prebaked with goodies

Version 1.5

Generates permutations of Months, Seasons, Years, Sports Teams (NFL, NBA, MLB, NHL), Sports Scores, "Password", and even Iterable Keyspaces of a specified size.

All permutations are generated with common attributes appended/prepended (such as "!" or "#"), or custom separators (such as "." or "_").

Common letter replacement option (change all A -> 4/@ for example)

Users can extend the attributes and separators using comma delimited lists of characters.

Spraygen also accepts single words or external wordlists that allow you to generate tuned custom wordlists in addition to what is already provided.

You could use tools like crunch, a fancy bash loop over SecLists, or whatever have you but that takes time...this one is made for spraying, so get to it!

python3 spraygen.py -h
     _
    (  \_
    (    \_
    (       \_  
    (         \_            ___
    ( Password   \         |   |
    (   Spray     |คคคคคคคค|___|
    (           _ /          |
    (       _ /         /~~~~~~~~~\
    (   _ /            (  Spray    )
    (_/                 |  This   |
                        |         |
                        | Get     |
                        |  Creds  |
                        |_________|

    Original Art by Alex Chudnovsky (Unaffiliated)
    Spraygen tool by 3ndG4me
    Version 1.5
    
usage: spraygen.py [-h] [--year_start YEAR_START] [--year_end YEAR_END] [-s separators] [-a attributes] [-w wordlist] [-n single word]
                   [--mode {all,nosep,noattr,years,plain,letter,custom}]
                   [--type {all,iterative,sports,nfl,nba,mlb,nhl,months,seasons,password,custom} [{all,iterative,sports,nfl,nba,mlb,nhl,months,seasons,password,custom} ...]]
                   [--iter {ascii,num,spec,asciinum,asciispec,numspec,full}] [--size SIZE] [--min_length MIN_LENGTH] [--max_length MAX_LENGTH]
                   [-o output file] [-p] [--sort {nosort,asc,desc,random}] [-v]

Parse Spray List Arguments.

optional arguments:
  -h, --help            show this help message and exit
  --year_start YEAR_START
                        starting year for a range of years
  --year_end YEAR_END   ending year for a range of years
  -s separators         a comma delimited list of one or more separators
  -a attributes         a comma delimited list of one or more attributes
  -w wordlist           path to a custom wordlist
  -n single word        single custom word to generate a custom wordlist with
  --mode {all,nosep,noattr,years,plain,letter,custom}
                        Mode for list generation. Can be all, no separators, no attributes, only years, plain, letter, or custom (will only use parameters
                        passed into -s or -a).
  --type {all,iterative,sports,nfl,nba,mlb,nhl,months,seasons,password,custom} [{all,iterative,sports,nfl,nba,mlb,nhl,months,seasons,password,custom} ...]
                        Type of list to generate. Can be all, iterative, sports, nfl, nba, mlb, nhl, months, seasons, password, or custom. Choosing 'all'
                        executes all options except for 'iterative' which must be run manually.
  --iter {ascii,num,spec,asciinum,asciispec,numspec,full}
                        Keyspace mode for iterative list generation. Only works when --type is set to 'iterative'. Can be ascii, num, spec, asciinum,
                        asciispec, numspec, or full. Will generate all permutations of the selected keyspace with a given length set with the --size
                        parameter.
  --size SIZE           Length of passwords generated by a set keyspace. Only works when --type is set to 'iterative' and an --iter keyspace mode is set.
  --min_length MIN_LENGTH
                        Minimum length of passwords to include in the list. (Default: 1)
  --max_length MAX_LENGTH
                        Maximum length of passwords to include in the list (Default: 999)
  -o output file        name of a file to create and write the final output to
  -p                    prints the output line by line as plaintext
  --sort {nosort,asc,desc,random}
                        Sort final output. Sorting methods supported are nosort, asc, desc, random.
  -v                    prints the current version of spraygen and exits

Basic Usage

  1. Install dependencies pip3 install -r requirements.txt
  2. Run python3 spraygen.py -p - this will generate all default built in wordlists with all permutations and print them to the screen

Usage Recommendations

Credits

  • @MarkoH17 - for the boolean python3.8 backwards compatibility fix
  • @absolomb - for enhancing type selection and attribute logic in year generation
Comments
  • Empty output file after generating iterative list

    Empty output file after generating iterative list

    Hello, again.

    Hope you're all well.

    I managed to pick some parameters which don't generate an error. However, it doesn't generate any output, either.

    Here's what I got...

    $ >python3 spraygen.py --type iterative --mode plain --sort random --max_length=2 --iter=ascii -o "PasswordList_$(date +%y%m%d@%H%M%S).txt"
    
         _
        (  \_
        (    \_
        (       \_  
        (         \_            ___
        ( Password   \         |   |
        (   Spray     |คคคคคคคค|___|
        (           _ /          |
        (       _ /         /~~~~~~~~~\
        (   _ /            (  Spray    )
        (_/                 |  This   |
                            |         |
                            | Get     |
                            |  Creds  |
                            |_________|
    
        Original Art by Alex Chudnovsky (Unaffiliated)
        Spraygen tool by 3ndG4me
        Version 1.6
        
    [*] Info: Year Start not provided, setting to current year...
    [*] Info: Year End not provided, setting to current year...
    [*] Info: Generating PLAIN list...
    [*] Info: Generating ITERATIVE list...
    [*] Info: List size will be: 4
    [*] Info: List keyspace will be: ascii
    [*] Info: This is generating literally every permutation in that keyspace, this will take some time...
    [*] Info: Generating ascii keyspace list |################################| 100%
    [+] Success: --- generated iterative in 66.94957995414734 seconds ---
    [*] Info: Skipping separators and attributes...
    [*] Info: Adding new generated items to the list...
    [*] Info: Adding relevant attribute/separator permutations to final list, this could take some time...
    [*] Info: Progress |################################| 100%
    [+] Success: --- initial list built in 66.95010900497437 seconds ---
    [+] Success: Bulding final list!
    [+] Success: Writing output to: [email protected]
    
    
    [+] Success: --- finished in 66.95020365715027 seconds ---
    [+] Success: Done!
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    XXXX@XXXX-PC1 - Sun Mar 27 22:57 - Load: 1.09 
    ~/.../spraygen-main $ >ll [email protected] 
    -rw-rw-r-- 1 XXXX XXXX 0 Mar 27 22:57 '[email protected]'
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    XXXX@XXXX-PC1 - Sun Mar 27 22:58 - Load: 1.09 
    ~/.../spraygen-main $ >cat [email protected] 
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    XXXX@XXXX-PC1 - Sun Mar 27 22:58 - Load: 1.09 
    ~/.../spraygen-main $ >
    
    

    No write errors, no syntax or code errors this time, in fact no errors of any kind. It spent over a minute bulding the list but didn't actually produce anything!

    I must be missing something incredibly obvious, but I can't think what. Maybe I'm just tired and making oversight after oversight.

    Thank you for any correction you can give me.

    Best regards.

    opened by ghost 1
  • [!] Error: local variable 'numspec_items' referenced before assignment

    [!] Error: local variable 'numspec_items' referenced before assignment

    Hello.

    I just had a quick go with your program when this happened...

    $ >python3.8 spraygen.py --mode plain --type iterative --iter full --max_length 12 --sort random -o AllASCIIpasswd.txt
    
         _
        (  \_
        (    \_
        (       \_  
        (         \_            ___
        ( Password   \         |   |
        (   Spray     |คคคคคคคค|___|
        (           _ /          |
        (       _ /         /~~~~~~~~~\
        (   _ /            (  Spray    )
        (_/                 |  This   |
                            |         |
                            | Get     |
                            |  Creds  |
                            |_________|
    
        Original Art by Alex Chudnovsky (Unaffiliated)
        Spraygen tool by 3ndG4me
        Version 1.6
        
    [*] Info: Year Start not provided, setting to current year...
    [*] Info: Year End not provided, setting to current year...
    [*] Info: Generating PLAIN list...
    [*] Info: Generating ITERATIVE list...
    [*] Info: List size will be: 4
    [*] Info: List keyspace will be: full
    [*] Info: This is generating literally every permutation in that keyspace, this will take some time...
    
    [!] Error: local variable 'numspec_items' referenced before assignment
    

    I think something needs double-checking ;)

    AFAIK I installed the prerequisites as instructed:

    $ >pip install -r requirements.txt 
    Collecting argparse
      Downloading argparse-1.4.0-py2.py3-none-any.whl (23 kB)
    Requirement already satisfied: colorama in /usr/lib/python3/dist-packages (from -r requirements.txt (line 2)) (0.4.3)
    Collecting progress
      Downloading progress-1.6.tar.gz (7.8 kB)
    Building wheels for collected packages: progress
      Building wheel for progress (setup.py) ... done
      Created wheel for progress: filename=progress-1.6-py3-none-any.whl size=9615 sha256=07d849d4f4388f27a6341ff1eb624f62d28510f22f0aa4fd6bb1b83bd1badb10
      Stored in directory: /home/XXXX/.cache/pip/wheels/bb/01/5a/c916509df9b12c6465864251dbe826def8e31a16fa7da54f08
    Successfully built progress
    Installing collected packages: argparse, progress
    Successfully installed argparse-1.4.0 progress-1.6
    
    bug 
    opened by ghost 1
  • Addition of quick mode; short and common types

    Addition of quick mode; short and common types

    Alright so lots of changes, here's the overview of what was added:

    • New common type and common list. This adds passwords like Welcome, Letmein, and others into the mix.
    • New short type. This adds in some of the various lists and creates a nice shortlist of words to generate for and only does the first letter capitalized. Useful when combined with quick mode.
    • New quick mode. This strips down the variations of passwords to the most commonly found formats. So usually things like the first letter being capitalized for the word, followed by the attributes. There is also some logic to make it more concise when combined with years and try to be a bit smarter. I suspect there could be more enhancements here later.

    So to use some of these new features nicely together if you are constrained on time with spraying, you could do something like: python3 spraygen.py --type short --mode quick -p -n companyname

    Happy to hear any feedback! Thanks for the tool!

    enhancement 
    opened by absolomb 1
  • Dev/v1.5

    Dev/v1.5

    v1.5 release adds:

    • Common letter replacement (convert A -> 4/@, S->5,$, etc...)
    • Multi type selection (generate both months + seasons, seasons + sports, etc...)
    • Optimization for year appending for logical attributes to not create unlikely permutations that simple need to be years (for example MonthYEAR! but not MonthYEAR1234)
    • Auto capitalize when building list in addition to the upper and lower so it doesn't matter what custom lists start with, every permutation will be built and de-duped if it already exists.
    documentation enhancement 
    opened by 3ndG4me 0
  • Fixed append attribute logic when combined with years and added options to pick and choose types

    Fixed append attribute logic when combined with years and added options to pick and choose types

    I noticed attributes weren't being appended with years, so for example there weren't passwords like "Spring2021!" in the lists being generated. So I added some logic to do that but only with "!" and "#" variations on the default attributes since it didn't make sense to me to make passwords like "Spring2021123". Also there is logic now to append custom attributes as well with years.

    The other change just allows to pick and choose different list types when being generated, but you have to use spaces like --type months seasons.

    enhancement 
    opened by absolomb 0
Owner
Casey Erdmann
Offensive security nerd, researcher, and software developer. I make software and distribute it under @InjectionSoftwareandSecurityLLC
Casey Erdmann
zip-brute Zip File Password Cracking with Using Password List

Zip brute is a python script that cracks zip that are password protected using a wordlist dictionary.

AnonyminHack5 13 Nov 3, 2022
Password List Maker

Red-Key Red-Key Password List Maker Version 1.1.2 Created By FireKing255 -=Features=- Create Random Password List Create Password List Create Password

FireKing255 7 Dec 26, 2021
Password List Creator Simple !

Password List Creator Simple !

MR.D3F417 4 Jan 27, 2022
Mert Güvençli 142 Jan 5, 2023
A simple password generator using Python Tkinter.

Password-Generator-using-Python A simple password generator that generates password for you. User can Copy the password to Clipboard. Project made usi

Prashant Agheda 1 Nov 2, 2022
A secure password generator written in python

gruvbox-factory ?? "The main focus when developing gruvbox is to keep colors easily distinguishable, contrast enough and still pleasant for the eyes"

Paulo Pacitti 430 Dec 27, 2022
Pgen is the best brute force password generator and it is improved from the cupp.py

pgen Pgen is the best brute force password generator and it is improved from the cupp.py The pgen tool is dedicated to Leonardo da Vinci -Time stays l

heyheykids 2 Jan 31, 2022
♻️ Password Generator (PSG) 📚 This plugin is made for more familiarity with Python, but can also be used to create passwords

About Tool This plugin is made for more familiarity with Python, but can also be used to create passwords.

STgazing 2 Jul 23, 2022
Python Password Generator

This is a console-based version of a password generator written with Python. The program generates a password based on numbers of letters, numbers, and symbols specified by the user. This is a simple Python program to demonstrate the use of randomization, list, and string concatenation. It also demonstrates the use of random.shuffle() method to shuffle items in lists.

p.katekomol 1 Jan 24, 2022
This is a js front-end encryption blasting account and password tools

Author:0xAXSDD By Gamma安全实验室 version:1.0 explain:这是一款用户绕过前端js加密进行密码爆破的工具,你无需在意js加密的细节,只需要输入你想要爆破url,以及username输入框的classname,password输入框的clas

null 75 Nov 25, 2022
Python implementation of the diceware password generating algorithm.

Diceware Password Generator - Generate High Entropy Passwords Please Note - This Program Do Not Store Passwords In Any Form And All The Passwords Are

Sameera Madushan 35 Dec 25, 2022
Password Manager is a simple Python project which helps users in managing their passwords in a easier way

Password Manager is a simple Python project which helps users in managing their passwords in a easier way

Manish Jalui 4 Sep 29, 2021
Small Python library that adds password hashing methods to ORM objects

Password Mixin Mixin that adds some useful methods to ORM objects Compatible with Python 3.5 >= 3.9 Install pip install password-mixin Setup first cre

Joe Gasewicz 5 Nov 22, 2022
CamOver is a camera exploitation tool that allows to disclosure network camera admin password.

CamOver is a camera exploitation tool that allows to disclosure network camera admin password. Features Exploits vulnerabilities in most popul

EntySec 247 Jan 2, 2023
Fetch Chrome, Firefox, WiFi password and system info

DISCLAIMER : OUR TOOLS ARE FOR EDUCATIONAL PURPOSES ONLY. DON'T USE THEM FOR ILLEGAL ACTIVITIES. YOU ARE THE ONLY RESPONSABLE FOR YOUR ACTIONS! OUR TO

Genos 59 Nov 17, 2022
You can manage your password with this program.

You must have Python compilers in order to run this program. First of all, download the compiler in the link.

Mustafa Bahadır Doğrusöz 6 Aug 7, 2021
Now patched 0day for force reseting an accounts password

Animal Jam 0day No-Auth Force Password Reset via API Now patched 0day for force reseting an accounts password Used until patched to cause anarchy. Pro

IRIS 10 Nov 17, 2022
The probability of having the password you want in the PassMaker is +90%!!

PasswordMaker Strong listing password Introduction The probability of having the password you want in the tool is +90%!! How to Install Open the termi

MasterBurnt 4 Sep 5, 2021