09-02-2020, 04:48 PM
(09-01-2020, 02:36 PM)philsmd Wrote: no, I think in this case it's different.
There are 11 sets and some of them are a set (or a OR) , like this:
Code:(['sa4', 'sa@'], ['sb6'], ['sc<', 'sc{'], ['se3'], ['sg9'], ['si1', 'si!'], ['so0'], ['sq9'], ['ss5', 'ss$'], ['st7', 'st+'], ['sx%'])
so for the "a" replacement, there are 2 alternatives "sa4" and "sa@", but only one should be used within a rule line, but both should be run at the end (therefore there are 2 alternatives).
The main problem for the maskprocessor or mask file generation approach is that hashcat only allows 4 custom charsets, so you would need to do somethink like this:
Code:hashcat --stdout -a 3 -o my.rule -1 'a@' -2 '<{' -3 '1!' -4 '5$' 'sa?1 sb6 sc?2 se3 sg9 si?3 so0 sq9 ss?4 st7 sx%'
hashcat --stdout -a 3 -o my.rule -1 'a@' -2 '<{' -3 '1!' -4 '5$' 'sa?1 sb6 sc?2 se3 sg9 si?3 so0 sq9 ss?4 st+ sx%'
you could also use a hashcat mask file (.hcmask) instead of running 2 commands.
The trick is to use all the 4 allowed custom charsets and use "st7" and "st+" (or 1 of the charsets that couldn't fit in the 4 custom charsets) as separate commands or lines in the hcmask file.
This is exactly what I'm referring to.
I haven't been able to come up with a method (like described above) that's versatile/reproducible without me typing each character or each rule 1 by 1.
My issue is that I haven't found a single rule collection that can take a 4 letter word like "food" and turn it into "Fo0d1" or even "Fo0ds" ..... this seems like a very big shortcoming with the current rule lists. So I was hoping if I could combine some already written rule sets, like upper case first letter combinations and leet speak combinations and add different numbers/characters to the end, then I'd be in better shape. But I haven't been able to do it without exponentially growing duplicates.