New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
differentiate hashtype in potfiles and outfiles #3986
Comments
How would you feel about having potfile folder (potfolder?) instead, such that each -m has its own file? I can see the advantages as well as the disadvantages of it.
Disadvantages:
I'm not saying im fully supporting this "potfolder" idea, just generating discussion |
Sometimes, it's difficult to determine the type of hash we are dealing with. For example, distinguishing between MD4, MD5, and MD5(MD5) is impossible. Currently, Hashcat checks all compatible formats, thereby revealing the required hash type if one of the hashes is in the porfile. If a format check is implemented, this benefit will be lost. Also, this feature helps to spot command line errors. |
Long term, the best ecosystem play is to enable per-hash annotation of what hashtype each hash was. Mixed potfile cleanup / parsing / management is a regular FAQ item. Instead, this information can be preserved and recorded when it is clearly known.
To make the transition easier / voluntary / gradual, I propose two changes:
--potfile-hashtypes
?) to enable prepending hashtype ID to potfile output, separated by a tab, as in:This would govern both output (writing to the potfile) and input (reading from the potfile). If
--potfile-hashtypes
is enabled and a non-prepended hash is encountered, hashcat could either abort (leaving it to the user to clean up their potfile or whatever), or assume that any non-prepended hashtype is the one that the user has specified on the hashcat command line with-m
.Note that by making both of these optional, users are empowered to manage the transition themselves.
Option 2 is easier to add right away. Option 1 might require discussion of ecosystem impacts and timing. But I believe strongly that, if "we" (the cracking community) knew in the beginning what we know now, we would have never constructed the potfile format without some per-hashtype field. It is this way for historical reasons only - primary because early development of password crackers only dealt with a single hash type, and the idea that thousands of hashtypes would someday be possible was distant and mostly hypothetical. :D
The text was updated successfully, but these errors were encountered: