FS#76252 - [john] 1.9.0.jumbo1-7 OpenCL error on several hashes
Attached to Project:
Community Packages
Opened by Michael (ZeroBeat) - Thursday, 20 October 2022, 07:31 GMT
Last edited by Caleb Maclennan (alerque) - Thursday, 01 December 2022, 08:57 GMT
Opened by Michael (ZeroBeat) - Thursday, 20 October 2022, 07:31 GMT
Last edited by Caleb Maclennan (alerque) - Thursday, 01 December 2022, 08:57 GMT
|
Details
john 1.9.0.jumbo1-7 is broken (OpenCL error) on several hash
modes.
Steps to reproduce (example): hash: 2582a8281bf9d4308d6f5731d0e61c61*4604ba734d4e*89acf0e761f4*ed487162465a774bfba60eb603a39f3a password: hashcat! $ echo "2582a8281bf9d4308d6f5731d0e61c61*4604ba734d4e*89acf0e761f4*ed487162465a774bfba60eb603a39f3a" > pmkid.john $ echo "hashcat!" > word.list $ john -w:word.list --format=wpapsk-opencl pmkid.john Device 1@tux1: NVIDIA GeForce GTX 1080 Ti Using default input encoding: UTF-8 Loaded 1 password hash (wpapsk-opencl, WPA/WPA2/PMF/PMKID PSK [PBKDF2-SHA1 OpenCL]) Cost 1 (key version [0:PMKID 1:WPA 2:WPA2 3:802.11w]) is 0 for all loaded hashes 6 errors generated. Options used: -I /usr/share/john/kernels -cl-mad-enable -DSM_MAJOR=6 -DSM_MINOR=1 -D__GPU__ -DDEVICE_INFO=524306 -D__SIZEOF_HOST_SIZE_T__=8 -DDEV_VER_MAJOR=520 -DDEV_VER_MINOR=56 -D_OPENCL_COMPILER -DHASH_LOOPS=105 -DITERATIONS=4095 -DPLAINTEXT_LENGTH=63 -DV_WIDTH=1 /usr/share/john/kernels/wpapsk_kernel.cl Build log: In file included from <kernel>:12: /usr/share/john/kernels/opencl_sha2_ctx.h:122:24: error: passing '__generic uchar *' (aka '__generic unsigned char *') to parameter of type 'const uchar *' (aka 'const unsigned char *') changes address space of pointer _sha256_process(ctx, ctx->buffer); ^~~~~~~~~~~ /usr/share/john/kernels/opencl_sha2_ctx.h:40:51: note: passing argument to parameter 'data' here void _sha256_process(SHA256_CTX *ctx, const uchar data[64]) { ^ /usr/share/john/kernels/opencl_sha2_ctx.h:130:24: error: passing 'const __generic uchar *' (aka 'const __generic unsigned char *') to parameter of type 'const uchar *' (aka 'const unsigned char *') changes address space of pointer _sha256_process(ctx, input); ^~~~~ /usr/share/john/kernels/opencl_sha2_ctx.h:40:51: note: passing argument to parameter 'data' here void _sha256_process(SHA256_CTX *ctx, const uchar data[64]) { ^ /usr/share/john/kernels/opencl_sha2_ctx.h:291:24: error: passing '__generic uchar *' (aka '__generic unsigned char *') to parameter of type 'const uchar *' (aka 'const unsigned char *') changes address space of pointer _sha512_process(ctx, ctx->buffer); ^~~~~~~~~~~ /usr/share/john/kernels/opencl_sha2_ctx.h:209:51: note: passing argument to parameter 'data' here void _sha512_process(SHA512_CTX *ctx, const uchar data[128]) { ^ /usr/share/john/kernels/opencl_sha2_ctx.h:299:24: error: passing 'const __generic uchar *' (aka 'const __generic unsigned char *') to parameter of type 'const uchar *' (aka 'const unsigned char *') changes address space of pointer _sha512_process(ctx, input); ^~~~~ /usr/share/john/kernels/opencl_sha2_ctx.h:209:51: note: passing argument to parameter 'data' here void _sha512_process(SHA512_CTX *ctx, const uchar data[128]) { ^ In file included from <kernel>:13: /usr/share/john/kernels/opencl_cmac.h:62:22: error: passing 'const __generic uint8_t *' (aka 'const __generic unsigned char *') to parameter of type 'const void *' changes address space of pointer AES_set_encrypt_key(key, 128, &ctx->aesctx); ^~~ /usr/share/john/kernels/opencl_aes_bitslice.h:1001:61: note: expanded from macro 'AES_set_encrypt_key' #define AES_set_encrypt_key(key, bits, ctx) AES_Setkey(ctx, key, (bits) / 8) ^~~ /usr/share/john/kernels/opencl_aes_bitslice.h:690:45: note: passing argument to parameter 'key' here AES_Setkey(AES_CTX *ctx, AES_KEY_TYPE void *key, int len) ^ <kernel>:546:15: error: passing '__generic uchar *' (aka '__generic unsigned char *') to parameter of type 'uchar *' (aka 'unsigned char *') changes address space of pointer SHA256_Final(mac, &ctx); ^~~ /usr/share/john/kernels/opencl_sha2_ctx.h:145:25: note: passing argument to parameter 'output' here void SHA256_Final(uchar output[32], SHA256_CTX *ctx) { ^ Error building kernel /usr/share/john/kernels/wpapsk_kernel.cl. DEVICE_INFO=524306 0: OpenCL CL_BUILD_PROGRAM_FAILURE (-11) error in opencl_common.c:1386 - clBuildProgram $ pacman -Q | grep nvidia nvidia 520.56.06-4 nvidia-settings 520.56.06-1 nvidia-utils 520.56.06-2 opencl-nvidia 520.56.06-2 $ pacman -Q | grep cuda cuda 11.8.0-1 |
This task depends upon
Closed by Caleb Maclennan (alerque)
Thursday, 01 December 2022, 08:57 GMT
Reason for closing: Not a bug
Additional comments about closing: This is not a packaging bug, it is an upstream bug. Upstream has a fix, but it isn't in a tagged release yet that we can ship.
Thursday, 01 December 2022, 08:57 GMT
Reason for closing: Not a bug
Additional comments about closing: This is not a packaging bug, it is an upstream bug. Upstream has a fix, but it isn't in a tagged release yet that we can ship.
https://github.com/openwall/john/issues/5205
https://github.com/openwall/john/issues/5205
https://github.com/openwall/john/issues/5205#issuecomment-1287069933
Here's a workaround for you though: Edit john.conf and find GlobalBuildOpts. Append -cl-std=CL1.2 to what is already there:
GlobalBuildOpts = -cl-mad-enable -cl-std=CL1.2
on latest git head:
$ john
John the Ripper 1.9.0-jumbo-1+bleeding-84a4aeb20 2022-10-17 14:03:56 +0200 MPI + OMP [linux-gnu 64-bit x86_64 AVX AC]
Copyright (c) 1996-2022 by Solar Designer and others
Homepage: https://www.openwall.com/john/
that will solve the problem:
$ john -w:word.list --format=wpapsk-opencl pmkid.john
Device 1@tux1: NVIDIA GeForce GTX 1080 Ti
Using default input encoding: UTF-8
Loaded 1 password hash (wpapsk-opencl, WPA/WPA2/PMF/PMKID PSK [PBKDF2-SHA1 OpenCL])
Note: Minimum length forced to 8 by format
LWS=256 GWS=1048576 (4096 blocks)
Press 'q' or Ctrl-C to abort, 'h' for help, almost any other key for status
Warning: Only 1 candidate buffered, minimum 1048576 needed for performance.
hashcat! (?)
1g 0:00:00:00 DONE (2022-10-21 17:50) 20.00g/s 20.00p/s 20.00c/s 20.00C/s Dev#1:62°C hashcat!
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
Not sure, if it is working on john 1.9.0.jumbo1-7, too, because this version was hit by another bug (fixed):
https://github.com/openwall/john/issues/4667
https://github.com/openwall/john/pull/5207
https://github.com/openwall/john/commit/8d5524d3ac9a62678c585efec1298b213d30d61e
Please consider to move from JtR Jumbo to JtR bleeding, because it is thousand commits ahead.