dizcza / docker-hashcat Goto Github PK
View Code? Open in Web Editor NEWLatest hashcat docker for CUDA, OpenCL, and POCL. Deployed on Vast.ai
License: MIT License
Latest hashcat docker for CUDA, OpenCL, and POCL. Deployed on Vast.ai
License: MIT License
To better support frameworks that report GPU device names, it would be useful for the /usr/share/misc/pci.ids
file to be dynamically updated on build:
pciutils
package/sbin/update-pciids
Hi,
Using dizcza/docker-hashcat (latest
tag), and starting hashcat -b,
it outputs :
* Device #1: CUDA SDK Toolkit installation NOT detected.
CUDA SDK Toolkit installation required for proper device support and utilization
Falling back to OpenCL Runtime
While it's just a warning, it seems to have bad effects on performance/stability.
Could you kindly add CUDA SDK Toolkit installation to the docker file?
Thanks!
Hi,
I see you use CUDA 10.2 version. Does hashcat work with lower versions like CUDA 10.0?
I have some machines with CUDA 10 installed and I would like to have support for all CUDA versions, 10, 10.1, 10.2
Thanks
Appreciate the time you've put into this. I am currently trying to build a Frakenstein image to get your docker container to work with kasm. It would be awesome if it could just be added to kasm workspaces from the kasm admin panel.
Hi,
First - thanks for the wonderful project.
I would love to have a hashcat running wuth CUDA on my laptop (Solus Linux + nvidia GTX 860M), but CUDA SDK Toolkit is not supported on this OS,
Solus ships nvidia-docker in its repo:
Name : nvidia-docker, version: 2.5.0, release: 2
Summary : nvidia-docker CLI wrapper
Description : Build and run Docker containers leveraging NVIDIA GPUs
Licenses : Apache-2.0
Component : programming.tools
Dependencies : docker nvidia-container-runtime
Distribution : Solus, Dist. Release: 1
Architecture : x86_64, Installed Size: 861.00 B
Testing it (according to the nvidia-docker docs):
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
Sun Feb 7 10:49:32 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.39 Driver Version: 460.39 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce GTX 860M On | 00000000:01:00.0 Off | N/A |
| N/A 28C P8 N/A / N/A | 85MiB / 4046MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
+----------------------------------------------------------------------------
Everything so far is excellent, but when try to use the :latest
branch:
nvidia-docker run -it dizcza/docker-hashcat:latest /bin/bash
root@214cbf4335c8:~# hashcat -I
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
OpenCL Info:
============
OpenCL Platform ID #1
Vendor..: NVIDIA Corporation
Name....: NVIDIA CUDA
Version.: OpenCL 1.2 CUDA 11.2.136
Backend Device ID #1
Type...........: GPU
Vendor.ID......: 32
Vendor.........: NVIDIA Corporation
Name...........: GeForce GTX 860M
Version........: OpenCL 1.2 CUDA
Processor(s)...: 5
Clock..........: 1019
Memory.Total...: 4046 MB (limited to 1011 MB allocatable in one block)
Memory.Free....: 3904 MB
OpenCL.Version.: OpenCL C 1.2
Driver.Version.: 460.39
root@214cbf4335c8:~# nvidia-smi
Sun Feb 7 10:52:37 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.39 Driver Version: 460.39 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce GTX 860M On | 00000000:01:00.0 Off | N/A |
| N/A 28C P5 N/A / N/A | 85MiB / 4046MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
root@214cbf4335c8:~#
And the :cuda
branch:
nvidia-docker run -it dizcza/docker-hashcat:cuda /bin/bash
root@a7ae6347ba0b:~# hashcat -I
hashcat (v6.1.1) starting...
clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR
ATTENTION! No OpenCL-compatible or CUDA-compatible platform found.
You are probably missing the OpenCL or CUDA runtime installation.
* AMD GPUs on Linux require this driver:
"RadeonOpenCompute (ROCm)" Software Platform (3.1 or later)
* Intel CPUs require this runtime:
"OpenCL Runtime for Intel Core and Intel Xeon Processors" (16.1.1 or later)
* NVIDIA GPUs require this runtime and/or driver (both):
"NVIDIA Driver" (440.64 or later)
"CUDA Toolkit" (9.0 or later)
Note that CUDA SDK Toolkit
can't be installed on the host system :(
What am I doing wrong ?
Regards,
PY
Hi,
Will the current version of hashcat 4.2.1 be supported?
Btw to this one says that it requires OpenCL 2.0. on the site. Maybe something changed from 3.6 to 4.2 of hashcat...
Running benchmark on POCL version of this image fails.
On bare metal AMD:
hashcat (v6.2.3) 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 2.0 pocl 1.7, Debug+Asserts, LLVM 9.0.0, RELOC, SPIR, SLEEF, POCL_DEBUG) - Platform #1 [The pocl project]
============================================================================================================================
* Device #1: pthread-AMD Ryzen 9 5900X 12-Core Processor, 4295/4359 MB (2048 MB allocatable), 2MCU
Benchmark relevant options:
===========================
* --optimized-kernel-enable
Hashmode: 0 - MD5
1 error generated.
clCompileProgram(): CL_COMPILE_PROGRAM_FAILURE
* Device #1: Kernel /usr/local/share/hashcat/OpenCL/shared.cl build failed.
error: /root/.cache/pocl/kcache/tempfile-1d-e7-a3-cf-71.cl:7:10: 'inc_vendor.h' file not found
Started: Wed Aug 25 11:52:01 2021
Stopped: Wed Aug 25 11:52:02 2021
And on a KVM VM:
hashcat (v6.2.3) 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 2.0 pocl 1.7, Debug+Asserts, LLVM 9.0.0, RELOC, SPIR, SLEEF, POCL_DEBUG) - Platform #1 [The pocl project]
============================================================================================================================
* Device #1: pthread-Common KVM processor, 62211/62275 MB (16384 MB allocatable), 12MCU
Benchmark relevant options:
===========================
* --optimized-kernel-enable
Hashmode: 0 - MD5
1 error generated.
clCompileProgram(): CL_COMPILE_PROGRAM_FAILURE
error: /root/.cache/pocl/kcache/tempfile-4e-17-94-ef-f1.cl:7:10: 'inc_vendor.h' file not found
* Device #1: Kernel /usr/local/share/hashcat/OpenCL/shared.cl build failed.
Started: Wed Aug 25 11:55:19 2021
Stopped: Wed Aug 25 11:55:20 2021
i tried pulling it on docker and got this
docker run --gpus all -it dizcza/docker-hashcat /bin/bash
Using default tag: latest
latest: Pulling from dizcza/docker-hashcat
76769433fd8a: Pulling fs layer
73c18e36c3d4: Pull complete
ba1ec7a08b4c: Pull complete
e321dcf9098b: Pull complete
909b2587c444: Pull complete
835d627a028a: Pull complete
46a0313239a3: Pull complete
a84a076e227e: Pull complete
2c05008dc145: Pull complete
a5b22467f1c7: Pull complete
26f29e1250b4: Pull complete
0d2189f7abf6: Pull complete
58247411b337: Pull complete
c2298d521b5f: Pull complete
53ca54e101fd: Pull complete
90eff9de5e71: Pull complete
4f4fb700ef54: Pull complete
642667af9803: Pull complete
f04a9d11ac93: Pull complete
f6294fff0407: Pull complete
22aaee882a9f: Pull complete
d15f0844fb52: Pull complete
55e37b51b969: Pull complete
08da2354cb07: Pull complete
Digest: sha256:f8281364588bc5f443049f8d7718b3c4747339d45b8a300f20d1329501b8f9e5
Status: Downloaded newer image for dizcza/docker-hashcat:latest
docker.io/dizcza/docker-hashcat:latest
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
ERRO[0002] error waiting for container: context canceled
Hi,
Using you docker file on Linux Ubuntu 18.04.1 LTS
hashcat raise an issue:
$ hashcat -b
hashcat (v5.1.0) starting in benchmark mode...
- 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- Device #1: GeForce GTX 1080 Ti, 2794/11178 MB allocatable, 28MCU
Benchmark relevant options:
- --optimized-kernel-enable
> clCreateContext(): CL_OUT_OF_HOST_MEMORY
According to some forums, the nvidia is not installed and/or outdated.
In your DockerFile I cannot see any refernce to driver installation ?
Thanks.
Hi,
great idea to dockers hash cat :)
are you still updating/maintaining it?
I was thinking to deploy it using portainer/rancher.
thanks
I am trying to implement this DockerFile in a project, and I get the following error during build:
W: Failed to fetch http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu/dists/jessie/main/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
ERROR: Service 'worker' failed to build: The command '/bin/sh -c apt-get update && apt-get install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" nvidia-opencl-icd-384' returned a non-zero code: 100
Is there an alternative or workaround for this?
Would you be willing to add NVIDIA GeForce RTX 4090 support?
Currently encountering CL_PLATFORM_NOT_FOUND_KHR and NVRTC_ERROR_INVALID_OPTION errors when attempting to run hashcat under dizcza/docker-hashcat:cuda
I'm using your docker containers on vast.ai, which at present costs around $0.70/USD per hour to rent one RTX 4090.
The same error message was reported here:
hashcat/hashcat#2692 (comment)
As it's likely you don't have physical access to a RTX 4090, I was hoping you could jump on vast.ai for an hour or two and update support for it.
$ lspci | grep -i nvidia
03:00.0 VGA compatible controller: NVIDIA Corporation AD102 [GeForce RTX 4090] (rev a1)
03:00.1 Audio device: NVIDIA Corporation Device 22ba (rev a1)
$ nvidia-smi
Mon Dec 19 14:31:29 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.11 Driver Version: 525.60.11 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... On | 00000000:03:00.0 Off | Off |
| 0% 53C P8 16W / 450W | 172MiB / 24564MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
$ hashcat -I
hashcat (v6.2.6) starting in backend information mode
clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR
CUDA Info:
==========
CUDA.Version.: 12.0
Backend Device ID #1
Name...........: NVIDIA GeForce RTX 4090
Processor(s)...: 128
Clock..........: 2520
Memory.Total...: 24216 MB
Memory.Free....: 23657 MB
Local.Memory...: 99 KB
PCI.Addr.BDFe..: 0000:03:00.0
$ hashcat -b -m 1000
hashcat (v6.2.6) 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.
clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR
* 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
CUDA API (CUDA 12.0)
====================
* Device #1: NVIDIA GeForce RTX 4090, 23657/24216 MB, 128MCU
Benchmark relevant options:
===========================
* --optimized-kernel-enable
-----------------------
* Hash-Mode 1000 (NTLM)
-----------------------
nvrtcCompileProgram(): NVRTC_ERROR_INVALID_OPTION
nvrtc: error: invalid value for --gpu-architecture (-arch)
* Device #1: Kernel /usr/local/share/hashcat/OpenCL/shared.cl build failed.
* Device #1: Kernel /usr/local/share/hashcat/OpenCL/shared.cl build failed.
Started: Mon Dec 19 14:33:20 2022
Stopped: Mon Dec 19 14:33:21 2022
When I does hashcat in my slow machine, I can use CPU and GPU at same time. It gives about 5 to 10% more power.
So, when I rent a server in Vast.ai and use the SAME hash type, I couldn't use CPU and GPU. The CPU usage showed in Vast.ai is always low, so I thing I am loosing computer power. So:
I tried to install a lot of things and none worked.
Running hashcat command works on my mac but errors out on clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR when running on ubuntu 18.04 Bionic. I have tried both intel-cpu and latest tagged images and both have the same errors. I see this is related to #2, is the fix the same?
Hi!
It seems like if you use docker pull dizcza/docker-hashcat, the hashcat throws the following error within the container:
root@901d3870e258:/# hashcat -b
hashcat (v3.6.0) starting in benchmark mode...
clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR
Started: Tue Oct 16 15:11:50 2018
Stopped: Tue Oct 16 15:11:50 2018
After attempting to manually fix the problem, I went back and got the previous intel-cpu base image from Dockerhub and after changing the download URL for hashcat, I got it working fine:
hashcat (v3.6.0) starting in benchmark mode...
OpenCL Platform #1: Intel(R) Corporation
========================================
* Device #1: Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz, 246/987 MB allocatable, 1MCU
Hashtype: MD4
Speed.Dev.#1.....: 116.9 MH/s (8.82ms)
Hashtype: MD5
......
I think the problem may be the OpenCL runtime as that's the only thing that's changed.
This was tested on Ubuntu 18.04.1, Ubuntu 16.04.3 and generic AWS linux.
/usr/local/share/hashcat/OpenCL/: Operation not permitted
Tried to do a test run of hashcat -b and got this error.
Downloaded and ran this version:
docker pull dizcza/docker-hashcat:cuda
Any insight?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.