apligen

Advanced Password List Generator

Apligen generates list of password for password crackers.

It can be use for brute force attack or direct attack (when you know password profile, you have seen somebody typing password or you forgot your password).


Features:

  • Change default characters set
  • Use different characters set for each position
  • Define minimum password length (don't start from one letter password)
  • Handle many output files (split list into many files)
  • Randomize characters order
  • Concat string at begining and end
  • Skip password with the same letter in row
  • Match password to the mask
  • Convert output to hex
  • Password complexity policy
  • Password can't contain string
  • Each character can be used only once
  • Store password skipped by rules
  • 3 loops: Fast, Medium, Slow
  • Progress indicator
  • Parallel Independent Processing
  • Match password to regex expr
  • Limit list to x passwords
  • Create list of random strong passwords
  • Summary
See changelog here

Download

Download from sf.net here


Install

Upack archive. Open terminal. Run make. Run:
./apligen options (see example)

Usage

Minimum (-m) and maximum (-x) password length - This positions are mandatory. They indicate length of the password. If min = 1 and max = 3 first generated will be one letter password then two letters and three. If you set min = 2 one letter password will no be generated. If you know exactly password length use min = X and max = X"

Used characters - You must specify which characters will be used. You can do that in following ways:
1. Read characters from file (Best way)
   -c char.txt
   File must have one set per line
   1. 1234567890qw
   2. 1234567890er
   3. 1234567890
   4. 1234567890ty

2. Use predefined characters set by
   -n - numbers
   -l - lower case letters
   -u - upper case letters
   -s - special characters

3. Use your own set by -g option
   -g qwertasdzxc123

4. Use your own set for each position by -A option
   -p qweasd%1234%0po9i8%123
   % seperates posiions
   Created set will by as follow
   1. qwersd
   2. 1234
   3. 0po9i8
   4. 1234

If one position do not requaire additional characters use -
   -p qweasd%1234%-%123
   Created set will by as follow
   1. qwersd
   2. 1234
   3.
   4. 1234

If you want to use % or - in your set use -1 for - and -2 for %
   -p qwe%-1%-2%123
   Created set will by as follow
   1. qwe
   2. -
   3. %
   4. 123

WARNING: Each position must have at least one character
WARNING: Number of sets can't be larger than maximum password length

5. Mixed
   -n -g qwe -p Q%W%E
   Created set will by as follow
   1. 1234567890qweQ
   2. 1234567890qweW-
   3. 1234567890qweE
   4. 1234567890qwe

Output file - You can specify output in following ways:
1. One file by -o option
    -o path

2. Many files in one folder
    -o path -e 4
   This will create files path0, path1, path2 path3 and output will be splitted into 4 parts

3. Read from file by - F option
   -f path
   File mus contains destination file paths, one path per line

4. Input seperated by %
   -w path1%path2%path3

5. Mixed - use all methods together

Advanced options - All following options can be used together.
1. Default generation
   aaa
   baa
   caa
   ...
   zzz

2. Reverse order set -I
   zzz
   xzz
   yzz
   ...
   aaa

3. Reverse output -D
   aaa
   aab
   aac
   ...
   zzz

4. Concat at beginning -B qwe
   qweaaa
   qweaab
   qweaac
   ......
   qwezzz

5. Concat at end -E qwe
   aaaqwe
   baaqwe
   caaqwe
   ......
   zzzqwe

4. Randomized -R
   who
   hap
   zwc
   ...
   Characters order is randomized for each position seperatly. When using with PIM use fixed seed (-F number)

Rules - Skipping some passwords
1. Letters in row - password that have number or more the same characters in row will be skipped -W number
2. Store filtered passwords in file - d file
3. Mask - match password to the mask -K string

For mask %1%2%2%1 password list will be as follow:
   0110
   2112
   3113
   ....

4. String can't be appart of password -C qwe
5. Minimum numbers in password -N number
6. Minimum lower case letters in password -L number
7. Minimum upper case letters in password -U number
8. Minimum special characters in passowrd -S number
9. AD complexity - password must have at lest 3 characters types -A
10. Characters must be a part of password -G char
11. Each character can be used only once in password -O
12. Match password to regex expr -X "regex"

Other
1. Convert output to hex -H
2. Stop after generating x password -Z number
3. Generate only strong passwords -Q . Use only with -Z option
4. PIM - Parallel Independent Processing. Use many cores, computers to generate one list at the same time. See example.
5. Fixed seed. Use with PIM and Randomization -F number

Examples
apligen -m 3 -x 3 -lun -o output.txt
apligen -m 5 -x 5 -lun -o output.txt -K 1%2%3%2%1 -R
apligen -m 1 -x 8 -luns -o output.txt -A -H
apligen -m 3 -x 3 -c char.txt -o output.txt -E end
apligen -m 4 -x 7 -lun -o output.txt -L 2

(PIM-1) apligen -m 6 -x 6 -n -o output1.txt -P 1/4
(PIM-2) apligen -m 6 -x 6 -n -o output2.txt -P 2/4
(PIM-3) apligen -m 6 -x 6 -n -o output3.txt -P 3/4
(PIM-4) apligen -m 6 -x 6 -n -o output4.txt -P 4/4