Printing List of Candidates
#1
Hi,

It's been a while since I used this tool and I was definitely able to print a list of candidates before.  I'm stumped and have looked all over trying to figure this out.  I'm sure it's a simple thing I'm overlooking.

I want to take my wordlist, apply a rule, and output that to a file to create a larger more complex (rule based) wordlist.  If I run the wordlist + rule against my truecrypt file directly it's awfully slow (3000h/s) because I'm starving my GPU.  Last time I came across this, I ran the rule against the base wordlist in hashcat to generate a custom rule-based wordlist.  Once I had that, I used the new wordlist as input for the actual run against the file.

I trimmed the output to not show every line of my base list, but every single line gives me a token length exception, and ends with "no hashes loaded".

Code:
Desktop\hashcat-6.1.1> .\hashcat.exe -r Rules\leetspeak.rule nevada.txt
hashcat (v6.1.1) starting...

* Device #1: CUDA SDK Toolkit installation NOT detected.
            CUDA SDK Toolkit installation required for proper device support and utilization
            Falling back to OpenCL Runtime

* Device #1: WARNING! Kernel exec timeout is not disabled.
            This may cause "CL_OUT_OF_RESOURCES" or related errors.
            To disable the timeout, see: https://hashcat.net/q/timeoutpatch
OpenCL API (OpenCL 1.2 CUDA 11.2.66) - Platform #1 [NVIDIA Corporation]
=======================================================================
* Device #1: GeForce RTX 2060, 4992/6144 MB (1536 MB allocatable), 30MCU

Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 256

Hashfile 'nevada.txt' on line 1 (nevada): Token length exception
.
.
.
Hashfile 'nevada.txt' on line 249 (Colombia): Token length exception
Hashfile 'nevada.txt' on line 250 (Silver): Token length exception
Hashfile 'nevada.txt' on line 251 (Denver): Token length exception
Hashfile 'nevada.txt' on line 252 (Phoenix): Token length exception
No hashes loaded.



I can run the rule and wordlist directly, and it works just fine (but slow).  With a large enough candidate list, I know I can get ~130kh/s against TC-6213.

Code:
hashcat-6.1.1> .\hashcat.exe -a 0 -m 6213 container.tc nevada.txt -r Rules\leetspeak.rule
hashcat (v6.1.1) starting...

* Device #1: CUDA SDK Toolkit installation NOT detected.
            CUDA SDK Toolkit installation required for proper device support and utilization
            Falling back to OpenCL Runtime

* Device #1: WARNING! Kernel exec timeout is not disabled.
            This may cause "CL_OUT_OF_RESOURCES" or related errors.
            To disable the timeout, see: https://hashcat.net/q/timeoutpatch
OpenCL API (OpenCL 1.2 CUDA 11.2.66) - Platform #1 [NVIDIA Corporation]
=======================================================================
* Device #1: GeForce RTX 2060, 4992/6144 MB (1536 MB allocatable), 30MCU

Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 64

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Rules: 17

Applicable optimizers applied:
* Zero-Byte
* Single-Hash
* Single-Salt
* Slow-Hash-SIMD-LOOP

Watchdog: Temperature abort trigger set to 90c

Host memory required for this attack: 590 MB

Dictionary cache hit:
* Filename..: nevada.txt
* Passwords.: 252
* Bytes.....: 2117
* Keyspace..: 4284

The wordlist or mask that you are using is too small.
This means that hashcat cannot use the full parallel power of your device(s).
Unless you supply more work, your cracking speed will drop.
For tips on supplying more work, see: https://hashcat.net/faq/morework

Approaching final keyspace - workload adjusted.

Session..........: hashcat
Status...........: Exhausted
Hash.Name........: TrueCrypt RIPEMD160 + XTS 1536 bit
Hash.Target......: container.tc
Time.Started.....: Tue Jan 19 14:13:52 2021 (2 secs)
Time.Estimated...: Tue Jan 19 14:13:54 2021 (0 secs)
Guess.Base.......: File (nevada.txt)
Guess.Mod........: Rules (Rules\leetspeak.rule)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:    3294 H/s (0.22ms) @ Accel:8 Loops:8 Thr:1024 Vec:1
Recovered........: 0/1 (0.00%) Digests
Progress.........: 4284/4284 (100.00%)
Rejected.........: 0/4284 (0.00%)
Restore.Point....: 252/252 (100.00%)
Restore.Sub.#1...: Salt:0 Amplifier:16-17 Iteration:1992-1999
Candidates.#1....: n3v@d@ -> Ph03n1x
Hardware.Mon.#1..: Temp: 41c Fan:  0% Util: 67% Core:1995MHz Mem:6801MHz Bus:16


When I use stdout this is all it prints:

Code:
Desktop\hashcat-6.1.1> .\hashcat.exe -a 0 -m 6213 container.tc nevada.txt -r Rules\leetspeak.rule --stdout
* Device #1: CUDA SDK Toolkit installation NOT detected.
            CUDA SDK Toolkit installation required for proper device support and utilization
            Falling back to OpenCL Runtime


Any help would be much appreciated.  I've been trying to print this to a file using "> output.txt" along with the stdout option but all I get are the lines printed in the last code snippet in the file.

Thanks in advance
Reply
#2
Either you use --stdout or you run an attack. Your commands are very confused.

.\hashcat.exe -r Rules\leetspeak.rule nevada.txt
this runs an attack with nevada.txt as hash list on the default hash mode (0) that waits for candidates on stdin

.\hashcat.exe -a 0 -m 6213 container.tc nevada.txt -r Rules\leetspeak.rule --stdout
this generates candidates to stdout with container.tc as base wordlist (hash mode is ignored in --stdout and there is no hash list)

what you actually want is
.\hashcat.exe -r Rules\leetspeak.rule nevada.txt --stdout -o output.txt

but what you really want is
.\hashcat.exe -a 0 -m 6213 container.tc nevada.txt -r Rules\leetspeak.rule -S
Reply
#3
Thank you very much, it's working well and the "-S" modifier was completely out of my radar

Have a good one
Reply