mirror of
https://github.com/hashcat/hashcat
synced 2024-11-20 23:27:31 +01:00
Fixed out-of-boundary write to decrypted[] in DPAPI masterkey file v1 kernel
This commit is contained in:
parent
f96e35649d
commit
669619c1a7
@ -507,6 +507,8 @@ KERNEL_FQ void m15300_comp (KERN_ATTR_TMPS_ESALT (dpapimk_tmp_v1_t, dpapimk_t))
|
||||
|
||||
iv[0] = data[0];
|
||||
iv[1] = data[1];
|
||||
|
||||
if (wx_off == 24) break;
|
||||
}
|
||||
|
||||
u32 hmacSalt[4];
|
||||
@ -523,7 +525,7 @@ KERNEL_FQ void m15300_comp (KERN_ATTR_TMPS_ESALT (dpapimk_tmp_v1_t, dpapimk_t))
|
||||
expectedHmac[2] = hc_swap32_S (decrypted[4 + 2]);
|
||||
expectedHmac[3] = hc_swap32_S (decrypted[4 + 3]);
|
||||
|
||||
for(int i = 0; i < 16; i++)
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
lastKey[i] = decrypted[i + 26 - 16];
|
||||
}
|
||||
|
@ -88,6 +88,7 @@
|
||||
- Fixed invalid use of --hex-wordlist if encoded wordlist string is larger than length 256
|
||||
- Fixed maximum password length limit which was announced as 256 but actually was 255
|
||||
- Fixed out-of-boundary read in pure kernel rule engine rule 'p' if parameter is set to 2 or higher
|
||||
- Fixed out-of-boundary write to decrypted[] in DPAPI masterkey file v1 kernel
|
||||
- Fixed output of IKE PSK (mode 5300 and 5400) hashes to have separators at right position
|
||||
- Fixed output password of "e" rule in pure and cpu rule engine if separator character is also the first letter
|
||||
- Fixed problem with the usage of the hexadecimal notations (\x00-\xff) within rules
|
||||
|
@ -96,23 +96,6 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con
|
||||
return pw_max;
|
||||
}
|
||||
|
||||
bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param)
|
||||
{
|
||||
// amdgpu-pro-19.30-934563-ubuntu-18.04: self-test failed
|
||||
if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// l_opencl_p_18.1.0.013.tgz: self-test failed
|
||||
if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len)
|
||||
{
|
||||
u32 *digest = (u32 *) digest_buf;
|
||||
@ -456,6 +439,6 @@ void module_init (module_ctx_t *module_ctx)
|
||||
module_ctx->module_st_hash = module_st_hash;
|
||||
module_ctx->module_st_pass = module_st_pass;
|
||||
module_ctx->module_tmp_size = module_tmp_size;
|
||||
module_ctx->module_unstable_warning = module_unstable_warning;
|
||||
module_ctx->module_unstable_warning = MODULE_DEFAULT;
|
||||
module_ctx->module_warmup_disable = MODULE_DEFAULT;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user