Hashcat not getting any candidates from maskprocessor - Printable Version +- hashcat Forum (https://hashcat.net/forum) +-- Forum: Support (https://hashcat.net/forum/forum-3.html) +--- Forum: hashcat (https://hashcat.net/forum/forum-45.html) +--- Thread: Hashcat not getting any candidates from maskprocessor (/thread-8387.html) |
Hashcat not getting any candidates from maskprocessor - HomeSen - 05-31-2019 Hi hashcats. I have a weird issue with hashcat in combination with mask processor: When piping mp's output into hashcat on my cracking station, hashcat just initializes and then immediately stops with the message "Exhausted". On my local laptop, the same command works without issues, but it's rather slow due to the mobile GPU I need to use mp, since I want to break a rather weird SHA1 usage: The vendor truncates the entered password at 16 chars and then copies it into a char[16] that gets initialized with NULL bytes. Since this is different from a normal SHA1, I wrote a rule that mimics the behavior. And since the password is probably just some random letters and digits, and none of my (rather huge) wordlists yielded any results, I have to use a mask/bruteforce attack. Unfortunately, hashcat doesn't allow combining mask attacks with rules files. Anyways, here is the used command and output: Code: $ mp64 -i 1:8 ?a?a?a?a?a?a?a?a | hashcat -O -m 100 --status --status-timer 30 --stdin-timeout-abort 60 uart_sha1.txt -r pad_null-16.rule The cracking station is running Ubuntu 16.04.6 LTS with latest updates applied and uses the NVIDIA driver 418.67 with Cuda 10.1. As mentioned before: On a Windows 10 laptop with GeForce MX150 the same command works without issues RE: Hashcat not getting any candidates from maskprocessor - philsmd - 05-31-2019 did you try if the maskprocessor command works at all ? does the left part produce any candidates if used alone: ./mp64.bin -i 1:8 ?a?a?a?a?a?a?a?a also the start is probably very small with length 1, only lengh 2, only length 3 etc so it might take some while, therefore I would suggest testing something like this (after you made sure that mp64 works as expected, see above): Code: mp64 ?a?a?a?a?a | ./hashcat --stdout just to test if the input/output works (there might be a little bit of startup lag, because hashcat needs a couple of password candidates to start) I think you could also just use a hashcat mask file (hcmask) for the padding. e.g. something like this: Code: 00,?a?a?a?a?a?1?1?1?1?1?1?1?1?1?1?1 and the command would of course need to include the --hex-charset switch Code: hashcat -m 100 -a 3 --hex-charset hash.txt a.hcmask where a.hcmask is the above hcmask file with all the 8 masks (random order or sorted, however you like ... normally the masks with a lot of ?a?a?a?a... at the beginning can accelerate much much more than others, because of larger keyspace and larger charset at the left side of the mask) RE: Hashcat not getting any candidates from maskprocessor - HomeSen - 05-31-2019 (05-31-2019, 12:12 PM)philsmd Wrote: did you try if the maskprocessor command works at all ? does the left part produce any candidates if used alone: Yes, this does produce the expected output. (05-31-2019, 12:12 PM)philsmd Wrote: also the start is probably very small with length 1, only lengh 2, only length 3 etc so it might take some while, therefore I would suggest testing something like this (after you made sure that mp64 works as expected, see above): For some reason, this doesn't give any output at all, but simply terminates after ~15s. Using an hcmask seems to work though. So, I'll use that, instead. Thank you for your help RE: Hashcat not getting any candidates from maskprocessor - philsmd - 05-31-2019 maybe whenever you find some free time, you could investigate this stdin problem further... did you try with a different terminal ? are you using linux ? you could also try if "cat" (or windows "type" command) or echo on the left side work for you... I think this is some very weird stdin problem that may depend on your terminal etc.... but we would need to investigate this further where exactly this fails. The most likely thing is that hashcat receives some "EOF" byte. otherwise it shouldn't stop at all (it should keep waiting for input). what happens with this command (attention: these commands are "wrong" on purpose ! left side is missing s.t. we see if hashcat is waiting): Code: ./hashcat --stdout or Code: ./hashcat --status --status-timer 1 example0.hash ATTENTION: both of these commands are kind of wrong, because they expect input from the pipe but there is no left side (this is just a test if hashcat is "waiting" for the input... do NOT use these commands in general) update: the problem might depend on your OpenCL runtime for your CPU, try to uninstall it and test again. I saw some weird issues like this before and after removing the OpenCL Intel Core/Xeon Runtime, the problem didn't happen anymore... not sure why this is the case sometimes please test RE: Hashcat not getting any candidates from maskprocessor - HomeSen - 06-03-2019 (05-31-2019, 07:23 PM)philsmd Wrote: maybe whenever you find some free time, you could investigate this stdin problem further... did you try with a different terminal ? are you using linux ? Hashcat itself is running on Ubuntu Linux 16.04.6 LTS, and I tried connecting to the system via SSH from different OSes with different SSH clients. All show the same behavior. It is also weird that Hashcat doesn't accept keypresses: [s]tatus [p]ause [b]ypass [c]heckpoint [q]uit Neither of these works, but that had been the case ever since we got that machine. Unfortunately, I don't have physical access to the system, so I can't check if it's the same when directly accessing the console. (05-31-2019, 07:23 PM)philsmd Wrote: you could also try if "cat" (or windows "type" command) or echo on the left side work for you... I think this is some very weird stdin problem that may depend on your terminal etc.... but we would need to investigate this further where exactly this fails. The most likely thing is that hashcat receives some "EOF" byte. otherwise it shouldn't stop at all (it should keep waiting for input). There seems to be an issue with stdin, using cat and a relatively large wordlist results in the same weird behavior: Code: $ cat /usr/share/wordlists/weakpass_2a | hashcat -m 100 /home/ptwa/uart_sha1.txt (05-31-2019, 07:23 PM)philsmd Wrote: what happens with this command (attention: these commands are "wrong" on purpose ! left side is missing s.t. we see if hashcat is waiting): It only waits for ~9s and then returns: Code: $ time hashcat --stdout (05-31-2019, 07:23 PM)philsmd Wrote: or Same for that one: Code: $ hashcat --status --status-timer 1 uart_sha1.txt (05-31-2019, 07:23 PM)philsmd Wrote: update: the problem might depend on your OpenCL runtime for your CPU, try to uninstall it and test again. I saw some weird issues like this before and after removing the OpenCL Intel Core/Xeon Runtime, the problem didn't happen anymore... not sure why this is the case sometimes please test After uninstalling the "intel-opencl" and "intel-opencl-cpu" packages, I can "cat" wordlists into hashcat, again. And I can also request the current status, as well as checkpoints, etc. Though using cat only yields ~1.3MHashes/s on those 4 GPUs in total for a plain SHA-1: Code: Session..........: hashcat Using the hcmask, I get the ~30.000 fold of that: Code: Session..........: hashcat Or when using a wordlist, I still get the ~10.000 fold of what stdin mode gave me: Code: Session..........: hashcat So, looks like the Intel Open-CL packages have been the culprit. I'm not sure how or why they had such seemingly unrelated impacts, but at least I now got that sorted. Thank you, once again, for all the help RE: Hashcat not getting any candidates from maskprocessor - philsmd - 06-04-2019 oh thanks for the confirmation. so my educated guess was spot on. I actually saw a similar problem in the past... but it's soo weird why this is happening. It's most likely a driver problem, but the problem is that it doesn't seem to happen all the time with new installations (not even all the time with a specific ubuntu system/version etc). It seems that the Intel OpenCL Runtime gets hold of the stdin file descriptor and hashcat can't read from the pipe/stdin anymore after this happens... but this shouldn't happen of course ! We would really need to debug this further and try to see where and why the stdin reading fails exactly, but without an affected installation it's of course very difficult for the devs to troubleshoot this. Maybe in the future whenever you have some spare minutes and your GPUs are not busy cracking (AND you are still able to get the same problem again), you could contact a dev/mod on #hashcat IRC and we could try to debug/troubleshoot this together. Not sure what else to say here, it's a very, very weird bug and most probably not a hashcat-related problem (but you never know for sure, but it seems to happen to a very small amount of installations that it's not really easy to get hold of such a system/problem. You are lucky !) RE: Hashcat not getting any candidates from maskprocessor - hashserious - 06-08-2019 I don't know if it's related or not, but when i try with different example hashes some hashes throw "token length exception". For example -m 400, -m 500, -m 600, -m 1600 and -m 14800(not everything was tested). Also, with -m 2501 example file the minimum password length supported by kernel is 64 and maximum is also same. System: Arch 2x gtx1080. RE: Hashcat not getting any candidates from maskprocessor - philsmd - 06-08-2019 entirely unrelated. has nothing to do with pipe and stdin. also your problems are PEBCAK as far as I can tell example hashes are here: https://hashcat.net/wiki/example_hashes you always need to specify -m x (where x is the hash type). it's definitely PEBCAK, because -m 2501 is using pairwise master key (PMK) and of course this key has fixed length (32 bytes or 64 hexadecimal characters). a fixed size key is of course of fixed size. what else should it be ? 64 (hex chars) min and 64 (hex chars) max is perfectly fine for PMK RE: Hashcat not getting any candidates from maskprocessor - hashserious - 06-08-2019 (06-08-2019, 12:52 PM)philsmd Wrote: entirely unrelated. has nothing to do with pipe and stdin. Thanks for -m 2501 clarification. As for other types, i had to escape $ symbols with "\", because otherwise it wouldn't include everything left of that symbol and thus the length was incorrect. Sorry for interruptions and thanks for insults. RE: Hashcat not getting any candidates from maskprocessor - philsmd - 06-08-2019 to me pebcak is not an insult. it's a problem description i.e. what the main cause of the problem could be. sorry if it sounded like an insult to you, sometimes it's difficult to express oneself (and feelings etc) with just a simple forum post. I didn't meant to be mean at all It's good that you've found out what is going on and that $ needs to be escape or used within quotes when directly used in the command line. as an alternative you can/should use also hash files, they are sometimes better suited especially with large hashes (and hashes with special characters like $ # ! etc) |