Vietnamese characters in Hashcat
#1
Wink 
Hello,
in the dictionary attack, I need to use a dictionary with Vietnamese words. Unfortunately, hashcat does not know Vietnamese characters, so it translates them into nonsensical characters and de facto invalidates the entire dictionary. Could someone please advise me how to fix this problem?
Thanks
Reply
#2
You could try adding --encoding-from=VSCII or --encoding-from=ISO-IR-180 to your hashcat command.
Reply
#3
(09-04-2022, 12:30 AM)kuny1991 Wrote: Hello,
in the dictionary attack, I need to use a dictionary with Vietnamese words. Unfortunately, hashcat does not know Vietnamese characters, so it translates them into nonsensical characters and de facto invalidates the entire dictionary. Could someone please advise me how to fix this problem?
Thanks

you dont need to convert your dict (i suppose it is in UTF-8), yes hashcat shows malformed entries in output like this
Code:
Candidates.#1....: Chã░ãíng -> ─æß║Àt

but this is because hashcat works on bytesized chars/objects so it converts them internally for output, you can try it on your own, i made a real simple sample dict and one md5-hash of vietnamese word "Pháp-Việt", run my dict against this hash und voila, it cracked it, so foreign dictionarys will work out of the box (UTF-8), im not quites sure about how some rules behave in this case (this is really a good question to myself, will try that later)

hashcat output for cracking my result
b120[hash]450f4:Pháp-Việt
and in potfile
b120[hash]450f4:Pháp-Việt

for a deeper insight on hashcat and bytesized chars

the german umlaut Ä is "C3 84" in hex, so it is two bytes in length, when trying to crack it with mask and ?b, your mask has to be of lenght 2 ?b?b (even when it is only one char for humans), in vietnamese most(all?) chars need 3 bytes in lenght, so for bruteforcing just "one human char" like Ồ your mask needs to be of length 3 as this char representation in hex is "E1 BB 92", this is one common misunderstanding when it comes to hashcat and masks, mask-lenght

so for short, your dictionary should work when it is in utf-8, dont bother with the cli output
Reply