Generating wordlist using specific charlist with exclusions
#1
Not pretending to be unique in my inquiry, but I have specific task to do. How can I generate word list using specific char list and applying multiple rules or exclusions?

For example:

Charlist = ?l?l?l?l?l?l?l?l
Rules/Exclusions:

• each character cannot appear more than 3 times
• no 3 characters in a row can be identical
• no 3 characters in a row can be sequential (abc)
• no 3 characters in a row can be reverse sequential (cba)
• character 2 is not equal to character 1
• character 2 is not +1 to character 1
• character 2 is not +2 to character 1


Please advise!
#2
Hashcat does not support that. You need to write a specialized candidate generator to do that.
#3
(02-15-2018, 02:00 PM)atom Wrote: Hashcat does not support that. You need to write a specialized candidate generator to do that.

Thanks.
#4
Be sure to also do the math to calculate how many password candidates these rules will eliminate compared the speed of your attack. Some of the rules you're describing won't reduce the keyspace very much, and wouldn't be worth the effort compared to to expected time to exhaust the keyspace.

In other words, some rules that would be implemented by a specialized generator are probably only worth the effort if it's a pretty slow hash.
~
#5
royce, that is really good advice, I didn't think about it from this perspective, thank you.
#6
(02-17-2018, 07:31 PM)royce Wrote: Be sure to also do the math to calculate how many password candidates these rules will eliminate compared the speed of your attack. Some of the rules you're describing won't reduce the keyspace very much, and wouldn't be worth the effort compared to to expected time to exhaust the keyspace.

In other words, some rules that would be implemented by a specialized generator are probably only worth the effort if it's a pretty slow hash.

Very true.
#7
Please suggest powerful word list generators that can manage exclusions/rules.
#8
I'm not aware of anything dedicated that would natively provide a way to express the rules you described in the original question.

At that point, you're basically looking at using python, perl, etc. to do it. From people I've talked to, perl is quite fast for this purpose if done right.
~
#9
Haven’t practiced programming for a while, might take me a while to write this.