Hashcat on bare metal

Quick question,

I have a linux system with relatively new hardware (new enough that the 5.10 LTS kernel will not work) and I want to run hashcat on bare metal to compare hashrates between using the CPU or GPU. Currently hashcat fails as it does not like the kernel 5.1x drivers. Using opencl-mesa or amd does not change.

~]$ hashcat -b
hashcat (v6.2.4) 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 #1: Unstable OpenCL driver detected!

This OpenCL driver may fail kernel compilation or produce false negatives.
You can use --force to override, but do not report related errors.

No devices found/left.

Started: Thu Sep 23 12:41:17 2021
Stopped: Thu Sep 23 12:41:17 2021

Using the force option, the compiler eats dirt.

 ~]$ hashcat -b --force
hashcat (v6.2.4) 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.

You have enabled --force to bypass dangerous warnings and errors!
This can hide serious problems and should only be done when debugging.
Do not report hashcat issues encountered when using --force.

OpenCL API (OpenCL 1.1 Mesa 21.2.1) - Platform #1 [Mesa]
========================================================
* Device #1: AMD Radeon RX 6900 XT (SIENNA_CICHLID, DRM 3.41.0, 5.13.15-1-MANJARO, LLVM 12.0.1), 16256/16384 MB (13107 MB allocatable), 80MCU

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

-------------------
* Hash-Mode 0 (MD5)
-------------------

clCompileProgram(): CL_COMPILE_PROGRAM_FAILURE

fatal error: cannot open file '/usr/share/clc/gfx1030-amdgcn-mesa-mesa3d.bc': No such file or directory

* Device #1: Kernel /usr/share/hashcat/OpenCL/shared.cl build failed.

Started: Thu Sep 23 12:45:38 2021
Stopped: Thu Sep 23 12:45:39 2021

My question is: Does hashcat require the use of an LTS kernel and therefore it’s drivers, when used in this way? I am a security student btw.

Have you tried older versions of Hascat? Maybe older vesions might work with equally old kernel version? If its just for benchmarking performance should be similar-ish enough unless the changelog of the newer versions says it has new process optimization.

you need your gpu drivers and dependencies installed.

try:
pacman -Qi mesa-git

it should install the remaining dependencies for mesa

as it looks like its defaulting to the cpu.
if open cl is working then hashcat would use it by default.

Unfortunately downgrading kernels is not an option, anything 5.10 and below is problems for my current hardware.

Doesn’t ‘pacman -Qi mesa-git’
just query the repo for that package?

After looking around some more I was wrong when I said before that there was no difference between using the opencl drivers opencl-amd or opencl-mesa.

When using opencl-mesa I get what was posted above, notably

clCompileProgram(): CL_COMPILE_PROGRAM_FAILURE

fatal error: cannot open file '/usr/share/clc/gfx1030-amdgcn-mesa-mesa3d.bc': No such file or directory

That file it is attempting to open, gfx1030, refers to navi 2 correct? Is this indicative that my gpu is still unsupported by opencl-mesa?

If using opencl-amd it doesn’t fail, well yes it does but it fails because it is undetected.

~]$ hashcat -b --force      
hashcat (v6.2.4) 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.

You have enabled --force to bypass dangerous warnings and errors!
This can hide serious problems and should only be done when debugging.
Do not report hashcat issues encountered when using --force.

Unsupported AMD HIP runtime version '4.2' detected! Falling back to OpenCL...

clGetDeviceIDs(): CL_DEVICE_NOT_FOUND

clGetDeviceIDs(): CL_DEVICE_NOT_FOUND

No devices found/left.

Started: Fri Sep 24 00:27:05 2021
Stopped: Fri Sep 24 00:27:05 2021

Am I just chasing my tail trying to get this to work with a 6900xt?

hashcat - advanced password recovery

the requirements are listed at the top and some old versions at the bottom

frequently_asked_questions [hashcat wiki]

a faq for installing the gpu drivers.

im gonna keep looking but check these out for now.

1 Like

additional…
turns out theres driver issues.
the problem lies with the gpu driver not hashcat.
purge both the gfx driver and hashcat and install both again.

while your installing hashcat do so with the -f option to fix missing dependancies.

At the risk of re-animating a dead thread…

I can confirm it is working now. I don’t remember exactly when it started working, but it’s certainly not “apt install” easy. I did a lot of experimenting with ROCM packages, repackaging ROCM, some dkms modules, and some non-free firmware to get it to work.

I am on Debian 11, kernel 5.10.18, and I do have the amdgpu dkms module installed.

$ hashcat -b -m 0
hashcat (v6.1.1) 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 pocl 1.6, None+Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
=============================================================================================================================
* Device #1: pthread-AMD Ryzen 5 3600 6-Core Processor, skipped

OpenCL API (OpenCL 2.1 AMD-APP (3423.0)) - Platform #2 [Advanced Micro Devices, Inc.]
=====================================================================================
* Device #2: gfx1030, 16256/16368 MB (13912 MB allocatable), 40MCU

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

Hashmode: 0 - MD5

Speed.#2.........: 64314.9 MH/s (41.39ms) @ Accel:1024 Loops:1024 Thr:64 Vec:1

Started: Fri Oct  7 06:40:00 2022
Stopped: Fri Oct  7 06:40:06 2022
1 Like