If a password is manually typed in, it is probably going to be a combination of a few common words, and maybe some random numbers on the end, and maybe a random deliminator character between the words/numbers. For that purpose you can just do a cartesian product of multiple wordlits, a list of numbers/years, and an array of symbol characters. This can be done using the Ruby wordlist library and CLI. Do you suspect they did any "leet speak" character substitutions? Both the wordlist library and CLI supports enumerating over every possible substitution mutation of every generated word.
If a password is generated by a password manager, than all you need to do is pick a character set (usually visible ASCII characters), and generate all strings of a range of lengths. This can be done using using the Ruby chars library (ex: Chars::VISIBLE.strings_of_length(10..14).each { |password| ... }).
#wordlists #ruby #pentesting