Custom charset
#1
Hashcat version - hashcat-5.1.0+1755\hashcat-5.1.0 beta

I am trying to run a custom charset for keyboard walking using

--custom-charset1=~!@#$%^`123456

my command line is as follows...

hashcat.exe -a 3 --session=keyboard -m 0 --custom-charset1=~!@#$%^`123456 -w 4 --status --status-timer=60 --remove -p : -O --potfile-path md5.pot --hwmon-disable -o "F:\found.txt" --outfile-format=2 -i --increment-min=6 --increment-max=14 -2 qwertyQWERTY "C:\left.txt" ?2?1?2?1?2?1?2?1?2?1?2?1?2?1

The program runs fine except for one annoying factor it wont use %^`123456 instead
it just shows --custom-charset1=~!@#$ when hashcat is running

Guess.Charset....: -1 ~!@#$, -2 qwertyQWERTY, -3 Undefined, -4 Undefined

Can someone help me get on the right track please?
Reply
#2
If you do not know how your shell escaping works, just use a file: https://hashcat.net/wiki/doku.php?id=mas...rset_files
Reply
#3
(04-09-2020, 03:47 PM)philsmd Wrote: If you do not know how your shell escaping works, just use a file: https://hashcat.net/wiki/doku.php?id=mas...rset_files

I have had a look at that previously and edit a couple of them with my input but the
output in the candidates #1 and #2 is in hex I have also tried it like this

-1 ~!@#$%^`123456" -2 qwertyQWERTY

but the error I get is If you specify a custom charset, you must also specify a mask. Hence the previous reading of the wiki and after some trial and error came up with 

--custom-charset1=~!@#$%^`123456

for which I only get a portion of the quesses.  I see from the wiki there is a reference to 
use iconv and similar tools to convert the files to a language specific file encoding - How would I get a hold
of one of these tools?, also could you point me to a good shell escaping tutorial

Cancel all of the above - I have worked out the solution and all appears to be fine now.
Reply
#4
Just to try to explain the detail of the problem also for potential future readers of this thread.

This has to do with your cmd/shell...

for instance %VAR% is a variable interpreted by your cmd shell.

you need to escape / quote them, if you do not use .hcchr files.

also see some links that explain it like: https://www.robvanderwoude.com/escapechars.php

%, ^, &, <, >, | etc are all special characters that your cmd shell interpret if and only if you do not escape/quote them.

hashcat has nothing to do with this problem, because this interpretation is done before hashcat is even launched... this happens beforehand
Reply
#5
(04-09-2020, 05:13 PM)philsmd Wrote: Just to try to explain the detail of the problem also for potential future readers of this thread.

This has to do with your cmd/shell...

for instance %VAR% is a variable interpreted by your cmd shell.

you need to escape / quote them, if you do not use .hcchr files.

also see some links that explain it like: https://www.robvanderwoude.com/escapechars.php

%, ^, &, <, >, | etc are all special characters that your cmd shell interpret if and only if you do not escape/quote them.

hashcat has nothing to do with this problem, because this interpretation is done before hashcat is even launched... this happens beforehand

Thanks for that it make the command line a lot tidier
Reply