Errors getting this working on MacOS Catalina
#1
Hello all,

I appreciate there have been several topics on this so far, but none seem to get to the bottom of the issue. I guess as a first question, does anyone have hashcat working properly on the dedicated GPU in a mac, from Catalina onwards?

For the record, im not suggesting this is a hashcat issue, because to be honest, I feel like things have changed as updates for Catalalina have been released so there is every chance this is some Apple stuff going on.

My setup has basically been to clone the very latest Hashcat build and make it, then run the app from inside the directory:

Code:
./hashcat -b                                                                                                                                                                                                                               
hashcat (v6.2.2-80-gc32242980) starting in benchmark mode

Benchmarking uses hand-optimized kernel code by default.
You can use it in your cracking session by setting the -O option.
Note: Using optimized kernel code limits the maximum supported password length.
To disable the optimized kernel code in benchmark mode, use the -w option.

OpenCL API (OpenCL 1.2 (Apr 25 2021 19:57:40)) - Platform #1 [Apple]
====================================================================
* Device #1: Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz, 16320/16384 MB (4096 MB allocatable), 12MCU
* Device #2: Intel(R) UHD Graphics 630, skipped
* Device #3: AMD Radeon Pro 560X Compute Engine, skipped

Benchmark relevant options:
===========================
* --optimized-kernel-enable

Hashmode: 0 - MD5

clCompileProgram(): CL_BUILD_PROGRAM_FAILURE


* Device #1: Kernel /Users/xxx/Downloads/hashcat/OpenCL/shared.cl build failed.

Started: Fri Jul  2 15:50:07 2021
Stopped: Fri Jul  2 15:50:08 2021


Prior to Catalina it worked well every since it was released for the Mac, but lately its been very hit and miss. Early versions of Catalina it worked ok, but with command switched like -O to make things work.  Any feedback or help gratefully received. I am due to move to Big Sur when i get some software licensing sorted so ill be trying it there too.
Reply
#2
I am unregularly testing hashcat on Mac Pro (2019) on this version macOS version:

Code:
ProductName:    macOS
ProductVersion: 11.3.1
BuildVersion:  20E241

Compiling and running works good. CPU Supports is stable (similar to Linux/Windows). The real problem is that GPU drivers are a pain, but that's all about the drivers and it's not hashcats fault. The Intel ones are not as bad as the AMD one, but they both are far away from the stability and reliability of the NV or ROCm driver. The problem with the bad legacy AMD drivers also exists on Linux/Windows, but at least we have ROCm as a good alternative on Linux. AFAIK there's no ROCm on macOS. Thus hashcat on macOS by default uses CPU instead of GPU. On Linux/Windows it's the opposite. But you can enable them using -D2.

I am also testing on different other models. The problems you describe are unknown to me. Here's a benchmark using the exact same hashcat version using -D1,2:

Code:
hashcat (v6.2.2-80-gc32242980) starting in benchmark mode

Benchmarking uses hand-optimized kernel code by default.
You can use it in your cracking session by setting the -O option.
Note: Using optimized kernel code limits the maximum supported password length.
To disable the optimized kernel code in benchmark mode, use the -w option.

* Device #2: Apple's OpenCL drivers (GPU) are known to be unreliable.
             You have been warned.

OpenCL API (OpenCL 1.2 (Feb 28 2021 03:51:16)) - Platform #1 [Apple]
====================================================================
* Device #1: Intel(R) Xeon(R) W-3223 CPU @ 3.50GHz, 32704/32768 MB (8192 MB allocatable), 16MCU
* Device #2: AMD Radeon Pro W5700X Compute Engine, 16304/16368 MB (4092 MB allocatable), 40MCU

Benchmark relevant options:
===========================
* --opencl-device-types=1,2
* --optimized-kernel-enable

Hashmode: 0 - MD5

Speed.#1.........:   640.7 MH/s (26.17ms) @ Accel:1024 Loops:1024 Thr:1 Vec:4
Speed.#2.........: 20652.5 MH/s (57.11ms) @ Accel:1024 Loops:1024 Thr:32 Vec:1
Speed.#*.........: 21293.2 MH/s

Hashmode: 100 - SHA1

Speed.#1.........:   319.8 MH/s (52.34ms) @ Accel:1024 Loops:1024 Thr:1 Vec:4
Speed.#2.........:  8458.4 MH/s (72.46ms) @ Accel:1024 Loops:512 Thr:32 Vec:1
Speed.#*.........:  8778.1 MH/s

Hashmode: 1400 - SHA2-256

Speed.#1.........:   113.6 MH/s (73.70ms) @ Accel:512 Loops:1024 Thr:1 Vec:4
Speed.#2.........:  3484.3 MH/s (89.43ms) @ Accel:1024 Loops:256 Thr:32 Vec:1
Speed.#*.........:  3597.9 MH/s

Hashmode: 1700 - SHA2-512

Speed.#1.........: 37948.3 kH/s (55.13ms) @ Accel:128 Loops:1024 Thr:1 Vec:2
Speed.#2.........:   573.9 MH/s (64.92ms) @ Accel:256 Loops:128 Thr:32 Vec:1
Speed.#*.........:   611.8 MH/s

Hashmode: 22000 - WPA-PBKDF2-PMKID+EAPOL (Iterations: 4095)

Speed.#1.........:    14862 H/s (68.67ms) @ Accel:256 Loops:1024 Thr:1 Vec:4
Speed.#2.........:   373.6 kH/s (52.87ms) @ Accel:512 Loops:128 Thr:32 Vec:1
Speed.#*.........:   388.5 kH/s

Hashmode: 1000 - NTLM

Speed.#1.........:  1077.8 MH/s (15.45ms) @ Accel:1024 Loops:1024 Thr:1 Vec:4
Speed.#2.........: 33844.8 MH/s (35.89ms) @ Accel:1024 Loops:1024 Thr:32 Vec:1
Speed.#*.........: 34922.5 MH/s

Hashmode: 3000 - LM

* Device #1: Skipping hash-mode 3000)
             This is due to a known CUDA/OpenCL runtime/driver issue (not a hashcat issue)
             You can use --force to override, but do not report related errors.
Speed.#2.........: 20448.9 MH/s (64.43ms) @ Accel:1024 Loops:1024 Thr:32 Vec:1
Speed.#*.........: 20448.9 MH/s

Hashmode: 5500 - NetNTLMv1 / NetNTLMv1+ESS

Speed.#1.........:   659.3 MH/s (25.32ms) @ Accel:1024 Loops:1024 Thr:1 Vec:4
Speed.#2.........: 22535.7 MH/s (56.50ms) @ Accel:1024 Loops:1024 Thr:32 Vec:1
Speed.#*.........: 23195.0 MH/s

Hashmode: 5600 - NetNTLMv2

Speed.#1.........: 61737.9 kH/s (67.80ms) @ Accel:256 Loops:1024 Thr:1 Vec:4
Speed.#2.........:  1428.5 MH/s (51.75ms) @ Accel:512 Loops:128 Thr:32 Vec:1
Speed.#*.........:  1490.2 MH/s

Hashmode: 1500 - descrypt, DES (Unix), Traditional DES

* Device #1: Skipping hash-mode 1500)
             This is due to a known CUDA/OpenCL runtime/driver issue (not a hashcat issue)
             You can use --force to override, but do not report related errors.
* Device #2: Skipping hash-mode 1500)
             This is due to a known CUDA/OpenCL runtime/driver issue (not a hashcat issue)
             You can use --force to override, but do not report related errors.
Speed.#*.........:        0 H/s

Hashmode: 500 - md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5) (Iterations: 1000)

Speed.#1.........:   102.0 kH/s (79.77ms) @ Accel:1024 Loops:500 Thr:1 Vec:4
Speed.#2.........:  7103.4 kH/s (71.46ms) @ Accel:1024 Loops:500 Thr:32 Vec:1
Speed.#*.........:  7205.4 kH/s

Hashmode: 3200 - bcrypt $2*$, Blowfish (Unix) (Iterations: 32)

* Device #2: Skipping hash-mode 3200)
             This is due to a known CUDA/OpenCL runtime/driver issue (not a hashcat issue)
             You can use --force to override, but do not report related errors.
Speed.#1.........:     8363 H/s (29.64ms) @ Accel:16 Loops:32 Thr:1 Vec:1
Speed.#*.........:     8363 H/s

Hashmode: 1800 - sha512crypt $6$, SHA512 (Unix) (Iterations: 5000)

* Device #2: Skipping hash-mode 1800)
             This is due to a known CUDA/OpenCL runtime/driver issue (not a hashcat issue)
             You can use --force to override, but do not report related errors.
Speed.#1.........:     4234 H/s (48.14ms) @ Accel:128 Loops:512 Thr:1 Vec:2
Speed.#*.........:     4234 H/s

Hashmode: 7500 - Kerberos 5, etype 23, AS-REQ Pre-Auth

Speed.#1.........:  9259.5 kH/s (56.49ms) @ Accel:32 Loops:1024 Thr:1 Vec:4
Speed.#2.........:   264.5 MH/s (70.71ms) @ Accel:64 Loops:256 Thr:32 Vec:1
Speed.#*.........:   273.7 MH/s

Hashmode: 13100 - Kerberos 5, etype 23, TGS-REP

* Device #2: Skipping hash-mode 13100)
             This is due to a known CUDA/OpenCL runtime/driver issue (not a hashcat issue)
             You can use --force to override, but do not report related errors.
Speed.#1.........:  8973.0 kH/s (58.29ms) @ Accel:32 Loops:1024 Thr:1 Vec:4
Speed.#*.........:  8973.0 kH/s

Hashmode: 15300 - DPAPI masterkey file v1 (Iterations: 23999)

* Device #2: Skipping hash-mode 15300)
             This is due to a known CUDA/OpenCL runtime/driver issue (not a hashcat issue)
             You can use --force to override, but do not report related errors.
Speed.#1.........:     2603 H/s (65.41ms) @ Accel:256 Loops:1024 Thr:1 Vec:4
Speed.#*.........:     2603 H/s

Hashmode: 15900 - DPAPI masterkey file v2 (Iterations: 12899)

Speed.#1.........:     1315 H/s (59.77ms) @ Accel:128 Loops:512 Thr:1 Vec:2
Speed.#2.........:    20648 H/s (74.68ms) @ Accel:256 Loops:64 Thr:32 Vec:1
Speed.#*.........:    21963 H/s

Hashmode: 7100 - macOS v10.8+ (PBKDF2-SHA512) (Iterations: 1023)

Speed.#1.........:    16364 H/s (41.16ms) @ Accel:128 Loops:511 Thr:1 Vec:2
Speed.#2.........:   260.3 kH/s (65.97ms) @ Accel:128 Loops:127 Thr:32 Vec:1
Speed.#*.........:   276.7 kH/s

Hashmode: 11600 - 7-Zip (Iterations: 16384)

Speed.#1.........:     4692 H/s (54.30ms) @ Accel:64 Loops:4096 Thr:1 Vec:4
Speed.#2.........:   415.3 kH/s (83.08ms) @ Accel:128 Loops:4096 Thr:32 Vec:1
Speed.#*.........:   420.0 kH/s

Hashmode: 12500 - RAR3-hp (Iterations: 262144)

Speed.#1.........:      711 H/s (89.98ms) @ Accel:64 Loops:16384 Thr:1 Vec:4
Speed.#2.........:    62548 H/s (78.43ms) @ Accel:64 Loops:16384 Thr:32 Vec:1
Speed.#*.........:    63258 H/s

Hashmode: 13000 - RAR5 (Iterations: 32799)

Speed.#1.........:     1444 H/s (88.47ms) @ Accel:512 Loops:512 Thr:1 Vec:4
Speed.#2.........:    42821 H/s (56.48ms) @ Accel:512 Loops:128 Thr:32 Vec:1
Speed.#*.........:    44265 H/s

Hashmode: 6211 - TrueCrypt RIPEMD160 + XTS 512 bit (Iterations: 1999)

* Device #2: Skipping hash-mode 6211)
             This is due to a known CUDA/OpenCL runtime/driver issue (not a hashcat issue)
             You can use --force to override, but do not report related errors.
Speed.#1.........:    11567 H/s (87.93ms) @ Accel:256 Loops:512 Thr:1 Vec:4
Speed.#*.........:    11567 H/s

Hashmode: 13400 - KeePass 1 (AES/Twofish) and KeePass 2 (AES) (Iterations: 24569)

Speed.#1.........:     2602 H/s (65.49ms) @ Accel:512 Loops:512 Thr:1 Vec:4
Speed.#2.........:    62679 H/s (102.95ms) @ Accel:512 Loops:256 Thr:32 Vec:1
Speed.#*.........:    65281 H/s

Hashmode: 6800 - LastPass + LastPass sniffed (Iterations: 499)

* Device #2: Skipping hash-mode 6800)
             This is due to a known CUDA/OpenCL runtime/driver issue (not a hashcat issue)
             You can use --force to override, but do not report related errors.
Speed.#1.........:    91807 H/s (87.06ms) @ Accel:512 Loops:499 Thr:1 Vec:4
Speed.#*.........:    91807 H/s

Hashmode: 11300 - Bitcoin/Litecoin wallet.dat (Iterations: 200459)

Speed.#1.........:      189 H/s (55.14ms) @ Accel:128 Loops:1024 Thr:1 Vec:2
Speed.#2.........:     2750 H/s (70.08ms) @ Accel:256 Loops:128 Thr:32 Vec:1
Speed.#*.........:     2939 H/s

Started: Sat Jul  3 08:47:57 2021
Stopped: Sat Jul  3 08:51:08 2021
Reply
#3
Thanks for the response and info! Ill see what happens when I move to Big Sur!

Thanks again.
Reply