Specific pattern syntax help
#1
I've been reading and reading, and came across this thread:  https://hashcat.net/forum/thread-7024.ht...multi+word

It looks like this person had a similar goal, but I'm not quite following the solution.  Let me give my scenario:
Small word list, maybe 40 total words or so, but with many words and an unknown separator.  So, it would be something like this:   My!Really!Great!Super!long!Password!  or it could be my/really/great/super/long/password or even MY^Super^LONG^password.   I'm having trouble trying to figure out how to use all words in the short list in combination with an unknown separator.  One thing to dramatically narrow it down, is that I know that the separator is all the same.  So it will always be ! or ^ or / through the whole thing.  It would not have random ones.  I've attempted the substitution, but it goes through every separator combination, making it way too large.  I'd love some help on getting the syntax right to finally solve this problem.
Reply
#2
I don't have a hashcat-only solution for you, but something like this might work - basically, append that separate to all your words, and then use a rule that *removes* the final separator from the string.

https://gist.github.com/roycewilliams/18...45692bccc2

And if that's too slow (for faster hashes), you can use a file containing rules that append the the words.
~
Reply
#3
(07-24-2021, 03:12 AM)royce Wrote: I don't have a hashcat-only solution for you, but something like this might work - basically, append that separate to all your words, and then use a rule that *removes* the final separator from the string.

https://gist.github.com/roycewilliams/18...45692bccc2

And if that's too slow (for faster hashes), you can use a file containing rules that append the the words.

If I am reading this correctly, this is the syntax they used in total:
pp64 --elem-cnt-min=2 --elem-cnt-max=2 \
    <(LC_ALL=C sort -u dict1 dict2 dict3 | 's/^/ /') \
    | hasht -m 100 -a 0 hashes.txt -r prince-twoword-infix-simulator.rule



I'm usually good at picking out variables in things and swapping them out with what I need.  I get most of this.  It starts off with element count min max, not clear on the LC_ALL portion of it though.  The last line makes sense enough.

One other issue I have though, is I don't know exactly how many words.  Could be four words, could be seven.
Reply
#4
That would be --elem-cnt-min=4 --elem-cnt-max=7, then. Big Grin
~
Reply