Skip to content
A script for generating custom passphrase lists to be used for password cracking with hashcat rules
Branch: master
Clone or download
Latest commit 4cbc89c Jun 27, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lists Added Google Top 10000 wordlist Jun 22, 2018
LICENSE Initial commit Jun 21, 2018
PassphraseGen.ps1 Added multi-threading Jun 27, 2018
README.md Update README.md Jun 27, 2018

README.md

PassphraseGen

PassphraseGen is a script for generating custom passphrase lists to be used for password cracking with hashcat rules like the ones found here: https://github.com/initstring/passphrase-wordlist.

Included in this repo are a few wordlists located in the "lists" folder that can be used to generate passphrases including the top English words, an EFF passphrase wordlist, and the Bitcoin BIP-039 seed wordlist.

There is also an option that allows for selecting a number of random words from a list for use with the tool. The more words you have in your list the greater amount of time it will take the tool to generate the passphrases. See the "Sample Benchmarks" section below for some example run times.

Examples

Provided a list of the following four words the script will generate the following passphrases:

Wordlist

hacker
password
pwnage
noob

Passphrases Output

hacker password pwnage noob
hacker password noob pwnage
hacker pwnage password noob
hacker pwnage noob password
hacker noob password pwnage
hacker noob pwnage password
password hacker pwnage noob
password hacker noob pwnage
password pwnage hacker noob
password pwnage noob hacker
password noob hacker pwnage
password noob pwnage hacker
pwnage hacker password noob
pwnage hacker noob password
pwnage password hacker noob
pwnage password noob hacker
pwnage noob hacker password
pwnage noob password hacker
noob hacker password pwnage
noob hacker pwnage password
noob password hacker pwnage
noob password pwnage hacker
noob pwnage hacker password
noob pwnage password hacker

This example will take a list of words and generate a passphrase list using four words in each passphrase.

Invoke-PassphraseGen -FourWords -Wordlist .\lists\top-100-english-words-4-chars-or-more.txt -OutputFile passphrase-list.txt

This example will take a list of words and select 25 random lines from it. Then using those 25 words it will generate a passphrase list using four words in each passphrase. A total of 20 threads will be utilized.

Invoke-PassphraseGen -FourWords -Threads 20 -TotalLines 25 -Wordlist .\lists\bitcoin-bip-0039-seed-words.txt -OutputFile passphrase-list.txt

Sample Benchmarks

Here are some sample benchmarks of generating passphrase lists with PassphraseGen on a fairly decent laptop... Your mileage may vary.

15 words, four-per-passphrase (Total of 32,760 passphrases)  : 40 seconds --- ~800 KB
25 words, four-per-passphrase (Total of 303,600 passphrases) : 2 minutes 15 seconds --- ~8.07 MB
35 words, four-per-passphrase (Total of 1,256,640 passphrases) : 6 minutes 30 seconds --- ~27.3 MB
50 words, four-per-passphrase (Total of 5,527,200 passphrases) : 45 mins --- ~116 MB

Options

ThreeWords   -    Use this switch to generate passphrases using only 3 words.
FourWords    -    Use this switch to generate passphrases with 4 words.
Wordlist     -    The input list of words that are to be used within passphrases.
OutputFile   -    The file to output all the passphrases to.
TotalLines   -    Use this option to specify a number of lines to randomly select from the wordlist for use within passphrases.
Threads      -    Use this option to specify a number of threads. Uses 10 by default.
SleepTimer   -    Time to sleep in between checking if a thread has finished or not.
You can’t perform that action at this time.