pipe hashes through stdout?
#1
Question 
Hey All,

Currently I am using hashcat with the --stdout option to pipe generated words to another program e.g:

./hashcat64.bin --stdout crackstation.dict | ./otherprogram

What I would like to do is have hashcat generate words, hash them with some specified sequence of hashes, then pipe the hashes to stdout. Is there any way to do that with the standard hashcat program and utils? If not does anyone know of any program that can take words as input to stdin, use GPU accelerated hasing, and pipe hashes to stdout?

Thanks for any help!
#2
I was wondering about the same some time ago.

https://hashcat.net/forum/thread-5433.html

I ended up calculating my tables on cpu - which took a lot of time... from what i understood the point of hashcat is not to output the calculated hashes. I guess there would be a bottleneck on the host side.

Appart from that, the precalculated hashes took a LOT of space - i 7zipped them but that means when searching for a hash it takes even longer.

(09-04-2016, 08:41 PM)procrustes Wrote: Hey All,

Currently I am using hashcat with the --stdout option to pipe generated words to another program e.g:

./hashcat64.bin --stdout crackstation.dict | ./otherprogram

What I would like to do is have hashcat generate words, hash them with some specified sequence of hashes, then pipe the hashes to stdout. Is there any way to do that with the standard hashcat program and utils? If not does anyone know of any program that can take words as input to stdin, use GPU accelerated hasing, and pipe hashes to stdout?

Thanks for any help!
#3
You can use tools/test.pl in passthrough mode to generate hashes. However the tool is designed for unit-tests, not to run fast.

If you want to print out hashes calculated that makes sense only for slow hashes and is therefore only available for that. In such a case you can use a hook to do that, but you'd need to add a small patch to the host code.
#4
(09-04-2016, 09:39 PM)bastibasti Wrote: I was wondering about the same some time ago.

https://hashcat.net/forum/thread-5433.html

I ended up calculating my tables on cpu - which took a lot of time... from what i understood the point of hashcat is not to output the calculated hashes. I guess there would be a bottleneck on the host side.

Appart from that, the precalculated hashes took a LOT of space - i 7zipped them but that means when searching for a hash it takes even longer.

Thanks, I kind of figured the feature was not available, but was hoping someone had a fork or something to do that. Wow those people in your thread were pretty rude.
#5
(09-05-2016, 09:40 AM)atom Wrote: You can use tools/test.pl in passthrough mode to generate hashes. However the tool is designed for unit-tests, not to run fast.

If you want to print out hashes calculated that makes sense only for slow hashes and is therefore only available for that. In such a case you can use a hook to do that, but you'd need to add a small patch to the host code.

Cool, maybe I'll try that out. The path I am currently going down is using hashcat/hashcat_utils for phrase generation and piping the phrases to my own python program. My plan is to buffer a list of inputs from hashcat_utils and then hash them in parallel with pycuda. I am hoping to just use a good reference implementation of SHA256 and run several instances in parallel with cuda.

If you think piping hashes to stdout only makes sense for slow hashes, wouldn't piping unhashed phrases make even less sense because you can generate unhashed phrases way faster than you can generate hashed phrases? So wouldn't a feature to pipe fast hashes of phrases at least make more sense than all the currently existing features for piping unhashed phrases?
#6
Yes, that will not give you nearly the performance you can get out of hashcat. Read this: https://hashcat.net/wiki/doku.php?id=fre...king_speed