Hashcat rule help.
#1
Example email: hashcat@hotmail.com

If I try to append $1$2$3 it will be hashcat@hotmail.com123

Preferably I would want - hashcat123@hotmail.com

Basically my question is, how to can I append things before the @
#2
There are several ways depending on what you are trying to accomplish:

1) Rules (see the wiki if you don't understand the line)

Code:
Insert @ N | iNX | Inserts character X at position N | i4! | p@ssW0rd | p@ss!W0rd

Depends on whether the hashcat part is a fixed length. If not, this won't work.

2) Assuming that hashcat is one dictionary and the @hotmail.com is another dictionary, you could use a combinator attack with a rule. The -j works on the first dictionary.

Code:
hashcat64.exe -m hashtype -a 1 --remove -o outfile --status  --session=test -j "$1 $2 $3" hashfile "hashcatdict.dict" "@gmail.com.dict"

Note that on windows, the rule must be in "" or it won't work.

3) You could use the hashcat utility combinator to create a new dictionary, if the words are separate dictionaries as I assumed in suggestion #2. But the combo attack is better if there is only one rule needed. Now if you wanted to apply all possible 3 digit numbers after hashcat, then you would have to use this method.

I did that once by using the maskprocesser utility to generate a dictionary based off a mask (?d?d?d?d in my case). Then I used the combinator utility to generate a new dictionary with the maskprocessor dictionary and my original right half dictionary.
#3
(09-26-2017, 02:48 PM)rsberzerker Wrote: There are several ways depending on what you are trying to accomplish:

1) Rules (see the wiki if you don't understand the line)

Code:
Insert @ N | iNX | Inserts character X at position N | i4! | p@ssW0rd | p@ss!W0rd

Depends on whether the hashcat part is a fixed length. If not, this won't work.

2) Assuming that hashcat is one dictionary and the @hotmail.com is another dictionary, you could use a combinator attack with a rule. The -j works on the first dictionary.

Code:
hashcat64.exe -m hashtype -a 1 --remove -o outfile --status  --session=test -j "$1 $2 $3" hashfile "hashcatdict.dict" "@gmail.com.dict"

Note that on windows, the rule must be in "" or it won't work.

3) You could use the hashcat utility combinator to create a new dictionary, if the words are separate dictionaries as I assumed in suggestion #2. But the combo attack is better if there is only one rule needed. Now if you wanted to apply all possible 3 digit numbers after hashcat, then you would have to use this method.

I did that once by using the maskprocesser utility to generate a dictionary based off a mask (?d?d?d?d in my case). Then I used the combinator utility to generate a new dictionary with the maskprocessor dictionary and my original right half dictionary.

Hi, I'm running my hashes against millions of emails. All different lengths, and all different e-mail providers.

I don't think your solutions will work for this, but I appreciate your time spent; it will certainly be useful when running against just 1 domain.
#4
a possible way would be the go through your email list and split it into two files, one with all the unique strings before the @ and one with all unique values after the @ then feed hashcat with something like dictionary1 ?d?d?d?d... @ dictionary2

something along those lines at least
#5
It depends a bit on your hash type. If it's unsalted, just generate the rules according to what is mentioned above (iNX) for a wide range of positions (like 0 to 20). This creates ... 21 rules which is nothing. It's doable for a lot of salted hashes too. There is no point to complicate it further.
#6
(09-28-2017, 11:36 AM)TofuBoy22 Wrote: a possible way would be the go through your email list and split it into two files, one with all the unique strings before the @ and one with all unique values after the @ then feed hashcat with something like dictionary1 ?d?d?d?d... @ dictionary2

something along those lines at least
Hi,
Maybe you could help us. (hash's passwords=emails)
We would like to append digits after usernames list, before domains list.

This command works (append 123 after usernames):
"hashcat -m 0 -a 1 hashes.txt -j '$1 $2 $3' usernames.txt domain_names.txt"

But we would like to append all digits between 0-9.
these command not working:
"hashcat -m 0 -a 1 hashes.txt -j '$?d $?d $?d' usernames.txt domain_names.txt" or
"hashcat -m 0 -a 1 hashes.txt -j ?d?d?d usernames.txt domain_names.txt"

Could you help, please?

usernames.txt sample:
eric
tom
angela

domain_names.txt sample:
@aim.com
@ameritech.net
@aol.com

Thanks for your help.
#7
Code:
hashcat --stdout -o usernames_with_digits.txt -a 6 usernames.txt ?d?d?d

and

Code:
hashcat -m 0 -a 1 -w 3 hashes.txt usernames_with_digits.txt domain_names.txt