Closed recrudesce closed 6 years ago
Ok, but this maybe seems to be a problem of hashcat parsing the hashes when doing benchmarks. Have you tried running the benchmark command (with --progress-only) directly in the command line, does it happen too then? If you want to force it to do no benchmark, you have two options. If it doesn't matter if the task is just executed on one agent you can set it to be a small task. Or if you still want it to be split up into some chunks you can use the static chunking feature (either set a fixed chunk length, or a fixed number of chunks for the whole task). In both cases then a benchmark won't be required anymore and therefore is skipped.
It works perfectly fine if I set it to be a Small Task. I only have 1 agent. Also works fine with the command line you provided
This is what I get via Hashtopolis agent:
{'action': 'getTask', 'token': 'FhYS0nxZTM'}
Starting new HTTP connection (1): 10.35.3.125
http://10.35.3.125:80 "POST /api/server.php HTTP/1.1" 200 340
b'{"action":"getTask","response":"SUCCESS","taskId":13,"attackcmd":"#HL# -r d3adhob0.rule rockyou.txt --username","cmdpars":" -p ] --hash-type=9700 -O -w 4 -D 2","hashlistId":14,"bench":15,"statustimer":5,"files":["rockyou.txt","d3adhob0.rule"],"crackerId":"3","benchType":"run","hashlistAlias":"#HL#","keyspace":"14344384","usePrince":false}'
Got task with id: 13
{'action': 'downloadBinary', 'token': 'FhYS0nxZTM', 'type': 'cracker', 'binaryVersionId': '3'}
Starting new HTTP connection (1): 10.35.3.125
http://10.35.3.125:80 "POST /api/server.php HTTP/1.1" 200 147
b'{"action":"downloadBinary","response":"SUCCESS","url":"https:\\/\\/hashcat.net\\/files\\/hashcat-4.2.0.7z","name":"hashcat","executable":"hashcat.bin"}'
{'action': 'getChunk', 'token': 'FhYS0nxZTM', 'taskId': 13}
Starting new HTTP connection (1): 10.35.3.125
http://10.35.3.125:80 "POST /api/server.php HTTP/1.1" 200 63
b'{"action":"getChunk","response":"SUCCESS","status":"benchmark"}'
Benchmark task...
CALL: ./hashcat64.bin --machine-readable --quiet --runtime=15 --restore-disable --potfile-disable --session=hashtopolis ../../hashlists/14 -r ../../files/d3adhob0.rule ../../files/rockyou.txt --username -p ] --hash-type=9700 -O -w 4 -D 2 -o ../../hashlists/14.out
started benchmark
{'action': 'clientError', 'token': 'FhYS0nxZTM', 'taskId': 13, 'message': 'No hashes loaded.'}
Starting new HTTP connection (1): 10.35.3.125
http://10.35.3.125:80 "POST /api/server.php HTTP/1.1" 200 45
b'{"action":"clientError","response":"SUCCESS"}'
HCSTAT: Failed to parse hashes using the 'native hashcat' format.
HCSTAT: Failed to parse hashes using the 'native hashcat' format.
HCSTAT: Failed to parse hashes using the 'native hashcat' format.
HCSTAT: Failed to parse hashes using the 'native hashcat' format.
On command line:
user@pc:~/working/input$ sudo /opt/hashcat/hashcat64.bin -w 4 -O -m 9700 ~/working/input/1.txt -o ~/working/output/1.cracked /data/dictionaries/SecLists/Passwords/rockyou.txt -r /data/rules/Hob0Rules/d3adhob0.rule --potfile-disable --progress-only
hashcat (v4.2.0) starting in progress-only mode...
OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: GeForce GTX 1080 Ti, 2794/11176 MB allocatable, 28MCU
* Device #2: GeForce GTX 1080 Ti, 2794/11178 MB allocatable, 28MCU
OpenCL Platform #2: Intel(R) Corporation
========================================
* Device #3: Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz, skipped.
Progress.Dev.#1..: 458752
Progress.Dev.#2..: 458752
Runtime.Dev.#1...: 320044.66ms
Runtime.Dev.#2...: 308874.65ms
Started: Mon Sep 3 09:54:26 2018
Stopped: Mon Sep 3 09:54:34 2018
Ok interesting. Can you please check if the hashlist which is downloaded by the agent is completely correct (in file hashlists/14). Because before the 'failed to parse' error there is the client error mentioning 'no hashes loaded' which makes me think that maybe there was something wrong on the hashlist download.
If the download looks fine, coul you please go into the directory of the cracker (crackers/3) and then run:
./hashcat64.bin --runtime=15 --restore-disable --potfile-disable --session=hashtopolis ../../hashlists/14 -r ../../files/d3adhob0.rule ../../files/rockyou.txt --username -p ] --hash-type=9700 -O -w 4 -D 2 -o ../../hashlists/14.out
Hopefully this would give us then some more output and information what exactly is happening.
Hashlist is downloaded fine.
(note: had to mod the paths to the files in the command)
user@pc:/opt/hashcat$ sudo ./hashcat64.bin --runtime=15 --restore-disable --potfile-disable --session=hashtopolis /opt/htpagent/hashlists/14 -r /data/rules/Hob0Rules/d3adhob0.rule /data/dictionaries/SecLists/Passwords/rockyou.txt --username -p ] --hash-type=9700 -O -w 4 -D 2 -o ~/working/output/14.out
hashcat (v4.2.0) starting...
OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: GeForce GTX 1080 Ti, 2794/11176 MB allocatable, 28MCU
* Device #2: GeForce GTX 1080 Ti, 2794/11178 MB allocatable, 28MCU
OpenCL Platform #2: Intel(R) Corporation
========================================
* Device #3: Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz, skipped.
Failed to parse hashes using the 'native hashcat' format.
Failed to parse hashes using the 'native hashcat' format.
Failed to parse hashes using the 'native hashcat' format.
No hashes loaded.
Started: Mon Sep 3 10:36:41 2018
Stopped: Mon Sep 3 10:36:41 2018
Does it change anything if you switch to the other benchmark type?
Replace --runtime=15
with --progress-only
user@pc:/opt/hashcat$ sudo ./hashcat64.bin --progress-only --restore-disable --potfile-disable --session=hashtopolis /opt/htpagent/hashlists/14 -r /data/rules/Hob0Rules/d3adhob0.rule /data/dictionaries/SecLists/Passwords/rockyou.txt --username -p ] --hash-type=9700 -O -w 4 -D 2 -o ~/working/output/14.out
hashcat (v4.2.0) starting in progress-only mode...
OpenCL Platform #1: NVIDIA Corporation
======================================
* Device #1: GeForce GTX 1080 Ti, 2794/11176 MB allocatable, 28MCU
* Device #2: GeForce GTX 1080 Ti, 2794/11178 MB allocatable, 28MCU
OpenCL Platform #2: Intel(R) Corporation
========================================
* Device #3: Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz, skipped.
Failed to parse hashes using the 'native hashcat' format.
Failed to parse hashes using the 'native hashcat' format.
Failed to parse hashes using the 'native hashcat' format.
No hashes loaded.
Started: Mon Sep 3 10:45:43 2018
Stopped: Mon Sep 3 10:45:43 2018
Getting rid of --username
in any of your above commands fixes the issue, which is strange because there are no usernames in the hash list. They're exactly as per hashcat's example hashes.
So maybe a hashcat issue rather than yours ?
Hmm yeah, in that case it might be a hashcat issue. I'm not aware about how the --username flag should be exactly used, but as far as I quickly read it, yes it should be fine. Maybe they changed the usage of this flag at some point and it's not necessary anymore? But I guess the best would be to ask in the hashcat forum, irc or create an issue.
Will do, thanks !
I just saw the issue you created on hashcat. The --username
definitely does not come from Hashtopolis, you must've put it in yourself when creating the task?
My bad, let me edit.
Thanks :)
OK, so it turns out the --username
entry was added by a user manually for the job (seems the original hash list they created had filename hashes before the password hashes), then they changed to just a hashlist but didn't edit the job. So issue isn't with Hashtopolis, it's with Hashcat.
Not a bug, more a feature request.
Sometimes I experience issues when benchmarking hashes, most recently for hashtype 9700, where no matter what the hashes are (they are valid hashes), I get a
HCSTAT: Failed to parse hashes using the 'native hashcat' format.
error when it tries to benchmark, therefore preventing the job from actually running. Cracking the same hashes via the command line works fine, so the issue isn't the hashes it seems. This is using latest versions of Hashtopolis, Python agent, and Hashcat binaries.It'd be nice to have a "Don't perform benchmark" option, therefore a job could be configured to just run the crack, rather than work out how fast it'll be or how long it'll take.
Thanks :+1: