From 708adbc54ba13adb21cc9092d4ef4611df16599c Mon Sep 17 00:00:00 2001 From: jsteube Date: Mon, 27 Feb 2017 14:47:41 +0100 Subject: [PATCH] Fixed cracking of Plaintext (-m 99999) in case MD4 was used in a previous session --- docs/changes.txt | 19 ++++++++++--------- src/opencl.c | 5 +++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index 3b6145795..1a2b2a603 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -40,20 +40,21 @@ ## Bugs ## -- Fixed truncation of password after position 32 with the combinator attack +- Fixed a problem within the Kerberos 5 TGS-REP (-m 13100) hash parser +- Fixed clEnqueueNDRangeKernel(): CL_UNKNOWN_ERROR caused by an invalid work-item count during weak-hash-check +- Fixed cracking of PeopleSoft Token (-m 13500) if salt length + password length is >= 128 byte +- Fixed cracking of Plaintext (-m 99999) in case MD4 was used in a previous session - Fixed DEScrypt cracking in BF mode in case the hashlist contains more than 16 times the same salt -- Fixed use of option --keyspace in combination with -m 2500 (WPA) -- Fixed rule 'O' (RULE_OP_MANGLE_OMIT) in host mode in case the offset + length parameter equals the length of the input word - Fixed duplicate detection for WPA handshakes with the same ESSID -- Fixed clEnqueueNDRangeKernel(): CL_UNKNOWN_ERROR caused by an invalid work-item count during weak-hash-check - Fixed nvapi datatype definition for NvS32 and NvU32 -- Fixed WPA/WPA2 cracking in case eapol frame is >= 248 byte -- Fixed string not null terminated inside workaround for checking drm driver path -- Fixed string not null terminated while reading maskfiles - Fixed pointer to local outside scope in case -j or -k is used - Fixed pointer to local outside scope in case --markov-hcstat is not used -- Fixed a problem within the Kerberos 5 TGS-REP (-m 13100) hash parser -- Fixed cracking of PeopleSoft Token if salt length + password length is >= 128 byte +- Fixed rule 'O' (RULE_OP_MANGLE_OMIT) in host mode in case the offset + length parameter equals the length of the input word +- Fixed string not null terminated inside workaround for checking drm driver path +- Fixed string not null terminated while reading maskfiles +- Fixed truncation of password after position 32 with the combinator attack +- Fixed use of option --keyspace in combination with -m 2500 (WPA) +- Fixed WPA/WPA2 cracking in case eapol frame is >= 248 byte ## ## Technical diff --git a/src/opencl.c b/src/opencl.c index 801dc674d..1ed42327f 100644 --- a/src/opencl.c +++ b/src/opencl.c @@ -2381,6 +2381,7 @@ void opencl_ctx_destroy (hashcat_ctx_t *hashcat_ctx) int opencl_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime) { + hashconfig_t *hashconfig = hashcat_ctx->hashconfig; opencl_ctx_t *opencl_ctx = hashcat_ctx->opencl_ctx; user_options_t *user_options = hashcat_ctx->user_options; @@ -2910,9 +2911,9 @@ int opencl_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime) char *device_name_chksum = (char *) hcmalloc (HCBUFSIZ_TINY); #if defined (__x86_64__) - const size_t dnclen = snprintf (device_name_chksum, HCBUFSIZ_TINY - 1, "%d-%u-%u-%s-%s-%s-%d-%u", 64, device_param->platform_vendor_id, device_param->vector_width, device_param->device_name, device_param->device_version, device_param->driver_version, comptime, user_options->opencl_vector_width); + const size_t dnclen = snprintf (device_name_chksum, HCBUFSIZ_TINY - 1, "%d-%u-%u-%s-%s-%s-%d-%u-%u", 64, device_param->platform_vendor_id, device_param->vector_width, device_param->device_name, device_param->device_version, device_param->driver_version, comptime, user_options->opencl_vector_width, hashconfig->hash_mode); #else - const size_t dnclen = snprintf (device_name_chksum, HCBUFSIZ_TINY - 1, "%d-%u-%u-%s-%s-%s-%d-%u", 32, device_param->platform_vendor_id, device_param->vector_width, device_param->device_name, device_param->device_version, device_param->driver_version, comptime, user_options->opencl_vector_width); + const size_t dnclen = snprintf (device_name_chksum, HCBUFSIZ_TINY - 1, "%d-%u-%u-%s-%s-%s-%d-%u-%u", 32, device_param->platform_vendor_id, device_param->vector_width, device_param->device_name, device_param->device_version, device_param->driver_version, comptime, user_options->opencl_vector_width, hashconfig->hash_mode); #endif u32 device_name_digest[4] = { 0 };