Skip to content

plexik/Wordlist-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Wordlist-Generator

Command line application that takes a list of words and uses them to generate a dictionary for use in targeted dictionary attacks. This tool was created with the intent to ease the production of dictionaries for use in password attacks against a researched target.

It's basically me writing a currently-less-useful version of crunch.

Usage

./wl_gen [options] -i infile -o outfile

required:
    -i infile       input filename (use '-' for stdin)
    -o outfile      output filename (use '-' for stdout)
    
 options:
    -h or -?        help
    -v              verbose output
    -q              quiet mode - no status messages (overwrites -v)

Math

As of version 1.00, an input list of ten words (no numbers) yields an output dictionary of 280480 words.

Given N input words, the resulting dictionary size will be less than or equal to

<= 4204 (4N) + 24 ( 3 nPr(4N, 2))
= 16816 N + 24 (3 16N^2 - 4N)
= 1152N^2 + 16528N

So don't go passing in 100K word dictionaries - it probably won't end well.

Features

  • fast
  • supports input and output piping
  • compiles on both linux (kali 2.1, gcc) and windows (win10, vs2015)

How it works

The input to the program is a list of "initial seed" words. The words in this input list should be relevant to the target, such as first and last name, birth year, first dog's name, etc. Basically it's a list of strings you think could be used in a password.

The program will then apply the following operations to the initial seeds to generate an extended seed array:

  • (do nothing)
  • Capitalize first letter
  • Capitalize entire word
  • Reverse word

Next it performs the following operations on each word in the extended seed array:

  • Append 0-2099
  • Prepend 0-2099
  • Append '!'
  • Prepend '!'
  • Append and prepend '!'

Next it generates all possible two-word permutations and combines them the following ways:

  • ab
  • a_b
  • a.b
  • ba
  • b_a
  • b.a

Finally, to each of these permutations it performs the following:

  • append '!'
  • repend '!'
  • append and prepend '!'
  • append 0-9
  • prepend 0-9

Output is then written to a file (or stdout).

About

Command line application that takes a list of words relevant to a target and uses them to generate a dictionary for use in targeted dictionary attacks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages