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.
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
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
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.