2022-09-02 15:23:37 +00:00
* changes v6.2.6 -> v6.2.x
2022-09-16 14:26:41 +00:00
##
## Algorithms
##
2023-04-06 14:31:10 +00:00
- Added hash-mode: 1Password, mobilekeychain (1Password 8)
2023-05-16 18:35:40 +00:00
- Added hash-mode: Adobe AEM (SSPR, SHA-256 with Salt)
- Added hash-mode: Adobe AEM (SSPR, SHA-512 with Salt)
2022-12-27 18:00:37 +00:00
- Added hash-mode: Anope IRC Services (enc_sha256)
2022-09-16 14:26:41 +00:00
- Added hash-mode: Bisq .wallet (scrypt)
2023-01-04 14:52:48 +00:00
- Added hash-mode: Bitcoin raw private key (P2PKH)
- Added hash-mode: Bitcoin raw private key (P2SH(P2WPKH))
- Added hash-mode: Bitcoin raw private key (P2WPKH, Bech32)
2023-04-02 20:02:53 +00:00
- Added hash-mode: BLAKE2s-256
2022-10-23 05:08:33 +00:00
- Added hash-mode: Dahua NVR/DVR/HVR (md5($salt1.strtoupper(md5($salt2.$pass))))
2023-02-17 19:43:21 +00:00
- Added hash-mode: DANE RFC7929/RFC8162 SHA2-256
2023-07-09 15:10:31 +00:00
- Added hash-mode: Dogechain.info Wallet
2023-06-03 01:08:29 +00:00
- Added hash-mode: Empire CMS (Admin password)
2023-02-17 19:43:21 +00:00
- Added hash-mode: ENCsecurity Datavault (MD5/keychain)
- Added hash-mode: ENCsecurity Datavault (MD5/no keychain)
- Added hash-mode: ENCsecurity Datavault (PBKDF2/keychain)
- Added hash-mode: ENCsecurity Datavault (PBKDF2/no keychain)
2022-11-18 09:47:17 +00:00
- Added hash-mode: GPG (AES-128/AES-256 (SHA-1($pass)))
2023-03-02 09:33:27 +00:00
- Added hash-mode: GPG (AES-128/AES-256 (SHA-256($pass)))
2022-11-18 09:47:17 +00:00
- Added hash-mode: GPG (AES-128/AES-256 (SHA-512($pass)))
2023-07-19 17:12:39 +00:00
- Added hash-mode: GPG (CAST5 (SHA-1($pass)))
2023-05-23 12:31:54 +00:00
- Added hash-mode: Kerberos 5, etype 17, AS-REP
- Added hash-mode: Kerberos 5, etype 18, AS-REP
2023-04-15 16:32:10 +00:00
- Added hash-mode: MetaMask Mobile Wallet
2023-03-18 19:33:39 +00:00
- Added hash-mode: MetaMask Wallet (short hash, plaintext check)
2023-05-16 18:35:40 +00:00
- Added hash-mode: NetIQ SSPR (MD5)
- Added hash-mode: NetIQ SSPR (PBKDF2WithHmacSHA1)
- Added hash-mode: NetIQ SSPR (PBKDF2WithHmacSHA256)
- Added hash-mode: NetIQ SSPR (PBKDF2WithHmacSHA512)
2023-07-19 17:12:39 +00:00
- Added hash-mode: NetIQ SSPR (SHA1)
2023-05-16 18:35:40 +00:00
- Added hash-mode: NetIQ SSPR (SHA-1 with Salt)
- Added hash-mode: NetIQ SSPR (SHA-256 with Salt)
- Added hash-mode: NetIQ SSPR (SHA-512 with Salt)
2023-06-17 12:41:17 +00:00
- Added hash-mode: RSA Security Analytics / NetWitness (sha256)
2023-03-18 23:16:01 +00:00
- Added hash-mode: SecureCRT MasterPassphrase v2
2023-03-18 19:33:39 +00:00
- Added hash-mode: Veeam VB
- Added hash-mode: bcrypt(sha256($pass))
2022-11-14 19:18:35 +00:00
- Added hash-mode: HMAC-RIPEMD160 (key = $pass)
- Added hash-mode: HMAC-RIPEMD160 (key = $salt)
2023-06-15 17:01:52 +00:00
- Added hash-mode: md5($salt1.sha1($salt2.$pass))
2023-06-24 01:25:00 +00:00
- Added hash-mode: md5(md5($pass.$salt))
2022-11-23 09:37:12 +00:00
- Added hash-mode: md5(md5($salt).md5(md5($pass)))
2023-04-01 09:00:55 +00:00
- Added hash-mode: md5(md5(md5($pass).$salt1).$salt2)
2023-04-28 21:20:53 +00:00
- Added hash-mode: md5(md5(md5($pass)).$salt)
2023-06-23 22:21:33 +00:00
- Added hash-mode: md5(sha1($pass.$salt))
2023-06-27 00:58:20 +00:00
- Added hash-mode: md5(sha1($salt.$pass))
2023-06-14 20:51:39 +00:00
- Added hash-mode: sha512(sha512($pass).$salt)
2023-07-01 21:49:48 +00:00
- Added hash-mode: sha512(sha512_bin($pass).$salt)
2022-09-16 14:26:41 +00:00
2023-04-16 12:04:34 +00:00
##
## Features
##
- Added new feature (-Y) that creates N virtual instances for each device in your system at the cost of N times the device memory consumption
2022-12-03 15:48:44 +00:00
##
## Performance
##
- DEScrypt Kernel (1500): Improved performance from 950MH/s to 2200MH/s (RX6900XT) on HIP backend by workaround invalid compile time optimizer
2022-11-02 21:00:02 +00:00
##
## Bugs
##
- Fixed keys extraction in luks2hashcat - now extracts all active keys
2023-03-26 23:04:21 +00:00
- Prevent Hashcat from hanging by checking during startup whether the output file is a named pipe
2023-01-25 16:38:04 +00:00
- Fixed debug mode 5 by adding the missing colon between original-word and finding-rule
2023-03-26 23:04:21 +00:00
- Skip chained generated rules that exceed the maximum number of function calls
2023-03-07 23:53:25 +00:00
- Fixed incorrect plaintext check for 25400 and 26610. Increased plaintext check to 32 bytes to prevent false positives.
2023-03-24 00:07:48 +00:00
- Fixed bug in --stdout that caused certain rules to malfunction
2023-04-22 14:52:01 +00:00
- Fixed bug in 18400 module_hash_encode
2023-04-22 16:48:46 +00:00
- Fixed bug in 26900 module_hash_encode
2023-05-01 22:55:11 +00:00
- Fixed bug in 29600 module OPTS_TYPE setting
2023-04-21 21:15:25 +00:00
- Fixed bug in grep out-of-memory workaround on Unit Test
2023-04-11 17:34:01 +00:00
- Fixed bug in input_tokenizer when TOKEN_ATTR_FIXED_LENGTH is used and refactor modules
2023-06-06 22:49:37 +00:00
- Fixed a bug in all SCRYPT-based hash modes with Apple Metal
2023-05-13 18:38:56 +00:00
- Added verification of token buffer length when using TOKEN_ATTR_FIXED_LENGTH
2023-05-04 20:09:14 +00:00
- Fixed build failed for 4410 with vector width > 1
2023-05-20 15:15:17 +00:00
- Fixed build failed for 10700 optimized with Apple Metal
2023-05-20 12:02:25 +00:00
- Fixed build failed for 13772 and 13773 with Apple Metal
2023-04-11 16:39:57 +00:00
- Fixed build failed for 18400 with Apple Metal
2023-04-11 16:41:26 +00:00
- Fixed build failed for 18600 with Apple Metal
2023-05-20 01:54:06 +00:00
- Fixed build failure for almost all hash modes that make use of hc_swap64 and/or hc_swap64_S with Apple Metal
2023-04-11 17:07:02 +00:00
- Fixed display problem of the "Optimizers applied" list for algorithms using OPTI_TYPE_SLOW_HASH_SIMD_INIT2 and/or OPTI_TYPE_SLOW_HASH_SIMD_LOOP2
2023-04-11 16:10:25 +00:00
- Fixed incompatible pointer types (salt1 and salt2 buf) in 3730 a3 kernel
2023-04-22 16:57:00 +00:00
- Fixed minimum password length in module of hash-mode 28200
2023-05-21 23:38:44 +00:00
- Fixed maximum password length in module/test_module of hash-mode 2410
2023-04-11 19:17:25 +00:00
- Handle signed/unsigned PDF permission P value for all PDF hash-modes
2023-04-18 18:13:39 +00:00
- Fixed minimum password length in module of hash-mode 29800
2023-05-21 20:58:09 +00:00
- Fixed maximum password length in module/test_module of hash-mode 2400
2023-04-15 21:28:29 +00:00
- Fixed buffer overflow on module_26600.c / module_hash_encode()
2023-05-19 22:04:32 +00:00
- Fixed bug in 23800/unrar with Apple Silicon
2023-06-12 14:40:14 +00:00
- Fixed vector datatypes usage for HIP
2023-07-05 16:21:53 +00:00
- Fixed out-of-boundary read when a fast hash defines a kernel_loops_min value higher than the amplifiers provided by the user
2022-11-02 21:00:02 +00:00
2022-09-03 13:46:40 +00:00
##
## Technical
##
2023-01-04 08:36:37 +00:00
- AMD Driver: Updated requirements for AMD Windows drivers to "AMD Adrenalin Edition" (Adrenalin 22.5.1 exactly)
2022-12-14 22:06:27 +00:00
- Apple Driver: Automatically enable GPU support on Apple OpenCL instead of CPU support
- Apple Driver: Updated requirements to use Apple OpenCL API to macOS 13.0 - use
2023-03-26 23:04:21 +00:00
- Backend Checks: Describe workaround in error message when detecting more than 64 backend devices
2023-03-24 00:09:37 +00:00
- Brain: Added sanity check and corresponding error message for invalid --brain-port values
2023-05-09 16:52:20 +00:00
- Dependencies: Updated LZMA SDK to 22.01
2023-05-19 22:04:32 +00:00
- Dependencies: Updated unrar source to 6.2.7
2023-05-28 19:21:20 +00:00
- Building: Support building windows binaries on macOS using MinGW
2023-05-09 16:48:51 +00:00
- Dependencies: Updated OpenCL-Headers to v2023.04.17
2023-05-28 19:21:20 +00:00
- Documents: Updated BUILD.md and added BUILD_macOS.md (containing instructions for building windows binaries on macOS)
2022-10-21 12:50:45 +00:00
- Modules: Added support for non-zero IVs for -m 6800 (Lastpass). Also added `tools/lastpass2hashcat.py`
2023-04-09 16:15:12 +00:00
- Open Document Format: Added support for small documents with content length < 1024
2022-09-03 13:46:40 +00:00
- Status Code: Add specific return code for self-test fail (-11)
2023-03-26 23:04:21 +00:00
- Scrypt: Increase buffer sizes in module for hash mode 8900 to allow longer scrypt digests
- Unicode: Update UTF-8 to UTF-16 conversion to match RFC 3629
- User Options: Added error message when mixing --username and --show to warn users of exponential delay
2023-04-15 16:32:10 +00:00
- MetaMask: update extraction tool to support MetaMask Mobile wallets
2023-04-27 16:16:07 +00:00
- SecureCRT MasterPassphrase v2: update module, pure kernels and test unit. Add optimized kernels.
2023-04-25 15:17:46 +00:00
- Metal Backend: added workaround to prevent 'Infinite Loop' bug when build kernels
2023-06-06 23:17:30 +00:00
- Metal Backend: allow use of devices with Metal if runtime version is >= 200
2023-06-14 19:11:42 +00:00
- Metal Backend: disable Metal devices only if at least one OpenCL device is active
2023-05-01 01:44:39 +00:00
- User Options: added --metal-compiler-runtime option
2023-05-07 23:34:46 +00:00
- Hardware Monitor: avoid sprintf in src/ext_iokit.c
2023-05-01 15:38:42 +00:00
- Help: show supported hash-modes only with -hh
2023-05-16 19:19:46 +00:00
- Makefile: prevent make failure with Apple Silicon in case of partial rebuild
2023-07-15 07:29:15 +00:00
- Rules: Rename best64.rule to best66.rule and remove the unknown section from it
2022-09-03 13:46:40 +00:00
2022-09-02 14:58:13 +00:00
* changes v6.2.5 -> v6.2.6
2021-11-21 16:01:01 +00:00
2021-12-14 12:46:20 +00:00
##
## Algorithms
##
2022-02-23 21:20:18 +00:00
- Added hash-mode: Amazon AWS4-HMAC-SHA256
2022-06-11 09:44:05 +00:00
- Added hash-mode: Bitcoin WIF private key (P2PKH)
2022-06-29 16:15:48 +00:00
- Added hash-mode: Bitcoin WIF private key (P2SH(P2WPKH))
2022-06-25 09:57:51 +00:00
- Added hash-mode: Bitcoin WIF private key (P2WPKH, Bech32)
2022-06-11 09:33:00 +00:00
- Added hash-mode: BLAKE2b-512($pass.$salt)
- Added hash-mode: BLAKE2b-512($salt.$pass)
2022-03-18 06:51:38 +00:00
- Added hash-mode: DPAPI masterkey file v1 (context 3)
- Added hash-mode: DPAPI masterkey file v2 (context 3)
2021-12-14 12:46:20 +00:00
- Added hash-mode: Exodus Desktop Wallet (scrypt)
2022-05-20 15:09:11 +00:00
- Added hash-mode: Flask session cookie
2022-08-21 16:02:35 +00:00
- Added hash-mode: KeePass 1 (AES/Twofish) and KeePass 2 (AES) - keyfile only mode
2022-03-18 06:51:38 +00:00
- Added hash-mode: Kerberos 5, etype 17, DB
- Added hash-mode: Kerberos 5, etype 18, DB
2022-01-28 16:09:52 +00:00
- Added hash-mode: PostgreSQL SCRAM-SHA-256
2022-05-28 13:56:29 +00:00
- Added hash-mode: Radmin3
2021-12-19 09:33:06 +00:00
- Added hash-mode: Teamspeak 3 (channel hash)
2022-08-30 08:12:26 +00:00
- Added hash-mode: Terra Station Wallet (AES256-CBC(PBKDF2($pass)))
2022-03-02 11:58:28 +00:00
- Added hash-mode: bcrypt(sha512($pass)) / bcryptsha512
2022-06-24 20:10:18 +00:00
- Added hash-mode: md5(sha1($pass).$salt)
2022-05-11 15:45:36 +00:00
- Added hash-mode: sha1($salt.sha1(utf16le($username).':'.utf16le($pass)))
2022-03-18 06:51:38 +00:00
- Added hash-mode: sha256($salt.sha256_bin($pass))
2021-12-14 12:46:20 +00:00
2021-12-12 09:18:05 +00:00
##
## Features
##
2022-02-05 21:48:16 +00:00
- Added new backend support for Metal, the OpenCL replacement API on Apple
2023-03-26 23:04:21 +00:00
- Added support for building universal macOS binary on Apple Silicon
- Added support for using --debug-mode in attack-mode 9 (association attack)
2022-02-09 13:41:34 +00:00
- Added hex encoding format for --separator option
- Added password candidates range to --status-json output
2022-02-28 22:36:02 +00:00
- Added parameter to Bitwarden mode for second iteration count
2023-03-26 23:04:21 +00:00
- Added support for using 'John the Ripper' hash format with hash-type 13100
- Added support for using 'John the Ripper' hash format with hash-type 18200
- Added hash extraction scripts from the tools folder to beta/release versions
2022-05-04 12:26:53 +00:00
- Added user advice if a hash throws 'token length exception'
2022-08-08 11:09:04 +00:00
- Added tunings/ folder in order to replace hashcat.hctune. Configuration files with *.hctune suffix are automatically load on startup
2023-03-26 23:04:21 +00:00
- Added link to 'ubernoob' documentation when no parameters are supplied on Windows
2021-12-12 09:18:05 +00:00
2021-11-29 09:40:06 +00:00
##
## Bugs
##
2022-08-30 08:12:26 +00:00
- Fixed accepted salt length by PKCS#8 Private Keys modules
2022-08-31 08:53:56 +00:00
- Fixed autodetect memory allocation for temporary hashes for LUKS v1 (legacy) in --identify mode
2022-02-19 16:21:27 +00:00
- Fixed backend active devices checks
2022-03-18 06:51:38 +00:00
- Fixed building error on Raspberry Pi
2022-03-22 15:37:29 +00:00
- Fixed display problem of incorrect negative values in case of large numbers
2022-03-18 06:51:38 +00:00
- Fixed display problem of the "Optimizers applied" list for algorithms using Register-Limit
2022-05-13 11:43:46 +00:00
- Fixed example password output of --hash-info: force uppercase if OPTS_TYPE_PT_UPPER is set
2022-06-11 09:27:25 +00:00
- Fixed false negative on hash-type 27800 if using vector width greater than 1 and -a 3
- Fixed false negative on hash-types 4510 and 4710 for hashes with long salts
2022-04-17 09:47:33 +00:00
- Fixed false negative on hash-types 8900, 15700, 22700, 27700 and 28200 if using the HIP backend
2022-08-30 08:12:26 +00:00
- Fixed false negative on Unit Test in case of out-of-memory with grep in single mode
- Fixed false negative on Unit Test with hash-type 25400
2021-11-29 09:40:06 +00:00
- Fixed functional error when nonce-error-corrections that were set on the command line in hash-mode 22000/22001 were not accepted
2022-02-02 15:34:10 +00:00
- Fixed handling of devices in benchmark mode for "kernel build error". Instead of canceling, skip the device and move on to the next
2022-02-09 13:41:34 +00:00
- Fixed handling of password candidates that are shorter than the minimum password length in Association Attack
2022-08-30 08:12:26 +00:00
- Fixed invalid handling of keyfiles in Keepass if transf_random_seed doesn't change
2022-04-20 17:13:08 +00:00
- Fixed memory leak in CPU rule engine
2022-01-05 10:05:41 +00:00
- Fixed method of how OPTS_TYPE_AUX* kernels are called in an association attack, for example in WPA/WPA2 kernel
2021-12-11 15:32:45 +00:00
- Fixed missing option flag OPTS_TYPE_SUGGEST_KG for hash-mode 11600 to inform the user about possible false positives in this mode
2022-03-22 14:42:07 +00:00
- Fixed optimized (-O) candidate generation with --stdout and -a 7
2022-03-18 06:51:38 +00:00
- Fixed password limit in optimized kernel for hash-mode 10700
2022-03-30 18:52:47 +00:00
- Fixed password reassembling function reporting an incorrect candidate in some cases when the correct candidate has zero length
2021-12-08 15:30:32 +00:00
- Fixed undefined function call to hc_byte_perm_S() in hash-mode 17010 on non-CUDA compute devices
2022-08-31 08:53:56 +00:00
- Fixed unit test early exit on luks test file download/extract failure
- Fixed unit test false negative if there are spaces in the filesystem path to hashcat
- Fixed unit test salt-max in case of optimized kernel, with hash-type 22 and 23
2022-08-30 08:12:26 +00:00
- Fixed usage of --rule-right (-k) in -a 7 with optimized (-O) kernels
2022-01-28 16:09:52 +00:00
- Fixed wordlist handling in -m 3000 when candidate passwords use the $HEX[...] syntax
2021-11-29 09:40:06 +00:00
2021-11-26 08:53:42 +00:00
##
## Technical
##
2022-08-30 08:12:26 +00:00
- AMD Driver: Updated requirements for AMD Linux drivers to "AMDGPU" (21.50 or later) and "ROCm" (5.0 or later)
- AMD Driver: Updated requirements for AMD Windows drivers to "AMD Adrenalin Edition" (Adrenalin 22.5.1 exactly)
2021-11-27 08:14:03 +00:00
- Association Attack: Enable module specific pw_min and pw_max settings to avoid false positives in -a 9 attack-mode
2022-01-28 16:09:52 +00:00
- Autotune: Added error handling. By default skipping device on error, with --force using accel/loops/threads min values instead
2022-03-18 06:51:38 +00:00
- Backend: improved management of systems with multiple OpenCL platforms
2022-02-12 01:03:48 +00:00
- Backend Info: Added folder_config info to output
2022-01-30 18:49:23 +00:00
- Backend Info: Added generic system info to output (must be completed on Windows side)
2021-12-26 15:06:25 +00:00
- Backend Info: Added local memory size to output
2022-02-09 13:41:34 +00:00
- Backend: with kernel build options, switch from -I to -D INCLUDE_PATH, in order to support Apple Metal runtime
2022-04-20 13:43:23 +00:00
- Command Line: Disallow combinations of some options. for instance, using -t in -a 0 mode
2022-08-30 08:12:26 +00:00
- CUDA Backend: moved functions to ext_cuda.c/ext_nvrtc.c and includes to ext_cuda.h/ext_nvrtc.h
2022-04-23 17:29:19 +00:00
- Debug Rules: Set --debug-file to $session.debugfile if --debug-mode was set by the user and --debug-file was not set
2022-02-15 21:20:03 +00:00
- Hardware Monitor: Add support for GPU device utilization readings using iokit on Apple Silicon (OpenCL and Metal)
2022-01-28 16:09:52 +00:00
- Hash Info: show more information (Updated Hash-Format. Added Autodetect, Self-Test, Potfile and Plaintext encoding)
- HIP Backend: moved functions to ext_hip.c/ext_hiprtc.c and includes to ext_hip.h/ext_hiprtc.h
2022-08-26 12:53:15 +00:00
- HIP Backend: removed unused functions from hiprtc to workaroung missing function symbols on windows dll
2022-01-04 17:07:18 +00:00
- Kernels: Refactored standard kernel declaration to use a structure holding u32/u64 attributes to reduce the number of attributes
2022-09-01 18:59:00 +00:00
- Kernels: Refactored standard kernel includes, KERN_ATTR macros and RC4 cipher functions, in order to support Apple Metal runtime
2022-02-04 18:54:00 +00:00
- Kernels: Set the default Address Space Qualifier for any pointer, in order to support Apple Metal runtime
2022-08-30 08:12:26 +00:00
- Logfile: Write per-session "recovered new" value to logfile
2022-01-28 16:09:52 +00:00
- Makefile: updated MACOSX_DEPLOYMENT_TARGET to 10.15 and removed OpenCL framework from LFLAGS_NATIVE on MacOS
2022-02-10 23:33:32 +00:00
- Metal Runtime: added support for vectors up to 4
2022-09-01 18:59:00 +00:00
- Modules: Added suffix *legacy* to old TrueCrypt modules (6211-6243)
- Modules: Added suffix *legacy* to old VeraCrypt modules (13711-13783)
2022-08-30 08:12:26 +00:00
- Modules: Added support of a custom charset setting for benchmarks to the module interface
2022-09-01 18:59:00 +00:00
- Modules: New LUKS v1 modules (29511-29543) which do not use `module_hash_binary_parse` to get data from containers anymore (use new tool `tools/luks2hashcat.py`)
- Modules: New TrueCrypt modules (29311-29343) which do not use `module_hash_binary_parse` to get data from containers anymore (use new tool `tools/truecrypt2hashcat.py`)
- Modules: New VeraCrypt modules (29411-29483) which do not use `module_hash_binary_parse` to get data from containers anymore (use new tool `tools/veracrypt2hashcat.py`)
- Modules: Renamed old LUKS module into LUKS v1 and added suffix *legacy* (14600)
2021-12-26 15:06:25 +00:00
- OpenCL Backend: added workaround to make optimized kernels work on Apple Silicon
2022-01-28 16:09:52 +00:00
- OpenCL Backend: moved functions to ext_OpenCL.c and includes to ext_OpenCL.h
2022-02-12 01:46:35 +00:00
- OpenCL Backend: show device_type in device list info on Apple Silicon
2022-01-28 16:09:52 +00:00
- OpenCL Kernel: Set native_threads to 32 on Apple GPU's for various hash-modes
2021-12-14 18:42:35 +00:00
- OpenCL Runtime: Added support to use Apple Silicon compute devices
2022-02-09 13:41:34 +00:00
- OpenCL Runtime: Add some unstable warnings detected on macOS
2021-12-14 18:42:35 +00:00
- OpenCL Runtime: Set default device-type to GPU with Apple Silicon compute devices
2022-08-31 09:44:13 +00:00
- Restore: Restore timer is decreased from 60 seconds to 1 second, but only updates if there's actually a change compared to previous data written to restore file
2022-04-09 17:37:36 +00:00
- Rules: Add new rulesets from T0XlC: T0XlCv2, T0XlC_3_rule, T0XlC_insert_HTLM_entities_0_Z
2022-05-16 19:13:37 +00:00
- Rules: Add support to include source wordlist in debugging format
2022-08-30 08:12:26 +00:00
- Rules: Update hand-written rulesets to covers years up to 2029
2022-01-28 16:09:52 +00:00
- Status code: updated negative status code (added kernel create failure and resync)
2022-01-11 03:58:30 +00:00
- Status code: updated negative status code, usefull in Unit tests engine (test.sh)
2022-09-01 18:59:00 +00:00
- Terminal: Increased size of hash name column in `--help` and `--identify` options
2022-08-30 08:12:26 +00:00
- Terminal: Limit output length of example hash in --example-hash mode to 200. Use --mach to see full example hash
2022-02-19 20:17:56 +00:00
- Terminal: show empty OpenCL platforms only in backend information mode
2022-01-28 16:09:52 +00:00
- Tuning Database: Added a warning if a module implements module_extra_tuningdb_block but the installed computing device is not found
2022-01-12 08:19:52 +00:00
- Unit tests: added -r (--runtime) option
- Unit tests: handle negative status code, skip deprecated hash-types, skip hash-types with known perl modules issues, updated output
2022-01-28 16:09:52 +00:00
- Unit tests: Updated test.sh to set default device-type to CPU with Apple Intel and added -f (--force) option
- Usage Screen: On windows console, wait for any keypress if usage_mini_print() is used
- User Options: Add new module function module_hash_decode_postprocess() to override hash specific configurations from command line
2022-02-13 11:41:27 +00:00
- User Options: Change --backend-info/-I option type, from bool to uint
2022-09-01 18:59:00 +00:00
- Workflow: Added basic workflow for GitHub Actions
2021-11-26 08:53:42 +00:00
2021-11-21 15:39:01 +00:00
* changes v6.2.4 -> v6.2.5
2021-08-29 15:45:39 +00:00
2021-09-10 13:43:04 +00:00
##
## Algorithms
##
2021-10-02 07:57:16 +00:00
- Added hash-mode: CRC32C
2021-10-09 09:43:04 +00:00
- Added hash-mode: CRC64Jones
2021-09-10 13:43:04 +00:00
- Added hash-mode: MultiBit Classic .wallet (scrypt)
2021-09-27 20:07:23 +00:00
- Added hash-mode: MurmurHash3
2021-11-15 15:14:59 +00:00
- Added hash-mode: Windows Hello PIN/Password
2021-09-10 13:43:04 +00:00
2021-10-30 18:16:45 +00:00
##
## Performance
##
2021-11-16 23:15:27 +00:00
- PDF Kernel (10700): Improved performance on AMD GPUs by using shared memory for the scratch buffer and disabled inlining to save spilling
2021-10-30 18:16:45 +00:00
2021-08-30 12:20:00 +00:00
##
## Bugs
##
2021-11-16 23:15:27 +00:00
- Fixed divide by zero error because backend_ctx->hardware_power_all was not re-inserted after refactoring device_param->hardware_power
2021-09-30 19:30:20 +00:00
- Fixed invalid handling of initialization value for -m 11500
2021-09-01 07:35:25 +00:00
- Fixed invalid progress counter initialization in attack-mode 9 when using --skip or --restore
2021-08-30 12:34:56 +00:00
- Fixed out-of-boundary reads in attack-mode 9 that were caused by a missing work item limit in the refactored autotune engine
2021-10-22 17:05:43 +00:00
- Fixed out-of-boundary reads in hash-mode 22400 (AES Crypt) kernel
2021-09-18 12:14:28 +00:00
- Fixed strategy for eliminating hashes with zero length in LM when multiple hashes contain a zero hash
2021-08-30 12:20:00 +00:00
2021-08-30 12:34:56 +00:00
##
## Technical
##
2021-10-21 18:03:01 +00:00
- AMD Driver: Updated requirements for AMD Linux drivers to ROCm 4.5 or later due to new HIP interface
2021-10-04 06:36:56 +00:00
- Backend devices: In -S mode, limit the number of workitems so that no more than 2GB of host memory is required per backend device
- Backend devices: In non -S mode, limit the number of workitems so that no more than 4GB of host memory is required per backend device
2021-11-01 09:49:20 +00:00
- Backend types: The default filter for the device types is now set so that only the GPU is used, except for APPLE, where we set CPU
2021-11-02 07:10:53 +00:00
- Benchmark: Update benchmark_deep.pl with new hash modes added (also new hash modes which were added with v6.2.3)
2021-11-18 10:41:55 +00:00
- Electrum Wallet: Added new entropy-based check to test whether the decryption was successful or not
2021-11-16 23:15:27 +00:00
- Module Optimizers: Added OPTS_TYPE_MAXIMUM_THREADS to deactivate the else branch route in the section to find -T before compilation
2021-08-31 18:54:32 +00:00
- Makefile: Added wildcard include src/modules/module_*.mk directive so that plugin developers can add 3rd party libraries for their plugins
- Rejects: Disabled checking of the minimum and maximum length of the password candidate in attack-mode 9 because they are incompatible
2021-11-16 23:15:27 +00:00
- POCL: Added a workaround for an issue in POCL where a quote character is used as a part of the path itself which is passed as a path for the -I option
2021-11-03 08:08:17 +00:00
- Device Threads: The default maximum device thread number has been reduced from 1024 to 256, users can still overwrite with the -T option
2021-09-13 12:12:13 +00:00
- Tuning-DB: Add missing entries for -m 25600 and -m 25800 for CPU cracking
2021-11-16 23:15:27 +00:00
- OpenCL Backend: added workaround to support Apple Silicon (GPU: M1, M1 Pro, and M1 Max)
- MacOS v10.8+ (PBKDF2-SHA512): Added support for parsing new mac2john hash format directly in the module for -m 7100
2021-08-30 12:20:00 +00:00
2021-08-29 15:22:59 +00:00
* changes v6.2.3 -> v6.2.4
2021-07-16 21:03:11 +00:00
2021-08-29 15:07:43 +00:00
##
## Algorithms
##
- Added hash-mode: SNMPv3 HMAC-MD5-96/HMAC-SHA1-96
- Added hash-mode: SNMPv3 HMAC-MD5-96
- Added hash-mode: SNMPv3 HMAC-SHA1-96
- Added hash-mode: SNMPv3 HMAC-SHA224-128
- Added hash-mode: SNMPv3 HMAC-SHA256-192
- Added hash-mode: SNMPv3 HMAC-SHA384-256
- Added hash-mode: SNMPv3 HMAC-SHA512-384
- Added hash-mode: VirtualBox (PBKDF2-HMAC-SHA256 & AES-128-XTS)
- Added hash-mode: VirtualBox (PBKDF2-HMAC-SHA256 & AES-256-XTS)
2021-07-21 13:47:05 +00:00
##
## Features
##
2021-08-10 15:59:52 +00:00
- Added option --deprecated-check-disable to enable deprecated plugins
2021-08-14 09:43:32 +00:00
- Added option --generate-rules-func-sel to specify a pool of operators that the random rule generator is allowed to pick from
2021-08-29 15:07:43 +00:00
- Added option --multiply-accel-disable (short: -M) to disable multiplying of the kernel accel with the multiprocessor count
2021-08-04 18:49:22 +00:00
- Added rule function '3' to change the case of the first letter after the occurrence of N of character X
- Added support for auto tuning --kernel-threads (-T) at startup
- Added support for HIP version 4.3 or later and removed support for older HIP versions as they are not compatible
2021-07-21 13:47:05 +00:00
2021-07-19 13:58:38 +00:00
##
## Bugs
##
2021-08-05 12:32:11 +00:00
- Fixed broken support for --generate-rules-func-min which was ignored under certain conditions
2021-08-04 18:49:22 +00:00
- Fixed buffer overflow in DPAPI masterkey file v1/v2 module in hash_encode() and hash_decode()
- Fixed buffer overflow in Stargazer Stellar Wallet XLM module in hash_encode() when a hash was cracked
- Fixed false negative in all VeraCrypt hash modes if both conditions are met: 1. Use CPU for cracking and 2. PIM area was used
- Fixed invalid data type in the sha384_hmac_init_vector_128() function that take effect if the vector data type was specified manually
- Fixed out-of-boundary read in input_tokenizer() if the signature in the hash is longer than the length of the plugin's signature constant
2021-08-17 15:38:45 +00:00
- Fixed out-of-boundary read in PKZIP masterkey kernel if the password candidate has length zero
2021-08-29 15:07:43 +00:00
- Fixed out-of-boundary read in the Stuffit5 module in hash_decode()
2021-08-04 18:49:22 +00:00
- Fixed random rule generator option --generate-rules-func-min by fixing switch() case to not select a not existing option group type
2021-08-13 07:04:13 +00:00
- Fixed segfault when a combination of the flags --user and --show is given and a hash was specified directly on the command line
2021-08-05 12:32:11 +00:00
- Fixed syntax check of HAS_VPERM macro in several kernel includes causing invalid error message for AMD GPUs on Windows
2021-08-04 18:49:22 +00:00
- Fixed uninitialized tmps variable in autotune for slow hashes by calling _init and _prepare kernel before calling _loop kernel
2021-08-20 08:41:44 +00:00
- Fixed unintentional overwriting of the --quiet option in benchmark and speed-only mode
2021-07-19 13:58:38 +00:00
##
2021-08-04 18:49:22 +00:00
## Performance
2021-07-19 13:58:38 +00:00
##
2021-08-04 18:49:22 +00:00
- AMD GPUs: Add inline assembly code for md5crypt, sha256crypt, PDF 1.7, 7-Zip, RAR3, Samsung Android and Windows Phone 8+
- AMD GPUs: On the Apple OpenCL platform, we ask for the preferred kernel thread size rather than hard-coding 32
- Backend Interface: Replace most of the blocking Compute API functions with asynchronous ones to improve GPU utilization
- Blake Kernels: Optimize 3/4 BLAKE2B_ROUND() 64-bit rotations with inline assembly hc_byte_perm_S() calls
- Blowfish Kernels: Backport optimizations to reduce bank conflicts from bcrypt to Password Safe v2 and Open Document Format (ODF) 1.1
- ECC secp256k1: The inline assembly code for AMD GPUs has been removed as the latest JIT compilers optimize it with the same efficiency
- HIP Kernels: Enable vector data types for HIP kernels for functionality and performance
- Kernel threads: Use warp size / wavefront size query instead of hard-coded values as the basis for kernel threads
- SCRYPT Kernels: Improve Hashcat.hctune entries for many NV and AMD GPUs for hash mode 8900, 9300, 15700 and 22700
2021-08-29 15:07:43 +00:00
- STDIN: Reduce the performance gap between stdin and wordlist by disabling the --stdin-timeout-abort check after 1000 successful reads
2021-08-04 18:49:22 +00:00
- Tuning Database: Add new module function module_extra_tuningdb_block() to extend hashcat.hctune content from a module
2021-07-19 13:58:38 +00:00
##
## Technical
##
2021-08-04 18:49:22 +00:00
- 7-Zip Hook: Increase the supported data length from 320kb to 8mb
- ADL: Updated support for AMD Display Library to 15.0, updated data types
- AMD Driver: Updated requirements for AMD Linux drivers to ROCm 4.3 or later due to new HIP interface
- AMD Driver: Updated requirements for AMD Windows drivers to Adrenalin 21.2.1 or later due to new ADL library
2021-08-29 15:07:43 +00:00
- Autotune: Add autotune event to inform the user about autotune is starting/stopping on startup
2021-08-04 18:49:22 +00:00
- Backend Interface: Implement gpu_bzero() as a gpu_memset() replacement, since all gpu_memset() operations used 0 as the value
- Backend Interface: Improve the query kernel's dynamic memory size based on DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN instead of BF
- Brain Session: Adds hashconfig-specific opti_type and opts_type parameters to the session calculation to enable cover functions like -O
2021-08-29 15:07:43 +00:00
- Commandline: Fix some memory leaks in case hashcat aborts due to command line parameter settings
2021-08-04 18:49:22 +00:00
- Commandline: Throw an error if the separator specified by the user with the -p option is not exactly 1 byte
2021-08-29 15:07:43 +00:00
- Community: Add link to new hashcat discord to docs/contact.txt
2021-08-04 18:49:22 +00:00
- Constants: Make const char * pointers actually const char * const pointers
2021-08-10 15:59:52 +00:00
- Deprecated Plugins: Add new module function module_deprecated_notice() to mark a plugin as deprecated and to return a free text user notice
2021-08-10 16:14:21 +00:00
- Deprecated Plugins: Marked plugins 2500/2501 and 16800/16801 as deprecated
2021-08-11 14:44:04 +00:00
- Encoding: Truncate password candidates in UTF8 -> UTF16 conversion if it contains an invalid UTF8 byte sequence
2021-08-29 15:07:43 +00:00
- Filehandling: Avoid direct access to some file handles and use internal structures instead
2021-08-04 18:49:22 +00:00
- Filehandling: Use const char for fopen mode to fix -Wwrite-strings warnings
- Hardware Monitor: Added support for OverDrive 7 and 8 based GPUs
- HIP Kernels: Dependency on hip/hip runtime.h has been removed to enable easier integration of the HIP backend under Windows
- Kernel cache: Add kernel threads for hash calculation, which will later be used in the file name of the kernel cache
2021-08-18 14:10:51 +00:00
- Memory Management: Check in OpenCL that CL_DEVICE_HOST_UNIFIED_MEMORY is true and if so, then half of the available memory
2021-08-29 15:07:43 +00:00
- Memory Management: Refactored the code responsible for limiting kernel accel with the goal to avoid low host memory situations
- MetaMask: Added special extraction tool for MetaMask wallets
2021-08-18 14:10:51 +00:00
- NEO driver: Activate the NEO driver (Intel GPU) after it passed several tests in hashcat using the latest NEO driver version
2021-08-24 07:37:49 +00:00
- OpenCL Runtime: The use of clUnloadPlatformCompiler () was disabled after some users received unexpected return codes
2021-08-29 15:07:43 +00:00
- OpenCL Runtime: Workaround for Intel OpenCL runtime: segmentation fault when compiling hc_enc_next() / hc_enc_next_global()
- Potfile: Fixed some leaks in potfile_*_open(), potfile_*_close(), potfile_destroy() and don't assume plain file
2021-08-04 18:49:22 +00:00
- RC4 Kernels: Use improved native thread derivation for RC4-based hash modes 7500, 13100, 18200, 25400
- Shared Memory: Calculate the dynamic memory size of the kernel based on CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK_OPTIN
- Slow kernels: Set some of the slowest kernels to OPTS_TYPE_MP_MULTI_DISABLE to make it easier to handle small word lists
2021-08-29 15:07:43 +00:00
- Status view: Add hash-mode (-m number) in addition to hash-name
2021-08-04 18:49:22 +00:00
- Vendor Discovery: Add "Intel" as a valid vendor name for GPUs on macOS
2021-09-19 00:56:49 +00:00
- MetaMask: Increase the supported data len from 784b to 3136b and set pw-min to 8
2021-07-19 13:58:38 +00:00
2021-07-16 20:41:52 +00:00
* changes v6.2.2 -> v6.2.3
2021-06-13 13:12:33 +00:00
2021-06-21 11:40:46 +00:00
##
## Algorithms
##
2021-06-26 15:12:10 +00:00
- Added hash-mode: AES-128-ECB NOKDF (PT = $salt, key = $pass)
- Added hash-mode: AES-192-ECB NOKDF (PT = $salt, key = $pass)
- Added hash-mode: AES-256-ECB NOKDF (PT = $salt, key = $pass)
2021-07-03 17:03:06 +00:00
- Added hash-mode: iPhone passcode (UID key + System Keybag)
2021-07-04 13:47:52 +00:00
- Added hash-mode: MetaMask Wallet
2021-07-16 20:37:29 +00:00
- Added hash-mode: VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 512 bit + boot-mode
- Added hash-mode: VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1024 bit + boot-mode
- Added hash-mode: VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1536 bit + boot-mode
2021-06-21 11:40:46 +00:00
2021-07-07 08:32:08 +00:00
##
## Features
##
2021-07-16 20:37:29 +00:00
- Added new backend support for HIP, an OpenCL alternative API for AMD GPUs (similar to CUDA for NVIDIA GPUs)
2021-07-07 08:32:08 +00:00
- Added option --markov-inverse to inverse markov statistics, with the idea of reversing the order of the password candidates
2021-07-10 06:43:15 +00:00
- Added temperature watchdog and fanspeed readings for CPU and GPU on macOS using iokit
2021-07-10 12:24:51 +00:00
- Added temperature watchdog and utilization for CPU on linux using sysfs and procfs
2021-07-07 08:32:08 +00:00
2021-06-13 13:49:11 +00:00
##
## Bugs
##
2021-06-22 09:37:59 +00:00
- Fixed access violation in hashconfig_destroy if hashcat_ctx_t is only partially initialized
2021-07-14 08:26:57 +00:00
- Fixed 'E' rule in pure kernel mode which was ignoring letters that are in positions that are multiples of 4
2021-06-16 10:13:04 +00:00
- Fixed false negative in hash-mode 15900 (DPAPI masterkey file v2) if password was longer than 64 characters
2021-06-22 09:37:59 +00:00
- Fixed hashcat_ctx leak and refactor module and kernel existence checks
2021-06-18 05:57:15 +00:00
- Fixed integer overflow in Recovered/Time status view column caused by division > 0 but < 1
2021-07-14 08:26:57 +00:00
- Fixed invalid ETA if --limit was specified, several salts are in a hash list and some of them were found in a potfile
2021-07-04 10:24:55 +00:00
- Fixed memory leak in iconv_ctx and iconv_tmp in backend.c
2021-07-06 11:05:49 +00:00
- Fixed missing option to automatically disable kernel cache in -m 25600 and -m 25800
2021-06-24 10:15:41 +00:00
- Fixed out-of-boundary write in slow candidates mode in combinator attack
2021-06-13 13:49:11 +00:00
2021-06-14 11:18:33 +00:00
##
## Improvements
##
2021-06-15 12:06:24 +00:00
- Alias Devices: Show a warning in case the user specifically listed a device to use which in a later step is skipped because it is an alias of another active device
2021-06-14 11:18:33 +00:00
- Backend Information: Added new column showing the PCI Address per CUDA/OpenCL device to easier identify broken cards
2021-07-16 20:37:29 +00:00
- Bcrypt-SHA1/MD5 Kernels: Get rid of local memory use for binary to hex conversion to avoid false negatives on several OpenCL runtimes
2021-07-08 07:04:14 +00:00
- CPU Affinity: Allow mask up to 64 processors in Windows and remove call to SetThreadAffinityMask as SetProcessAffinityMask limits all threads in process
2021-06-27 08:43:23 +00:00
- Debug Rules: HEX-ify rules debug non-rules outputs that contain colons
2021-06-30 11:16:03 +00:00
- KeePass: Increase supported size for KeePass 1 databases from 300kB to 16MB
2021-07-03 12:22:14 +00:00
- Potfile: Disable potfile for hash-mode 99999
2021-06-17 07:45:30 +00:00
- VeraCrypt: Increase password length support for non-boot volumes from 64 to 128
2021-07-04 10:24:55 +00:00
- WPA Kernels: Increased performance by 3.5% for backend devices controlled by CUDA backend
2021-06-13 13:49:11 +00:00
2021-06-17 07:43:21 +00:00
##
## Technical
##
2021-06-20 10:40:55 +00:00
- Autodetect: Limit the number of errors per hash-mode try to 100 to avoid long startup time
2021-07-01 19:33:14 +00:00
- Brain: Add brain_ctx_t to hashcat_ctx_t to enable runtime check if hashcat was compiled with brain support
- File handling: Do not abort on seeing a BOM in input files, just warn and ignore the BOM
2021-06-24 07:24:02 +00:00
- Folders: Do not escape the variable cpath_real to prevent certain OpenCL runtimes from running into an error which do not support escape characters
2021-07-05 07:25:06 +00:00
- Java Object hashCode: Add OPTS_TYPE_SUGGEST_KG as a default option
2021-06-18 21:48:39 +00:00
- LM: Workaround JiT compiler bug in -m 3000 on NV leading to false negatives with large amount of hashes
2021-07-05 09:33:12 +00:00
- OpenCL Runtime: Workaround a problem of the AMD OpenCL GPU driver under macOS which results in false negatives due to changes in the kernel crypto library
2021-06-27 08:18:38 +00:00
- OpenCL Runtime: Workaround JiT crash (SC failed. No reason given.) on macOS by limiting local memory allocations to 32k
2021-07-01 19:33:14 +00:00
- Status View: Include time and duration info when pausing and resuming
- Tests: Changed tests for VeraCrypt from -a 0 to -a 3, because password extension is not available to all shells
2021-07-15 14:42:29 +00:00
- WinZip Kernel: Increase supported data length from 8k to 16mb
2021-06-17 07:43:21 +00:00
2021-06-12 16:38:23 +00:00
* changes v6.2.1 -> v6.2.2
2021-05-16 06:51:59 +00:00
2021-05-17 11:23:50 +00:00
##
## Algorithms
##
- Added hash-mode: bcrypt(md5($pass)) / bcryptmd5
2021-05-18 17:25:47 +00:00
- Added hash-mode: bcrypt(sha1($pass)) / bcryptsha1
2021-06-08 09:12:54 +00:00
- Added hash-mode: FortiGate256 (FortiOS256)
2021-05-17 21:42:36 +00:00
- Added hash-mode: Linux Kernel Crypto API (2.4)
2021-05-18 08:58:13 +00:00
- Added hash-mode: MurmurHash
2021-06-12 16:38:23 +00:00
- Added hash-mode: OpenEdge Progress Encode
2021-05-28 18:06:01 +00:00
- Added hash-mode: md5(utf16le($pass))
- Added hash-mode: sha1(utf16le($pass))
- Added hash-mode: sha256(utf16le($pass))
2021-05-29 08:49:06 +00:00
- Added hash-mode: sha384(utf16le($pass))
2021-05-28 18:06:01 +00:00
- Added hash-mode: sha512(utf16le($pass))
2021-06-03 05:57:59 +00:00
- Added hash-mode: md5(md5(md5($pass)))
- Added hash-mode: sha1(sha1($salt.$pass.$salt))
- Added hash-mode: sha256($salt.sha256($pass))
2021-05-25 06:52:57 +00:00
- Added hash-mode: sha384($pass.$salt)
2021-05-25 07:26:12 +00:00
- Added hash-mode: sha384($salt.$pass)
2021-05-26 17:18:14 +00:00
- Added hash-mode: sha384($salt.utf16le($pass))
2021-06-03 05:57:59 +00:00
- Added hash-mode: sha384(utf16le($pass).$salt)
2021-05-17 11:23:50 +00:00
2021-06-06 13:48:04 +00:00
##
## Features
##
2021-06-12 18:04:59 +00:00
- Autodetect hash-type: performs an automatic analysis of input hash(es), either listing compatible algorithms, or executing the attack (if only one compatible format is found)
- Autodetect hash-type: added option --identify to only perform autodetection of hash-type, without back-end device initialization
2021-06-06 13:48:04 +00:00
2021-06-02 17:43:44 +00:00
##
## Bugs
##
2021-06-12 18:04:59 +00:00
- Fixed error message in -a 9 mode with rules when number of words from wordlist is not in sync with number of unique salts
- Fixed error-handling logic in monitor thread to not return in case of error (disk full, permission error, ...) but to retry instead
- Fixed false negatives with TrueCrypt/VeraCrypt when zip- or gzip-compressed files were used as keyfiles
- Fixed free memory-size output for skipped GPU (both automatic and manual) of --backend-info information screen
2021-06-02 17:43:44 +00:00
2021-05-16 16:31:43 +00:00
##
## Improvements
##
2021-06-01 19:49:52 +00:00
- AES Crypt Plugin: Reduced max password length from 256 to 128 which improved performance by 22%
2021-06-12 18:04:59 +00:00
- CUDA Backend: If --stdout is used, do not warn about missing CUDA SDK
- Folder Management: Add support for XDG Base Directory specification when hashcat is installed using 'make install'
2021-06-07 07:34:34 +00:00
- Hardware Monitor: Add support for GPU device utilization readings from sysfs (AMD on Linux)
2021-06-12 18:04:59 +00:00
- OpenCL Backend: Use CL_DEVICE_BOARD_NAME_AMD instead of CL_DEVICE_NAME for device name (when supported by OpenCL runtime)
- Performance Monitor: Suggest -S to improve cracking performance in specific attack configurations
2021-05-27 07:21:44 +00:00
- RAR3-p (Compressed): Fix workaround in unrar library in AES constant table generation to enable multi-threading support
2021-06-12 18:04:59 +00:00
- RC4 Kernels: Improved performance by 20%+ with new RC4 code in hash-modes Kerberos 5 (etype 23), MS Office (<= 2003) and PDF (<= 1.6)
- Scrypt Kernels: Re-enable use of kernel cache in scrypt-based kernels
- Status Screen: Show currently-running kernel type (pure, optimized) and generator type (host, device)
- UTF8-to-UTF16: Replaced naive UTF8-to-UTF16 conversion with true conversion for RAR3, AES Crypt, MultiBit HD (scrypt) and Umbraco HMAC-SHA1
2021-06-02 17:43:44 +00:00
2021-05-16 16:31:43 +00:00
##
## Technical
##
2021-05-16 06:51:59 +00:00
- Dependencies: Updated LZMA SDK from 19.00 to 21.02 alpha
2021-05-16 07:51:17 +00:00
- Dependencies: Updated xxHash from 0.1.0 to v0.8.0 - Stable XXH3
2021-05-22 08:36:34 +00:00
- Documentation: Update missing documentation in plugin developer guide for OPTS_TYPE_MP_MULTI_DISABLE and OPTS_TYPE_NATIVE_THREADS
2021-06-12 18:04:59 +00:00
- Hashrate: Update inner-loop hashrate prediction to handle new salt_repeats feature and also respect _loop2 kernel runtime
2021-05-31 06:28:13 +00:00
- Kernels: Add RC4 cipher to crypto library with optimized shared memory access pattern which will not cause any bank conflicts if -u <= 32
2021-06-12 18:04:59 +00:00
- Kernels: Add standalone true UTF8-to-UTF16 converter kernel that runs after amplifier. Use OPTS_TYPE_POST_AMP_UTF16LE from plugin
2021-06-12 09:42:19 +00:00
- Kernel Cache: Add module_jit_build_options() string from modules to kernel cache checksum calculation
2021-05-28 18:06:01 +00:00
- Modules: Recategorized HASH_CATEGORY option in various modules
2021-06-05 13:32:28 +00:00
- Modules: Added hash categories HASH_CATEGORY_IMS and HASH_CATEGORY_CRYPTOCURRENCY_WALLET
2021-06-09 11:19:33 +00:00
- Modules: Changed hash category of Python passlib from HASH_CATEGORY_GENERIC_KDF to HASH_CATEGORY_FRAMEWORK
2021-06-11 16:36:19 +00:00
- Unit-Tests: Added missing support for OPTS_TYPE_LOOP_PREPARE, OPTS_TYPE_LOOP_PREPARE2 and salt_repeats in self-test
2021-06-10 07:02:26 +00:00
- Unit-Tests: Added missing unit-test for Stargazer Stellar Wallet XLM
2021-05-16 06:51:59 +00:00
2021-05-15 12:07:58 +00:00
* changes v6.2.0 -> v6.2.1
2021-05-14 17:28:39 +00:00
2021-05-14 22:04:08 +00:00
##
## Technical
##
2021-05-15 09:31:42 +00:00
- Dependencies: Updated unrar source from 5.9.4 to 6.0.5
2021-05-14 22:04:08 +00:00
- Dependencies: Make unrar dependencies optional and disable hash-mode 23800 if dependency is disabled
2021-05-14 17:08:08 +00:00
* changes v6.1.1 -> v6.2.0
2020-07-29 10:32:11 +00:00
2020-08-03 14:57:23 +00:00
##
## Algorithms
##
2020-08-12 09:05:35 +00:00
- Added hash-mode: Apple iWork
2020-08-14 14:18:29 +00:00
- Added hash-mode: AxCrypt 2 AES-128
- Added hash-mode: AxCrypt 2 AES-256
2021-04-01 09:14:18 +00:00
- Added hash-mode: BestCrypt v3 Volume Encryption
- Added hash-mode: Bitwarden
- Added hash-mode: Dahua Authentication MD5
2021-05-06 09:04:14 +00:00
- Added hash-mode: KNX IP Secure - Device Authentication Code
2020-10-04 14:42:19 +00:00
- Added hash-mode: MongoDB ServerKey SCRAM-SHA-1
- Added hash-mode: MongoDB ServerKey SCRAM-SHA-256
2021-04-17 19:24:27 +00:00
- Added hash-mode: Mozilla key3.db
- Added hash-mode: Mozilla key4.db
2021-04-02 09:05:00 +00:00
- Added hash-mode: MS Office 2016 - SheetProtection
2021-04-10 08:54:51 +00:00
- Added hash-mode: PDF 1.4 - 1.6 (Acrobat 5 - 8) - edit password
2020-10-09 08:35:27 +00:00
- Added hash-mode: PKCS#8 Private Keys
2020-09-08 08:51:15 +00:00
- Added hash-mode: RAR3-p (Compressed)
- Added hash-mode: RAR3-p (Uncompressed)
2020-08-03 14:57:23 +00:00
- Added hash-mode: RSA/DSA/EC/OPENSSH Private Keys
2021-05-05 20:53:04 +00:00
- Added hash-mode: SolarWinds Orion v2
- Added hash-mode: SolarWinds Serv-U
2021-03-26 10:36:41 +00:00
- Added hash-mode: SQLCipher
2021-04-05 15:59:42 +00:00
- Added hash-mode: Stargazer Stellar Wallet XLM
2021-04-01 09:14:18 +00:00
- Added hash-mode: Stuffit5
2021-04-15 15:55:07 +00:00
- Added hash-mode: Telegram Desktop >= v2.1.14 (PBKDF2-HMAC-SHA512)
2021-03-31 09:05:22 +00:00
- Added hash-mode: Umbraco HMAC-SHA1
2020-10-23 21:29:34 +00:00
- Added hash-mode: sha1($salt.sha1($pass.$salt))
2020-09-08 09:45:03 +00:00
- Added hash-mode: sha1(sha1($pass).$salt)
2020-08-03 14:57:23 +00:00
2020-12-29 03:58:58 +00:00
##
## Features
##
2021-05-06 09:04:14 +00:00
- Added new attack-mode: Association Attack (aka "Context Attack") to attack hashes from a hashlist with associated "hints"
2021-05-06 05:46:13 +00:00
- Added support for true UTF-8 to UTF-16 conversion in kernel crypto library
2020-12-29 06:56:20 +00:00
- Added option --hash-info to show generic information for each hash-mode
2021-05-06 09:04:14 +00:00
- Added command prompt [f]inish to tell hashcat to quit after finishing the current attack
2020-08-03 14:57:23 +00:00
2020-08-04 12:48:12 +00:00
##
## Bugs
##
2021-05-01 12:13:58 +00:00
- Fixed access to filename which is a null-pointer in benchmark mode
2021-05-06 05:46:13 +00:00
- Fixed both false negative and false positive results in -m 3000 in -a 3 (affecting only NVIDIA GPU)
2021-04-25 15:46:03 +00:00
- Fixed buffer overflow in -m 1800 in -O mode which is optimized to handle only password candidates up to length 15
2021-05-06 05:46:13 +00:00
- Fixed buffer overflow in -m 4710 in -P mode and only in single hash mode if salt length is larger than 32 bytes
2021-05-08 10:14:07 +00:00
- Fixed hardware management sysfs readings in status screen (typically ROCm controlled GPUs)
2021-05-06 09:04:14 +00:00
- Fixed include guards in several header files
2021-04-20 15:14:13 +00:00
- Fixed incorrect maximum password length support for -m 400 in optimized mode (reduced from 55 to 39)
2020-08-04 13:15:06 +00:00
- Fixed internal access on module option attribute OPTS_TYPE_SUGGEST_KG with the result that it was unused
2021-04-20 15:14:13 +00:00
- Fixed invalid handling of outfile folder entries for -m 22000
2021-05-06 05:46:13 +00:00
- Fixed memory leak causing problems in sessions with many iterations - for instance, --benchmark-all or large mask files
2021-05-06 09:04:14 +00:00
- Fixed memory leaks in several cases of errors with access to temporary files
- Fixed NVML initialization in WSL2 environments
2021-05-06 05:46:13 +00:00
- Fixed out-of-boundary reads in cases where user activates -S for fast but pure hashes in -a 1 or -a 3 mode
2021-05-06 09:04:14 +00:00
- Fixed out-of-boundary reads in kernels using module_extra_buffer_size() if -n is set to 1
2020-08-30 13:45:40 +00:00
- Fixed password reassembling for cracked hashes on host for slow hashes in optimized mode that are longer than 32 characters
2021-04-21 07:22:00 +00:00
- Fixed race condition in potfile check during removal of empty hashes
2020-08-14 07:04:52 +00:00
- Fixed race condition resulting in out of memory error on startup if multiple hashcat instances are started at the same time
2021-05-06 05:46:13 +00:00
- Fixed rare case of misalignment of the status prompt when other user warnings are shown in the hashcat output
- Fixed search of tuning database - if a device was not assigned an alias, it couldn't be found in general
2021-05-06 09:04:14 +00:00
- Fixed test on gzip header in wordlists and hashlists
- Fixed too-early execution of some module functions that use non-final values opts_type and opti_type
2021-05-06 05:46:13 +00:00
- Fixed unexpected non-unique salts in multi-hash cracking in Bitcoin/Litecoin wallet.dat module which led to false negatives
2021-05-06 09:04:14 +00:00
- Fixed unit test for -m 3000 by preventing it to generate zero hashes
2021-05-11 05:15:45 +00:00
- Fixed unit tests using 'null' as padding method in Crypt::CBC but actually want to use 'none'
2021-05-11 21:36:31 +00:00
- Fixed unterminated salt buffer in -m 23400 module_hash_encode() in case salt was of length 256
2021-04-25 19:25:28 +00:00
- Fixed vector datatype support in -m 21100 only -P mode and only -a 3 mode were affected
2020-08-14 07:04:52 +00:00
##
## Improvements
##
2020-08-26 10:05:57 +00:00
- Apple Keychain: Notify the user about the risk of collisions / false positives
2020-09-05 13:46:28 +00:00
- CUDA Backend: Do not warn about missing CUDA SDK installation if --backend-ignore-cuda is used
2021-05-06 09:04:14 +00:00
- CUDA Backend: Give detailed warning if either the NVIDIA CUDA or the NVIDIA RTC library cannot be initialized
2020-08-31 11:35:57 +00:00
- CUDA Backend: Use blocking events to avoid 100% CPU core usage (per GPU)
2021-04-11 11:35:40 +00:00
- OpenCL Runtime: Workaround JiT compiler deadlock on NVIDIA driver >= 465.89
2021-05-09 07:38:22 +00:00
- OpenCL Runtime: Workaround JiT compiler segfault on legacy AMDGPU driver compiling RAR3 OpenCL kernel
2020-09-10 19:25:19 +00:00
- RAR3 Kernels: Improved loop code, improving performance by 23%
2021-05-06 09:04:14 +00:00
- Scrypt Kernels: Added a number of GPU specific optimizations per hash modes to hashcat.hctune
- Scrypt Kernels: Added detailed documentation on device specific tunings in hashcat.hctune
- Scrypt Kernels: Optimized Salsa code portion by reducing register copies and removed unnecessary byte swaps
2021-04-21 13:59:14 +00:00
- Scrypt Kernels: Reduced kernel wait times by making it a true split kernel where iteration count = N value
2021-05-06 09:04:14 +00:00
- Scrypt Kernels: Refactored workload configuration strategy based on available resources
- Startup time: Improved startup time by avoiding some time-intensive operations for skipped devices
2020-08-04 12:48:12 +00:00
2020-08-12 09:22:37 +00:00
##
## Technical
##
2021-05-06 09:04:14 +00:00
- Bcrypt: Make BCRYPT entry for CPU in hashcat.hctune after switch to OPTS_TYPE_MP_MULTI_DISABLE (basically set -n to 1)
- Benchmark: Update benchmark_deep.pl with new hash modes added (also new hash modes which were added with v6.1.0)
- Building: Declare phony targets in Makefile to avoid conflicts of a target name with a file of the same name
- Building: Fixed build warnings on macOS for unrar sources
- Building: Fixed test for DARWIN_VERSION in Makefile
- Commandline Options: Removed option --example-hashes, now an alias of --hash-info
- Compute API: Skipping devices instead of stop if error occured in initialization
2020-09-04 20:58:12 +00:00
- Documentation: Added 3rd party licenses to docs/license_libs
2021-05-06 15:06:28 +00:00
- Hash-Mode 8900 (Scrypt): Changed default benchmark scrypt parameters from 1k:1:1 to 16k:8:1 (default)
2020-09-11 08:23:50 +00:00
- Hash-Mode 11600 (7-Zip): Improved memory handling (alloc and free) for the hook function
2020-08-12 09:22:37 +00:00
- Hash-Mode 13200 (AxCrypt): Changed the name to AxCrypt 1 to avoid confusion
- Hash-Mode 13300 (AxCrypt in-memory SHA1): Changed the name to AxCrypt 1 in-memory SHA1
2021-05-06 09:04:14 +00:00
- Hash-Mode 16300 (Ethereum Pre-Sale Wallet, PBKDF2-HMAC-SHA256): Use correct buffer size allocation for AES key
- Hash-Mode 20710 (sha256(sha256($pass).$salt)): Removed unused code and fixed module_constraints
- Hash-Mode 22000 (WPA-PBKDF2-PMKID+EAPOL): Support loading a hash from command line
- Hash-Mode 23300 (Apple iWork): Use correct buffer size allocation for AES key
- Hash Parser: Output support for machine-readable hash lines in --show and --left and in error messages
2021-05-06 05:46:13 +00:00
- Kernel Development: Kernel cache is disabled automatically when hashcat is compiled with DEBUG=1
2021-05-06 09:04:14 +00:00
- Kernel Functions: Added generic AES-GCM interface see OpenCL/inc_cipher_aes-gcm.h
- Kernel Functions: Refactored OpenCL/inc_ecc_secp256k1.cl many functions, add constants and documentation
- Kernel Functions: Refactored OpenCL/inc_ecc_secp256k1.cl to improve usage in external programs
- Kernel Functions: Wrap atomic functions with hc_ prefix. Custom kernels need to rename "atomic_inc()" to "hc_atomic_inc()"
- Kernel Parameters: Added new parameter 'salt_repeat' to improve large buffer management
- Module Parameters: Add OPTS_TYPE_MP_MULTI_DISABLE for use by plugin developers to prevent multiply -n with the MCU count
- Module Parameters: Add OPTS_TYPE_NATIVE_THREADS for use by plugin developers to enforce native thread count
- Module Structure: Add 3rd party library hook management functions. This also requires an update to all existing module_init()
- OpenCL Runtime: Add support for clUnloadPlatformCompiler() to release some resources after JiT compilation
2021-04-11 09:53:47 +00:00
- OpenCL Runtime: Switched default OpenCL device type on macOS from GPU to CPU. Use -D 2 to enable GPU devices
2021-05-06 09:04:14 +00:00
- OpenCL Runtime: Update module_unstable_warnings() for all hash modes based on most recent versions of many OpenCL runtimes
- Unit tests: Added 'potthrough' (like passthrough, but hash:plain) to tools/test.pl
2020-08-26 10:49:54 +00:00
- Unit tests: Added Python 3 support for all of the Python code in our test framework
2020-08-26 10:24:23 +00:00
- Unit tests: Fixed the packaging of test (-p) feature
2021-05-06 09:04:14 +00:00
- Unit tests: Updated test.sh to show kernel type (pure or optimized) in output
- Unit tests: Use python3/pip3 instead of just python/pip in tools/install_modules.sh
2020-08-12 09:22:37 +00:00
2020-07-29 10:16:53 +00:00
* changes v6.1.0 -> v6.1.1
2020-07-28 10:43:44 +00:00
2020-07-29 09:26:45 +00:00
##
## Bugs
##
- Fixed unresolvable relative paths in hashcat.log
2020-07-28 10:29:13 +00:00
* changes v6.0.0 -> v6.1.0
2020-06-19 11:15:31 +00:00
2020-06-25 15:36:43 +00:00
##
## Algorithms
##
- Added hash-mode: Apple Keychain
2020-07-17 12:27:00 +00:00
- Added hash-mode: XMPP SCRAM
2020-06-25 15:36:43 +00:00
2020-06-30 11:28:23 +00:00
##
## Bugs
##
2020-07-02 15:39:22 +00:00
- Fixed alias detection with additional processor core count check
2020-07-23 10:56:21 +00:00
- Fixed false negatives in hash-mode 10901 if hash-mode 9200, 10000, 10900 or 20300 was used to compile the kernel binary
- Fixed integer overflow for large masks in -a 6 attack mode
2020-07-02 10:20:41 +00:00
- Fixed maximum password length in modules of hash-modes 600, 7800, 7801 and 9900
2020-07-02 15:32:54 +00:00
- Fixed non-zero status code when using --stdout
2020-06-30 11:28:23 +00:00
- Fixed uninitialized value in bitsliced DES kernel (BF mode only) leading to false negatives
2020-06-19 11:15:31 +00:00
##
## Improvements
##
2020-07-08 10:48:29 +00:00
- Compile macOS: Fixed makefile target 'clean' to correctly remove *.dSYM folders
2020-07-23 10:56:21 +00:00
- Compile ZLIB: Fixed makefile include paths in case USE_SYSTEM_ZLIB is used
2020-07-26 16:07:27 +00:00
- Hcchr Files: Renamed some .charset files into .hcchr files
2020-07-26 16:00:09 +00:00
- Hash-Mode 21200 (md5(sha1($salt).md5($pass))): Improved speed by using pre-computed SHA1
2020-07-27 13:21:56 +00:00
- OpenCL Devices: Utilize PCI domain to improve alias device detection
2020-07-22 10:34:00 +00:00
- OpenCL Kernels: Added datatypes to literals of enum costants
2020-07-17 12:27:00 +00:00
- OpenCL Kernels: Added pure kernels for hash-mode 600 (BLAKE2b-512)
2020-07-15 09:27:46 +00:00
- OpenCL Runtime: Add some unstable warnings for some SHA512 based algorithms on AMD GPU on macOS
2020-07-23 10:56:21 +00:00
- OpenCL Runtime: Reinterpret return code CL_DEVICE_NOT_FOUND from clGetDeviceIDs() as non-fatal
2020-06-19 11:15:31 +00:00
2020-07-10 09:32:42 +00:00
##
## Technical
##
- Backend: Changed the maximum number of compute devices from 64 to 128
2020-07-21 08:11:14 +00:00
- Tests: Improved tests for hash-mode 11300 (Bitcoin/Litecoin wallet.dat)
2020-07-21 09:28:59 +00:00
- Tests: Improved tests for hash-mode 13200 (AxCrypt)
2020-07-21 09:06:34 +00:00
- Tests: Improved tests for hash-mode 13600 (WinZip)
2020-07-21 09:21:18 +00:00
- Tests: Improved tests for hash-mode 16400 (CRAM-MD5 Dovecot)
2020-07-21 08:49:42 +00:00
- Tests: Improved tests for hash-mode 16800 (WPA-PMKID-PBKDF2)
2020-07-10 09:32:42 +00:00
2019-08-05 10:09:55 +00:00
* changes v5.1.0 -> v6.0.0
2018-12-04 10:54:05 +00:00
2019-03-15 20:48:49 +00:00
##
2020-06-10 08:43:37 +00:00
## Features
2019-03-15 20:48:49 +00:00
##
2020-06-16 14:51:03 +00:00
- Refactored hash-mode integration and replaced it with a fully modularized plugin interface
- Converted all existing hardwired hash-modes to hashcat plugins
- Added comprehensive plugin developer guide on adding new/custom hash-modes to hashcat
- Refactored compute backend interface to allow adding compute API other than OpenCL
2020-06-10 08:43:37 +00:00
- Added CUDA as a new compute backend (enables hashcat to run on NVIDIA Jetson, IBM POWER9 w/ Nvidia V100, etc.)
2020-06-16 14:51:03 +00:00
- Support automatic use of all available GPU memory when using CUDA backend
- Support automatic use of all available CPU cores for hash-mode-specific hooks
2019-08-05 10:09:55 +00:00
- Support on-the-fly loading of compressed wordlists in zip and gzip format
- Support deflate decompression for the 7-Zip hash-mode using zlib hook
2020-06-10 08:43:37 +00:00
- Added additional documentation on hashcat brain, slow-candidate interface and keyboard-layout mapping features
2019-11-05 19:44:19 +00:00
- Keep output of --show and --left in the original ordering of the input hash file
2020-06-10 08:43:37 +00:00
- Improved performance of many hash-modes
2019-03-15 20:48:49 +00:00
2018-12-06 17:00:09 +00:00
##
## Algorithms
##
2020-01-16 11:15:17 +00:00
- Added hash-mode: AES Crypt (SHA256)
2019-08-05 10:09:55 +00:00
- Added hash-mode: Android Backup
- Added hash-mode: AuthMe sha256
2019-12-31 17:42:13 +00:00
- Added hash-mode: BitLocker
2019-08-05 10:09:55 +00:00
- Added hash-mode: BitShares v0.x
2019-03-15 20:48:49 +00:00
- Added hash-mode: Blockchain, My Wallet, Second Password (SHA256)
2020-01-14 16:15:34 +00:00
- Added hash-mode: Citrix NetScaler (SHA512)
2019-08-05 10:09:55 +00:00
- Added hash-mode: DiskCryptor
2019-11-16 09:48:52 +00:00
- Added hash-mode: Electrum Wallet (Salt-Type 3-5)
2019-08-05 10:09:55 +00:00
- Added hash-mode: Huawei Router sha1(md5($pass).$salt)
- Added hash-mode: Java Object hashCode()
2019-04-20 17:41:37 +00:00
- Added hash-mode: Kerberos 5 Pre-Auth etype 17 (AES128-CTS-HMAC-SHA1-96)
- Added hash-mode: Kerberos 5 Pre-Auth etype 18 (AES256-CTS-HMAC-SHA1-96)
2019-08-05 10:09:55 +00:00
- Added hash-mode: Kerberos 5 TGS-REP etype 17 (AES128-CTS-HMAC-SHA1-96)
- Added hash-mode: Kerberos 5 TGS-REP etype 18 (AES256-CTS-HMAC-SHA1-96)
2020-02-06 19:25:14 +00:00
- Added hash-mode: MultiBit Classic .key (MD5)
2020-05-08 08:57:32 +00:00
- Added hash-mode: MultiBit HD (scrypt)
2020-02-11 10:36:16 +00:00
- Added hash-mode: MySQL $A$ (sha256crypt)
2019-08-05 10:09:55 +00:00
- Added hash-mode: Open Document Format (ODF) 1.1 (SHA-1, Blowfish)
- Added hash-mode: Open Document Format (ODF) 1.2 (SHA-256, AES)
- Added hash-mode: Oracle Transportation Management (SHA256)
2019-03-21 19:18:39 +00:00
- Added hash-mode: PKZIP archive encryption
2019-05-20 05:14:12 +00:00
- Added hash-mode: PKZIP Master Key
2019-05-09 06:51:21 +00:00
- Added hash-mode: Python passlib pbkdf2-sha1
- Added hash-mode: Python passlib pbkdf2-sha256
- Added hash-mode: Python passlib pbkdf2-sha512
2019-08-05 10:09:55 +00:00
- Added hash-mode: QNX /etc/shadow (MD5)
- Added hash-mode: QNX /etc/shadow (SHA256)
- Added hash-mode: QNX /etc/shadow (SHA512)
2020-03-03 08:55:13 +00:00
- Added hash-mode: RedHat 389-DS LDAP (PBKDF2-HMAC-SHA256)
2019-08-05 10:09:55 +00:00
- Added hash-mode: Ruby on Rails Restful-Authentication
2020-05-31 08:36:41 +00:00
- Added hash-mode: SecureZIP AES-128
- Added hash-mode: SecureZIP AES-192
- Added hash-mode: SecureZIP AES-256
2019-12-23 14:06:36 +00:00
- Added hash-mode: SolarWinds Orion
2020-04-08 12:31:47 +00:00
- Added hash-mode: Telegram Desktop App Passcode (PBKDF2-HMAC-SHA1)
- Added hash-mode: Telegram Mobile App Passcode (SHA256)
2019-11-26 16:16:18 +00:00
- Added hash-mode: Web2py pbkdf2-sha512
2019-12-16 18:35:00 +00:00
- Added hash-mode: WPA-PBKDF2-PMKID+EAPOL
2019-12-19 21:14:42 +00:00
- Added hash-mode: WPA-PMK-PMKID+EAPOL
2020-06-10 08:43:37 +00:00
- Added hash-mode: md5($salt.sha1($salt.$pass))
- Added hash-mode: md5(sha1($pass).md5($pass).sha1($pass))
- Added hash-mode: md5(sha1($salt).md5($pass))
- Added hash-mode: sha1(md5(md5($pass)))
- Added hash-mode: sha1(md5($pass.$salt))
- Added hash-mode: sha1(md5($pass).$salt)
- Added hash-mode: sha1($salt1.$pass.$salt2)
- Added hash-mode: sha256(md5($pass))
- Added hash-mode: sha256($salt.$pass.$salt)
- Added hash-mode: sha256(sha256_bin($pass))
- Added hash-mode: sha256(sha256($pass).$salt)
2018-12-06 17:00:09 +00:00
2018-12-06 13:42:17 +00:00
##
## Bugs
##
2019-08-05 10:09:55 +00:00
- Fixed buffer overflow in build_plain() function
2020-02-19 17:50:50 +00:00
- Fixed buffer overflow in mp_add_cs_buf() function
2020-06-16 14:51:03 +00:00
- Fixed calculation of brain-session ID - only the first hash of the hashset was taken into account
- Fixed cleanup of password candidate buffers on GPU as set from autotune when -n parameter was used
2020-05-20 10:44:04 +00:00
- Fixed copy/paste error leading to invalid "Integer overflow detected in keyspace of mask" in attack-mode 6 and 7
2020-06-10 08:43:37 +00:00
- Fixed cracking multiple Office hashes (modes 9500, 9600) if hashes shared the same salt
2020-06-16 14:51:03 +00:00
- Fixed cracking of Blockchain, My Wallet (V1 and V2) hashes when testing decrypted data in unexpected format
- Fixed cracking of Cisco-PIX and Cisco-ASA MD5 passwords in mask-attack mode when mask > length 16
2020-05-25 09:30:45 +00:00
- Fixed cracking of DNSSEC (NSEC3) hashes by replacing all dots in the passwords with lengths
2019-03-15 20:48:49 +00:00
- Fixed cracking of Electrum Wallet Salt-Type 2 hashes
2020-06-16 14:51:03 +00:00
- Fixed cracking of NetNTLMv1 passwords in mask-attack mode when mask > length 16 (optimized kernels only)
- Fixed cracking of RAR3-hp hashes with pure kernel for passwords longer than 28 bytes
2020-03-06 13:23:44 +00:00
- Fixed cracking of VeraCrypt Streebog-512 hashes (CPU only)
2020-06-16 14:51:03 +00:00
- Fixed cracking raw Streebog-HMAC 256 and 512 hashes for passwords of length >= 64
- Fixed cracking raw Whirlpool hashes cracking for passwords of length >= 32
2019-03-15 20:48:49 +00:00
- Fixed incorrect progress-only result in a special race condition
2020-06-16 14:51:03 +00:00
- Fixed invalid call of mp_css_utf16le_expand()/mp_css_utf16be_expand() in slow-candidate sessions
- Fixed invalid password truncation in attack-mode 1 when the final password is longer than 32 characters
2019-10-08 10:33:11 +00:00
- Fixed invalid use of --hex-wordlist if encoded wordlist string is larger than length 256
2020-06-16 14:51:03 +00:00
- Fixed maximum password length limit which was announced as 256 but was actually 255
- Fixed out-of-boundary read in pure kernel rule engine rule 'p' when parameter was set to 2 or higher
2020-02-22 07:42:36 +00:00
- Fixed out-of-boundary write to decrypted[] in DPAPI masterkey file v1 kernel
2020-06-16 14:51:03 +00:00
- Fixed output of IKE PSK (mode 5300 and 5400) hashes to use separators in the correct position
- Fixed output password of "e" rule in pure and CPU rule engine when separator character is also the first letter
- Fixed problem with usage of hexadecimal notation (\x00-\xff) within rules
2019-08-06 12:07:43 +00:00
- Fixed race condition in maskfile mode by using a dedicated flag for restore execution
2020-06-16 14:51:03 +00:00
- Fixed some memory leaks when hashcat is shutting down due to some file error
- Fixed some memory leaks when mask-files are used in optimized mode
2020-05-20 10:44:04 +00:00
- Fixed --status-json to correctly escape certain characters in hashes
2019-03-15 20:48:49 +00:00
- Fixed the 7-Zip parser to allow the entire supported range of encrypted and decrypted data lengths
- Fixed the validation of the --brain-client-features command line argument (only values 1, 2 or 3 are allowed)
2018-12-06 13:42:17 +00:00
2019-02-20 15:20:28 +00:00
##
## Improvements
##
- Bitcoin Wallet: Be more user friendly by allowing a larger data range for ckey and public_key
2020-06-16 14:51:03 +00:00
- Brain: Added new parameter --brain-server-timer to specify seconds between scheduled backups
2019-08-05 10:09:55 +00:00
- Building: Fix for library compilation failure due to multiple defenition of sbob_xx64()
2020-06-16 14:51:03 +00:00
- Cracking bcrypt and Password Safe v2: Use feedback from the compute API backend to dynamically calculate optimal thread count
- Dictstat: On Windows, the st_ino attribute in the stat struct is not set, which can lead to invalid cache hits. Added the filename to the database entry.
2020-06-10 08:43:37 +00:00
- Documents: Added README on how to build hashcat on Cygwin, MSYS2 and WSL
2019-12-23 14:06:36 +00:00
- File handling: Print a truncation warning when an oversized line is detected
2019-03-15 20:48:49 +00:00
- My Wallet: Added additional plaintext pattern used in newer versions
2020-03-18 10:13:01 +00:00
- Office cracking: Support hash format with second block data for 40-bit oldoffice files (eliminates false positives)
2020-06-16 14:51:03 +00:00
- OpenCL Runtime: Added a warning if OpenCL runtime NEO, Beignet, POCL (v1.4 or older) or MESA is detected, and skip associated devices (override with --force)
2020-06-10 08:43:37 +00:00
- OpenCL Runtime: Allow the kernel to access post-48k shared memory region on CUDA. Requires both module and kernel preparation
2019-03-10 09:48:37 +00:00
- OpenCL Runtime: Disable OpenCL kernel cache on Apple for Intel CPU (throws CL_BUILD_PROGRAM_FAILURE for no reason)
2020-06-16 14:51:03 +00:00
- OpenCL Runtime: Do not run shared- or constant-memory size checks if their memory type is of type global memory (typically CPU)
2019-12-23 14:06:36 +00:00
- OpenCL Runtime: Improve ROCm detection and make sure to not confuse with recent AMDGPU drivers
2019-03-01 14:34:49 +00:00
- OpenCL Runtime: Not using amd_bytealign (amd_bitalign is fine) on AMDGPU driver drastically reduces JiT segfaults
2020-01-24 12:24:19 +00:00
- OpenCL Runtime: Unlocked maximum thread count for NVIDIA GPU
2019-03-15 20:48:49 +00:00
- OpenCL Runtime: Update unstable mode warnings for Apple and AMDGPU drivers
- OpenCL Runtime: Workaround JiT compiler error on AMDGPU driver compiling WPA-EAPOL-PBKDF2 OpenCL kernel
2019-12-23 14:06:36 +00:00
- OpenCL Runtime: Workaround JiT compiler error on ROCm 2.3 driver if the 'inline' keyword is used in function declaration
2019-04-13 12:47:41 +00:00
- OpenCL Runtime: Workaround memory allocation error on AMD driver on Windows leading to CL_MEM_OBJECT_ALLOCATION_FAILURE
2020-06-10 08:43:37 +00:00
- OpenCL Runtime: Removed some workarounds by calling chdir() to specific folders on startup
2020-06-16 14:51:03 +00:00
- Outfile: Added new system to specify the outfile format, the new --outfile-format now also supports timestamps
- Startup Checks: Improved the pidfile check: Do not just check for existing PID, but also check executable filename
- Startup Checks: Prevent the user from modifying options which are overwritten automatically in benchmark mode
2019-08-05 10:09:55 +00:00
- Startup Screen: Add extra warning when using --force
2019-11-18 07:26:13 +00:00
- Startup Screen: Add extra warning when using --keep-guessing
2020-06-16 14:51:03 +00:00
- Startup Screen: Provide an estimate of host memory required for the requested attack
2020-06-10 08:43:37 +00:00
- Status Screen: Added brain status for all compute devices
2019-08-05 10:09:55 +00:00
- Status Screen: Added remaining counts and changed recovered count logic
- Status Screen: Added --status-json flag for easier machine reading of hashcat status output
- Tab Completion: Allow using "make install" version of hashcat
2019-03-15 20:48:49 +00:00
- Tuning Database: Updated hashcat.hctune with new models and refreshed vector width values
2020-06-10 08:43:37 +00:00
- VeraCrypt: Added support for VeraCrypt PIM brute-force, replaced --veracrypt-pim with --veracrypt-pim-start and --veracrypt-pim-stop
2019-06-16 09:41:42 +00:00
- WipZip cracking: Added two byte early reject, resulting in higher cracking speed
2019-08-05 10:09:55 +00:00
- WPA/WPA2 cracking: In the potfile, replace password with PMK in order to detect already cracked networks across all WPA modes
2019-02-20 15:20:28 +00:00
2018-12-06 17:00:09 +00:00
##
## Technical
##
2020-06-16 14:51:03 +00:00
- Backend Interface: Added new options --backend-ignore-cuda and --backend-ingore-opencl to prevent CUDA and/or OpenCL API from being used
2019-12-23 14:06:36 +00:00
- Binary Distribution: Removed 32-bit binary executables
2019-08-05 10:09:55 +00:00
- Building: On macOS, switch from ar to /usr/bin/ar to improve building compatibility
- Building: Skipping Travis/Appveyor build for non-code changes
- Codebase: Cleanup of many unused rc_* variables
- Codebase: Fixed some printf() format arguments
- Codebase: Fixed some type casting to avoid truncLongCastAssignment warnings
- Codebase: Moved hc_* file functions from shared.c to filehandling.c
- Codebase: Ran through a bunch of clang-tidy checkers and updated code accordingly
- Codebase: Remove redundant calls to fclose()
- Dependencies: Updated LZMA-Headers from 18.05 to 19.00
2019-04-20 07:34:13 +00:00
- Dependencies: Updated OpenCL-Headers to latest version from GitHub master repository
2020-06-10 08:43:37 +00:00
- Hash-Mode 12500 (RAR3-hp): Allow cracking of passwords up to length 64
2019-08-05 10:09:55 +00:00
- Hash-mode 1460 (HMAC-SHA256 (key = $salt)): Allow up to 64 byte of salt
- Hash-Mode 1680x (WPA-PMKID) specific: Changed separator character from '*' to ':'
- Hash-Mode 8300 (DNSSEC (NSEC3)) specific: Allow empty salt
2019-03-13 18:02:24 +00:00
- Keep Guessing: No longer automatically activate --keep-guessing for modes 9720, 9820, 14900 and 18100
2019-11-18 07:26:13 +00:00
- Keep Guessing: No longer mark hashes as cracked/removed when in potfile
2019-12-23 14:06:36 +00:00
- Kernel Cache: Reactivate OpenCL runtime specific kernel caches
2019-04-20 06:46:25 +00:00
- Kernel Compile: Removed -cl-std= from all kernel build options since we're compatible to all OpenCL versions
2019-08-05 10:09:55 +00:00
- OpenCL Kernels: Fix OpenCL compiler warning on double precision constants
2020-02-01 08:00:48 +00:00
- OpenCL Kernels: Moved "gpu_decompress", "gpu_memset" and "gpu_atinit" into shared.cl in order to reduce compile time
2019-04-30 14:24:13 +00:00
- OpenCL Options: Removed --opencl-platforms filter in order to force backend device numbers to stay constant
2020-06-10 08:43:37 +00:00
- OpenCL Options: Set --spin-damp to 0 (disabled) by default. With the CUDA backend this workaround became deprecated
2019-08-05 10:09:55 +00:00
- Parsers: switched from strtok() to strtok_r() for thread safety
2020-02-01 18:32:03 +00:00
- Requirements: Add new requirement for NVIDIA GPU: CUDA Toolkit (9.0 or later)
2020-04-01 08:16:49 +00:00
- Requirements: Update runtime check for minimum NVIDIA driver version from 367.x to 440.64 or later
2019-08-05 10:09:55 +00:00
- Test Script: Switched from /bin/bash to generic /bin/sh and updated code accordingly
2018-12-06 17:00:09 +00:00
2018-11-09 11:48:27 +00:00
* changes v5.0.0 -> v5.1.0
2018-10-23 09:54:11 +00:00
##
## Features
##
2018-11-12 20:03:24 +00:00
- Added support for using --stdout in brain-client mode
2018-11-01 15:33:17 +00:00
- Added new option --stdin-timeout-abort, to set how long hashcat should wait for stdin input before aborting
2018-11-12 20:03:24 +00:00
- Added new option --kernel-threads to manually override the automatically-calculated number of threads
2018-11-25 17:21:07 +00:00
- Added new option --keyboard-layout-mapping to map users keyboard layout, required to crack TC/VC system boot volumes
2018-10-23 09:54:11 +00:00
##
## Algorithms
##
- Added pure kernels for hash-mode 11700 (Streebog-256)
- Added pure kernels for hash-mode 11800 (Streebog-512)
2018-11-08 10:46:31 +00:00
- Added hash-mode 11750 (HMAC-Streebog-256 (key = $pass), big-endian)
- Added hash-mode 11760 (HMAC-Streebog-256 (key = $salt), big-endian)
2018-10-29 10:12:48 +00:00
- Added hash-mode 11850 (HMAC-Streebog-512 (key = $pass), big-endian)
2018-11-08 10:46:31 +00:00
- Added hash-mode 11860 (HMAC-Streebog-512 (key = $salt), big-endian)
- Added hash-mode 13771 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 512 bit)
- Added hash-mode 13772 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1024 bit)
- Added hash-mode 13773 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1536 bit)
- Added hash-mode 18200 (Kerberos 5 AS-REP etype 23)
2018-11-12 20:31:01 +00:00
- Added hash-mode 18300 (Apple File System (APFS))
2018-11-22 15:07:45 +00:00
- Added Kuznyechik cipher and cascades support for VeraCrypt kernels
2018-11-28 13:21:14 +00:00
- Added Camellia cipher and cascades support for VeraCrypt kernels
2018-10-23 09:54:11 +00:00
##
## Improvements
##
2018-11-30 21:59:43 +00:00
- OpenCL Devices: Add support for up to 64 OpenCL devices per system
- OpenCL Platforms: Add support for up to 64 OpenCL platforms per system
2018-11-20 11:32:24 +00:00
- OpenCL Runtime: Use our own yielding technique for synchronizing rather than vendor specific
2018-11-14 08:32:06 +00:00
- Startup: Show OpenCL runtime initialization message (per device)
2018-11-12 20:31:01 +00:00
- xxHash: Added support for using the version provided by the OS/distribution
2018-11-11 09:13:38 +00:00
##
## Bugs
##
- Fixed automated calculation of brain-session when not using all hashes in the hashlist
2018-11-12 20:03:24 +00:00
- Fixed calculation of brain-attack if a given wordlist has zero size
2018-11-11 09:13:38 +00:00
- Fixed checking the length of the last token in a hash if it was given the attribute TOKEN_ATTR_FIXED_LENGTH
- Fixed endianness and invalid separator character in outfile format for hash-mode 16801 (WPA-PMKID-PMK)
2018-11-12 20:03:24 +00:00
- Fixed ignoring --brain-client-features configuration when brain server has attack-position information from a previous run
2018-11-17 13:40:30 +00:00
- Fixed invalid hardware monitor detection in benchmark mode
2018-11-12 20:03:24 +00:00
- Fixed invalid warnings about throttling when --hwmon-disable was used
2018-11-11 09:13:38 +00:00
- Fixed missing call to WSACleanup() to cleanly shutdown windows sockets system
- Fixed missing call to WSAStartup() and client indexing in order to start the brain server on Windows
2018-11-30 21:59:43 +00:00
- Fixed out-of-boundary read in DPAPI masterkey file v2 OpenCL kernel
2018-11-12 20:03:24 +00:00
- Fixed out-of-bounds write in short-term memory of the brain server
- Fixed output of --speed-only and --progress-only when fast hashes are used in combination with --slow-candidates
2018-11-30 21:59:43 +00:00
- Fixed selection of OpenCL devices (-d) if there's more than 32 OpenCL devices installed
2018-11-20 14:29:24 +00:00
- Fixed status output of progress value when -S and -l are used in combination
- Fixed thread count maximum for pure kernels in straight attack mode
2018-11-11 09:13:38 +00:00
##
## Technical
##
- Brain: Set --brain-client-features default from 3 to 2
2018-11-12 20:03:24 +00:00
- Dependencies: Added xxHash and OpenCL-Headers to deps/ in order to allow building hashcat from GitHub source release package
- Dependencies: Removed gitmodules xxHash and OpenCL-Headers
2018-11-15 21:29:03 +00:00
- Keymaps: Added hashcat keyboard mapping us.hckmap (can be used as template)
- Keymaps: Added hashcat keyboard mapping de.hckmap
2018-11-09 11:48:27 +00:00
- Hardware Monitor: Renamed --gpu-temp-abort to --hwmon-temp-abort
- Hardware Monitor: Renamed --gpu-temp-disable to --hwmon-disable
2018-11-12 20:03:24 +00:00
- Memory: Limit maximum host memory allocation depending on bitness
2018-11-09 11:48:27 +00:00
- Memory: Reduced default maximum bitmap size from 24 to 18 and give a notice to use --bitmap-max to restore
2018-11-20 11:32:24 +00:00
- Parameter: Rename --nvidia-spin-damp to --spin-damp (now accessible for all devices)
2018-11-14 08:32:06 +00:00
- Pidfile: Treat a corrupted pidfile like a not existing pidfile
2018-11-20 09:06:34 +00:00
- OpenCL Device: Do a real query on OpenCL local memory type instead of just assuming it
2018-11-21 11:03:47 +00:00
- OpenCL Runtime: Disable auto-vectorization for Intel OpenCL runtime to workaround hanging JiT since version 18.1.0.013
2018-11-04 09:07:45 +00:00
- Tests: Added hash-mode 11700 (Streebog-256)
2018-11-08 10:46:31 +00:00
- Tests: Added hash-mode 11750 (HMAC-Streebog-256 (key = $pass), big-endian)
- Tests: Added hash-mode 11760 (HMAC-Streebog-256 (key = $salt), big-endian)
2018-11-04 09:07:45 +00:00
- Tests: Added hash-mode 11800 (Streebog-512)
2018-10-29 10:12:48 +00:00
- Tests: Added hash-mode 11850 (HMAC-Streebog-512 (key = $pass), big-endian)
2018-11-08 10:46:31 +00:00
- Tests: Added hash-mode 11860 (HMAC-Streebog-512 (key = $salt), big-endian)
2018-11-09 10:35:23 +00:00
- Tests: Added hash-mode 13711 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 512 bit)
- Tests: Added hash-mode 13712 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 1024 bit)
- Tests: Added hash-mode 13713 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 1536 bit)
2018-11-08 16:08:40 +00:00
- Tests: Added hash-mode 13721 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 512 bit)
- Tests: Added hash-mode 13722 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 1024 bit)
- Tests: Added hash-mode 13723 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 1536 bit)
- Tests: Added hash-mode 13731 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 512 bit)
- Tests: Added hash-mode 13732 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 1024 bit)
- Tests: Added hash-mode 13733 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 1536 bit)
- Tests: Added hash-mode 13751 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 512 bit)
- Tests: Added hash-mode 13752 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1024 bit)
- Tests: Added hash-mode 13753 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1536 bit)
- Tests: Added hash-mode 13771 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 512 bit)
- Tests: Added hash-mode 13772 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1024 bit)
- Tests: Added hash-mode 13773 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1536 bit)
2018-11-22 15:07:45 +00:00
- Tests: Added VeraCrypt containers for Kuznyechik cipher and cascades
2018-11-28 13:21:14 +00:00
- Tests: Added VeraCrypt containers for Camellia cipher and cascades
2018-10-23 09:54:11 +00:00
2018-10-28 15:51:00 +00:00
* changes v4.2.1 -> v5.0.0
2018-08-08 21:01:32 +00:00
2018-09-01 10:31:17 +00:00
##
## Features
##
2018-10-26 19:16:32 +00:00
- Added new option --slow-candidates which allows hashcat to generate passwords on-host
2018-10-28 15:47:13 +00:00
- Added new option --brain-server to start a hashcat brain server
- Added new option --brain-client to start a hashcat brain client, automatically activates --slow-candidates
- Added new option --brain-host and --brain-port to specify ip and port of brain server, both listening and connecting
- Added new option --brain-session to override automatically calculated brain session ID
- Added new option --brain-session-whitelist to allow only explicit written session ID on brain server
- Added new option --brain-password to specify the brain server authentication password
- Added new option --brain-client-features which allows enable and disable certain features of the hashcat brain
2018-09-01 10:31:17 +00:00
2018-10-15 08:39:28 +00:00
##
## Algorithms
##
- Added hash-mode 17300 = SHA3-224
- Added hash-mode 17400 = SHA3-256
- Added hash-mode 17500 = SHA3-384
- Added hash-mode 17600 = SHA3-512
- Added hash-mode 17700 = Keccak-224
- Added hash-mode 17800 = Keccak-256
- Added hash-mode 17900 = Keccak-384
- Added hash-mode 18000 = Keccak-512
2018-10-17 14:42:22 +00:00
- Added hash-mode 18100 = TOTP (HMAC-SHA1)
2018-10-15 08:39:28 +00:00
- Removed hash-mode 5000 = SHA-3 (Keccak)
2018-08-09 11:03:22 +00:00
##
## Improvements
##
2018-10-21 08:58:29 +00:00
- Added additional hybrid "passthrough" rules, to enable variable-length append/prepend attacks
2018-10-26 19:16:32 +00:00
- Added a periodic check for read timeouts in stdin/pipe mode, and abort if no input was provided
2018-10-20 16:27:22 +00:00
- Added a tracker for salts, amplifier and iterations to the status screen
- Added option --markov-hcstat2 to make it clear that the new hcstat2 format (compressed hcstat2gen output) must be used
2018-10-21 08:58:29 +00:00
- Allow bitcoin master key lengths other than 96 bytes (but they must be always multiples of 16)
- Allow hashfile for -m 16800 to be used with -m 16801
2018-10-26 19:16:32 +00:00
- Allow keepass iteration count to be larger than 999999
- Changed algorithms using colon as separators in the hash to not use the hashconfig separator on parsing
2018-10-20 16:27:22 +00:00
- Do not allocate memory segments for bitmap tables if we don't need it - for example, in benchmark mode
2018-10-21 08:58:29 +00:00
- Got rid of OPTS_TYPE_HASH_COPY for Ansible Vault
2018-10-20 16:27:22 +00:00
- Improved the speed of the outfile folder scan when using many hashes/salts
2018-09-12 10:25:02 +00:00
- Increased the maximum size of edata2 in Kerberos 5 TGS-REP etype 23
2018-10-16 13:59:20 +00:00
- Make the masks parser more restrictive by rejecting a single '?' at the end of the mask (use ?? instead)
2018-10-21 09:50:44 +00:00
- Override --quiet and show final status screen in case --status is used
2018-10-26 19:16:32 +00:00
- Removed duplicate words in the dictionary file example.dict
- Updated Intel OpenCL runtime version check
2018-10-21 08:58:29 +00:00
- Work around some AMD OpenCL runtime segmentation faults
2018-10-20 16:27:22 +00:00
- Work around some padding issues with host compilers and OpenCL JiT on 32 and 64-bit systems
2018-08-09 11:03:22 +00:00
2018-08-09 09:00:08 +00:00
##
## Bugs
##
- Fixed a invalid scalar datatype return value in hc_bytealign() where it should be a vector datatype return value
2018-08-15 11:40:14 +00:00
- Fixed a problem with attack mode -a 7 together with stdout mode where the mask bytes were missing in the output
2018-10-20 16:27:22 +00:00
- Fixed a problem with tab completion where --self-test-disable incorrectly expected a further parameter/value
2018-10-21 08:58:29 +00:00
- Fixed a race condition in status view that lead to out-of-bound reads
2018-08-30 09:13:44 +00:00
- Fixed detection of unique ESSID in WPA-PMKID-* parser
2018-10-21 08:58:29 +00:00
- Fixed missing wordlist encoding in combinator mode
2018-08-26 15:51:40 +00:00
- Fixed speed/delay problem when quitting while the outfile folder is being scanned
2018-10-21 08:58:29 +00:00
- Fixed the ciphertext max length in Ansible Vault parser
2018-10-20 16:27:22 +00:00
- Fixed the tokenizer configuration in Postgres hash parser
2018-10-24 15:11:18 +00:00
- Fixed the byte order of digest output for hash-mode 11800 (Streebog-512)
2018-08-09 09:00:08 +00:00
2018-08-07 12:04:04 +00:00
* changes v4.2.0 -> v4.2.1
2018-08-03 20:42:09 +00:00
2018-08-05 21:29:54 +00:00
##
## Improvements
##
- Try to evaluate available OpenCL device memory and use this information instead of total available OpenCL device memory for autotune
2018-08-06 13:35:35 +00:00
##
## Bugs
##
- Fixed a buffer overflow in precompute_salt_md5() in case salt was longer than 64 characters
2018-07-21 09:52:54 +00:00
* changes v4.1.0 -> v4.2.0
2018-02-28 10:25:23 +00:00
2018-06-18 12:38:35 +00:00
##
## Algorithms
##
- Added hash-mode 16700 = FileVault 2
2018-07-25 14:46:06 +00:00
- Added hash-mode 16800 = WPA-PMKID-PBKDF2
- Added hash-mode 16801 = WPA-PMKID-PMK
2018-07-31 17:05:06 +00:00
- Added hash-mode 16900 = Ansible Vault
2018-06-18 12:38:35 +00:00
2018-06-13 10:22:54 +00:00
##
## Improvements
##
2018-07-21 09:52:54 +00:00
- Added JtR-compatible support for hex notation in rules engine
- Added OpenCL device utilization to the status information in machine-readable output
2018-08-02 09:30:29 +00:00
- Added missing NV Tesla and Titan GPU details to tuning database
2018-07-30 11:23:48 +00:00
- General file handling: Abort if a byte order mark (BOM) was detected in a wordlist, hashlist, maskfile or rulefile
2018-06-15 15:00:41 +00:00
- HCCAPX management: Use advanced hints in message_pair stored by hcxtools about endian bitness of replay counter
2018-07-18 23:34:04 +00:00
- OpenCL kernels: Abort session if kernel self-test fails
2018-06-20 12:18:17 +00:00
- OpenCL kernels: Add '-pure' prefix to kernel filenames to avoid problems caused by reusing existing hashcat installation folder
2018-07-21 10:30:12 +00:00
- OpenCL kernels: Removed the use of 'volatile' in inline assembly instructions where it is not needed
2018-07-22 09:47:42 +00:00
- OpenCL kernels: Switched array pointer types in function declarations in order to be compatible with OpenCL 2.0
2018-08-02 09:30:29 +00:00
- Refactored code for --progress-only and --speed-only calculation
2018-07-23 13:51:39 +00:00
- SIP cracking: Increased the nonce field to allow a salt of 1024 bytes
2018-07-31 14:18:45 +00:00
- TrueCrypt/VeraCrypt cracking: Do an entropy check on the TC/VC header on start
2018-06-13 10:22:54 +00:00
2018-02-28 10:25:52 +00:00
##
## Bugs
##
2018-07-18 23:34:04 +00:00
- Fixed a function declaration attribute in -m 8900 kernel leading to unusable -m 9300 which shares kernel code with -m 8900
- Fixed a miscalculation in --progress-only mode output for extremely slow kernels like -m 14800
- Fixed a missing check for errors on OpenCL devices leading to invalid removal of restore file
2018-07-21 09:52:54 +00:00
- Fixed a missing kernel in -m 5600 in combination with -a 3 and -O if mask is >= 16 characters
- Fixed detection of AMD_GCN version in case the rocm driver is used
- Fixed missing code section in -m 2500 and -m 2501 to crack corrupted handshakes with a LE endian bitness base
2018-07-23 17:09:58 +00:00
- Fixed a missing check for hashmodes using OPTS_TYPE_PT_UPPER causing the self-test to fail when using combinator- and hybrid-mode
2018-02-28 10:25:52 +00:00
2018-01-30 10:24:21 +00:00
* changes v4.0.1 -> v4.1.0
2017-11-09 10:36:01 +00:00
2017-12-01 14:19:10 +00:00
##
## Features
##
2018-01-27 16:57:32 +00:00
- Added option --benchmark-all to benchmark all hash-modes (not just the default selection)
- Removed option --gpu-temp-retain that tried to retain GPU temperature at X degrees celsius - please use driver-specific tools
- Removed option --powertune-enable to enable power tuning - please use driver specific tools
2017-12-01 14:19:10 +00:00
2017-11-11 13:44:56 +00:00
##
## Algorithms
##
- Added hash-mode 16000 = Tripcode
2017-11-29 13:55:48 +00:00
- Added hash-mode 16100 = TACACS+
2017-12-13 09:39:39 +00:00
- Added hash-mode 16200 = Apple Secure Notes
2017-12-20 10:41:46 +00:00
- Added hash-mode 16300 = Ethereum Pre-Sale Wallet, PBKDF2-SHA256
2018-01-17 08:25:21 +00:00
- Added hash-mode 16400 = CRAM-MD5 Dovecot
2018-01-21 14:29:17 +00:00
- Added hash-mode 16500 = JWT (JSON Web Token)
2019-03-08 12:44:33 +00:00
- Added hash-mode 16600 = Electrum Wallet (Salt-Type 1-2)
2017-11-11 13:44:56 +00:00
2017-11-09 10:36:01 +00:00
##
## Bugs
##
2018-02-20 09:55:49 +00:00
- Fixed a configuration setting for -m 400 in pure kernel mode which said it was capable of doing SIMD when it is not
2018-02-13 15:48:11 +00:00
- Fixed a hash parsing problem for 7-Zip hashes: allow a longer CRC32 data length field within the hash format
2018-01-28 12:53:31 +00:00
- Fixed a hash parsing problem when using --show/--left with hashes with long salts that required pure kernels
2018-02-13 15:48:11 +00:00
- Fixed a logic error in storing temporary progress for slow hashes, leading to invalid speeds in status view
- Fixed a mask-length check issue: return -1 in case the mask length is not within the password-length range
- Fixed a missing check for return code in case hashcat.hcstat2 was not found
2018-02-09 08:50:13 +00:00
- Fixed a race condition in combinator- and hybrid-mode where the same scratch buffer was used by multiple threads
2018-02-13 15:48:11 +00:00
- Fixed a restore issue leading to "Restore value is greater than keyspace" when mask files or wordlist folders were used
2018-02-02 13:02:33 +00:00
- Fixed a uninitialized value in OpenCL kernels 9720, 9820 and 10420 leading to absurd benchmark performance
2018-01-27 16:57:32 +00:00
- Fixed the maximum password length check in password-reassembling function
2018-02-13 15:48:11 +00:00
- Fixed the output of --show when $HEX[] passwords were present within the potfile
2017-11-09 10:36:01 +00:00
2017-11-26 09:50:22 +00:00
##
## Improvements
##
2018-02-05 16:18:58 +00:00
- OpenCL Kernels: Add a decompressing kernel and a compressing host code in order to reduce PCIe transfer time
2018-02-10 19:44:13 +00:00
- OpenCL Kernels: Improve performance preview accuracy in --benchmark, --speed-only and --progress-only mode
2018-02-13 15:48:11 +00:00
- OpenCL Kernels: Remove password length restriction of 16 for Cisco-PIX and Cisco-ASA hashes
- Terminal: Display set cost/rounds during benchmarking
2018-01-28 12:53:31 +00:00
- Terminal: Show [r]esume in prompt only in pause mode, and show [p]ause in prompt only in resume mode
2017-11-26 09:50:22 +00:00
2017-11-18 11:18:56 +00:00
##
## Technical
##
2018-02-08 12:45:48 +00:00
- Autotune: Improve autotune engine logic and synchronize results on same OpenCL devices
2017-12-04 09:51:49 +00:00
- Documents: Added docs/limits.txt
2018-01-27 16:57:32 +00:00
- Files: Copy include/ folder and its content when SHARED is set to 1 in Makefile
2018-02-13 15:48:11 +00:00
- Files: Switched back to relative current working directory on windows to work around problems with Unicode characters
2018-01-31 15:42:04 +00:00
- Hashcat Context: Fixed a memory leak in shutdown phase
2017-12-04 09:51:49 +00:00
- Hash Parser: Changed the way large strings are handled/truncated within the event buffer if they are too large to fit
2018-01-31 15:40:48 +00:00
- Hash Parser: Fixed a memory leak in shutdown phase
2018-01-27 16:57:32 +00:00
- Hash Parser: Fixed the use of strtok_r () calls
2018-01-31 15:38:55 +00:00
- OpenCL Devices: Fixed several memory leaks in shutdown phase
2018-02-08 12:45:48 +00:00
- OpenCL Kernels: Add general function declaration keyword (inline) and some OpenCL runtime specific exceptions for NV and CPU devices
2018-01-18 22:19:31 +00:00
- OpenCL Kernels: Replace variables from uXX to uXXa if used in __constant space
2018-01-28 12:53:31 +00:00
- OpenCL Kernels: Use a special kernel to initialize the password buffer used during autotune measurements, to reduce startup time
2018-02-11 20:29:57 +00:00
- OpenCL Kernels: Refactored kernel thread management from native to maximum per kernel
2018-02-13 08:13:35 +00:00
- OpenCL Kernels: Use three separate comparison kernels (depending on keyver) for WPA instead of one
2018-02-08 12:45:48 +00:00
- OpenCL Runtime: Add current timestamp to OpenCL kernel source in order to force OpenCL JiT compiler to recompile and not use the cache
2018-02-13 15:48:11 +00:00
- OpenCL Runtime: Enforce use of OpenCL version 1.2 to restrain OpenCL runtimes to make use of the __generic address space qualifier
2018-02-08 12:45:48 +00:00
- OpenCL Runtime: Updated rocm detection
2018-02-13 15:48:11 +00:00
- Returncode: Enforce return code 0 when the user selects --speed-only or --progress-only and no other error occurs
2018-02-08 12:45:48 +00:00
- Rules: Fixed some default rule-files after changing rule meaning of 'x' to 'O'
2018-01-28 12:53:31 +00:00
- Self Test: Skip self-test for mode 8900 - user-configurable scrypt settings are incompatible with fixed settings in the self-test hash
2018-02-13 16:02:28 +00:00
- Self Test: Skip self-test for mode 15700 because the settings are too high and cause startup times that are too long
2018-02-02 22:22:21 +00:00
- Terminal: Add workitem settings to status display (can be handy for debugging)
2018-02-13 15:48:11 +00:00
- Terminal: Send clear-line code to the same output stream as the message immediately following
2018-01-27 16:57:32 +00:00
- Timer: Switch from gettimeofday() to clock_gettime() to work around problems on cygwin
2018-02-13 15:48:11 +00:00
- User Options: According to getopts manpage, the last element of the option array has to be filled with zeros
2017-11-18 11:18:56 +00:00
2017-11-07 09:15:03 +00:00
* changes v4.0.0 -> v4.0.1:
2017-11-06 09:22:23 +00:00
2017-11-16 11:37:31 +00:00
##
## Improvements
##
- Changed the maximum length of the substring of a hash shown whenever the parser found a problem while parsing the hash
2017-11-06 09:22:23 +00:00
##
## Bugs
##
- Fixed a memory leak while parsing a wordlist
- Fixed compile of kernels on AMD systems on windows due to invalid detection of ROCm
- Fixed compile of sources using clang under MSYS2
- Fixed overlapping memory segment copy in CPU rule engine if using a specific rule function
2017-11-06 11:46:56 +00:00
- Fixed a parallel build problem when using the "install" Makefile target
2017-11-07 09:02:22 +00:00
- Fixed the version number extraction for github releases which do not including the .git directory
2017-11-06 09:22:23 +00:00
2017-09-20 14:06:27 +00:00
* changes v3.6.0 -> v4.0.0:
2017-06-10 11:02:20 +00:00
2017-06-13 17:07:08 +00:00
##
## Features
##
2017-08-19 15:55:50 +00:00
- Added support to crack passwords and salts up to length 256
- Added option --optimized-kernel-enable to use faster kernels but limit the maximum supported password- and salt-length
2017-08-19 16:09:51 +00:00
- Added self-test functionality to detect broken OpenCL runtimes on startup
2017-06-29 10:19:05 +00:00
- Added option --self-test-disable to disable self-test functionality on startup
2017-08-16 10:07:14 +00:00
- Added option --wordlist-autohex-disable to disable the automatical conversion of $HEX[] words from the word list
2017-08-22 09:09:46 +00:00
- Added option --example-hashes to show an example hash for each hash-mode
2017-10-20 11:36:47 +00:00
- Removed option --weak-hash-check (zero-length password check) to increase startup time, it also causes many Trap 6 error on macOS
2017-06-13 17:07:08 +00:00
2017-08-19 15:55:50 +00:00
##
## Algorithms
##
2017-09-19 18:26:56 +00:00
- Added hash-mode 2500 = WPA/WPA2 (SHA256-AES-CMAC)
- Added hash-mode 2501 = WPA/WPA2 PMK
2017-08-19 15:55:50 +00:00
2017-06-13 17:07:08 +00:00
##
## Bugs
##
2017-10-10 12:41:33 +00:00
- Fixed a buffer overflow in mangle_dupechar_last function
- Fixed a calculation error in get_power() leading to errors of type "BUG pw_add()!!"
2017-08-19 15:02:05 +00:00
- Fixed a memory problem that occured when the OpenCL folder was not found and e.g. the shared and session folder were the same
2017-08-19 15:55:50 +00:00
- Fixed a missing barrier() call in the RACF OpenCL kernel
- Fixed a missing salt length value in benchmark mode for SIP
2017-10-10 12:41:33 +00:00
- Fixed an integer overflow in hash buffer size calculation
2017-08-25 18:52:13 +00:00
- Fixed an integer overflow in innerloop_step and innerloop_cnt variables
2017-08-26 12:40:53 +00:00
- Fixed an integer overflow in masks not skipped when loaded from file
2017-10-10 12:41:33 +00:00
- Fixed an invalid optimization code in kernel 7700 depending on the input hash, causing the kernel to loop forever
- Fixed an invalid progress value in status view if words from the base wordlist get rejected because of length
2017-06-13 17:07:08 +00:00
- Fixed a parser error for mode -m 9820 = MS Office <= 2003 $3, SHA1 + RC4, collider #2
2017-09-04 13:53:13 +00:00
- Fixed a parser error in multiple modes not checking for return code, resulting in negative memory index writes
2017-08-03 12:02:09 +00:00
- Fixed a problem with changed current working directory, for instance by using --restore together with --remove
2017-08-21 07:14:49 +00:00
- Fixed a problem with the conversion to the $HEX[] format: convert/hexify also all passwords of the format $HEX[]
2017-08-19 15:55:50 +00:00
- Fixed the calculation of device_name_chksum; should be done for each iteration
2017-10-10 12:41:33 +00:00
- Fixed the dictstat lookup if nanoseconds are used in timestamps for the cached files
2017-08-16 15:51:35 +00:00
- Fixed the estimated time value whenever the value is very large and overflows
2017-10-10 12:41:33 +00:00
- Fixed the output of --show when used together with the collider modes -m 9710, 9810 or 10410
2017-08-19 15:55:50 +00:00
- Fixed the parsing of command line options. It doesn't show two times the same error about an invalid option anymore
2017-08-17 05:51:19 +00:00
- Fixed the parsing of DCC2 hashes by allowing the "#" character within the user name
2017-08-17 09:29:04 +00:00
- Fixed the parsing of descrypt hashes if the hashes do have non-standard characters within the salt
2017-09-16 10:53:45 +00:00
- Fixed the use of --veracrypt-pim option. It was completely ignored without showing an error
2017-08-19 15:02:05 +00:00
- Fixed the version number used in the restore file header
2017-06-13 17:07:08 +00:00
2017-06-12 07:59:15 +00:00
##
## Improvements
##
2017-10-17 07:07:59 +00:00
- Autotune: Do a pre-autotune test run to find out if kernel runtime is above some TDR limit
2017-08-19 15:55:50 +00:00
- Charset: Add additional DES charsets with corrected parity
2017-08-19 17:25:37 +00:00
- OpenCL Buffers: Do not allocate memory for amplifiers for fast hashes, it's simply not needed
2017-08-19 15:55:50 +00:00
- OpenCL Kernels: Improved performance of SHA-3 Kernel (keccak) by hardcoding the 0x80 stopbit
2017-10-22 10:30:17 +00:00
- OpenCL Kernels: Improved rule engine performance by 6% on for NVidia
2017-08-19 15:55:50 +00:00
- OpenCL Kernels: Move from ld.global.v4.u32 to ld.const.v4.u32 in _a3 kernels
- OpenCL Kernels: Replace bitwise swaps with rotate() versions for AMD
2017-08-30 11:27:04 +00:00
- OpenCL Kernels: Rewritten Keccak kernel to run fully on registers and partially reversed last round
2017-10-22 10:30:17 +00:00
- OpenCL Kernels: Rewritten SIP kernel from scratch
2017-10-22 12:16:32 +00:00
- OpenCL Kernels: Thread-count is set to hardware native count except if -w 4 is used then OpenCL maximum is used
2017-08-27 15:16:35 +00:00
- OpenCL Kernels: Updated default scrypt TMTO to be ideal for latest NVidia and AMD top models
2017-08-19 15:55:50 +00:00
- OpenCL Kernels: Vectorized tons of slow kernels to improve CPU cracking speed
2017-10-20 11:36:47 +00:00
- OpenCL Runtime: Improved detection for AMD and NV devices on macOS
2017-10-19 13:27:09 +00:00
- OpenCL Runtime: Improved performance on Intel MIC devices (Xeon PHI) on runtime level (300MH/s to 2000MH/s)
2017-10-22 10:30:17 +00:00
- OpenCL Runtime: Updated AMD ROCm driver version check, warn if version < 1.1
2017-10-17 10:30:39 +00:00
- Show cracks: Improved the performance of --show/--left if used together with --username
2017-10-14 10:54:34 +00:00
- Startup: Add visual indicator of active options when benchmarking
2017-10-10 09:30:20 +00:00
- Startup: Check and abort session if outfile and wordlist point to the same file
2017-10-22 10:30:17 +00:00
- Startup: Show some attack-specific optimizer constraints on start, eg: minimum and maximum support password- and salt-length
2017-06-12 07:59:15 +00:00
- WPA cracking: Improved nonce-error-corrections mode to use a both positive and negative corrections
2017-06-10 11:02:20 +00:00
2017-08-16 17:43:41 +00:00
##
## Technical
##
2017-08-19 15:55:50 +00:00
- General: Update C standard from c99 to gnu99
- Hash Parser: Improved salt-length checks for generic hash modes
2017-09-20 08:22:18 +00:00
- HCdict File: Renamed file from hashcat.hcdict to hashcat.hcdict2 and add header because versions are incompatible
2017-08-19 15:55:50 +00:00
- HCstat File: Add code to read LZMA compressed hashcat.hcstat2
- HCstat File: Add hcstat2 support to enable masks of length up to 256, also adds a filetype header
2017-10-22 10:30:17 +00:00
- HCstat File: Renamed file from hashcat.hcstat to hashcat.hcstat2 and add header because versions are incompatible
2017-10-17 07:07:59 +00:00
- HCtune File: Remove apple related GPU entries to workaround Trap 6 error
2017-08-19 15:55:50 +00:00
- OpenCL Kernels: Added code generator for most of the switch_* functions and replaced existing code
- OpenCL Kernels: Declared all include functions as static to reduce binary kernel cache size
- OpenCL Kernels: On AMD GPU, optimized kernels for use with AMD ROCm driver
- OpenCL Kernels: Removed some include functions that are no longer needed to reduce compile time
2017-08-29 15:36:50 +00:00
- OpenCL Runtime: Fall back to 64 threads default (from 256) on AMD GPU to prevent creating too many workitems
2017-08-19 15:55:50 +00:00
- OpenCL Runtime: Forcing OpenCL 1.2 no longer needed. Option removed from build options
2017-10-22 10:30:17 +00:00
- OpenCL Runtime: On AMD GPU, recommend AMD ROCm driver for Linux
2017-08-19 15:55:50 +00:00
- Restore: Fixed the version number used in the restore file header
2017-08-16 17:43:41 +00:00
- Time: added new type for time measurements hc_time_t and related functions to force the use of 64 bit times
2017-06-10 11:02:20 +00:00
* changes v3.5.0 -> v3.6.0:
2017-04-16 11:19:23 +00:00
##
## Algorithms
##
2017-06-04 21:54:41 +00:00
- Added hash-mode 600 = BLAKE2-512
2017-04-16 11:19:23 +00:00
- Added hash-mode 15200 = Blockchain, My Wallet, V2
2017-05-07 00:04:53 +00:00
- Added hash-mode 15300 = DPAPI masterkey file v1 and v2
2017-06-04 21:54:41 +00:00
- Added hash-mode 15400 = ChaCha20
2017-06-09 07:56:06 +00:00
- Added hash-mode 15500 = JKS Java Key Store Private Keys (SHA1)
2017-06-03 21:23:03 +00:00
- Added hash-mode 15600 = Ethereum Wallet, PBKDF2-HMAC-SHA256
- Added hash-mode 15700 = Ethereum Wallet, PBKDF2-SCRYPT
2017-04-10 08:11:32 +00:00
2017-04-14 14:36:28 +00:00
##
## Features
##
2017-05-17 13:53:17 +00:00
- 7-Zip cracking: increased max. data length to 320k and removed AES padding attack to avoid false negatives
2017-06-04 21:54:41 +00:00
- Dictionary cache: Show time spent on dictionary cache building at startup
2017-06-06 07:13:34 +00:00
- Rules: Support added for position 'p' (Nth instance of a character) in host mode (using -j or -k)
- Rules: Support added for rejection rule '_N' (reject plains of length not equal to N) in host mode
- Rules: Support added for rule 'eX'
- Wordlist encoding: Added parameters --encoding-from and --encoding-to to configure wordlist encoding handling
- Wordlist encoding: Support added for internal conversion between user-defined encodings during runtime
2017-04-14 14:36:28 +00:00
2017-05-17 09:21:06 +00:00
##
## Workarounds
##
2017-06-04 21:54:41 +00:00
- Workaround added for NVIDIA NVML library: If libnvidia-ml.so couldn't be loaded, try again using libnvidia-ml.so.1
2017-05-17 09:21:06 +00:00
2017-04-10 08:11:32 +00:00
##
## Improvements
##
2017-06-04 21:54:41 +00:00
- WPA cracking: Improved nonce-error-corrections mode to fix corrupt nonces generated on big-endian devices
2017-04-10 08:11:32 +00:00
2017-04-27 15:56:38 +00:00
##
## Bugs
##
2017-06-04 21:54:41 +00:00
- Fixed a condition that caused hybrid attacks using a maskfile to not select all wordlists from a wordlist folder
- Fixed a memory leak that was present when a user periodically prints hashcat status (using --status-timer)
2017-06-06 07:13:34 +00:00
- Fixed a missing type specifier in a function declaration of the RACF kernel
2017-04-27 15:56:38 +00:00
2017-04-10 08:11:32 +00:00
##
## Technical
##
2017-06-04 21:54:41 +00:00
- Building: In the binary release packages, link libiconv static for Windows binaries
- Dictstat: Structure for dictstat file changed to include --encoding-from and --encoding-to parameters
- OpenCL Runtime: Updated AMDGPU-PRO driver version check, warn if version 17.10 (known to be broken) is detected
- WPA cracking: Reduced --nonce-error-corrections default from 16 to 8 to compensate for speed drop caused by big-endian fixes
2017-04-10 08:11:32 +00:00
2017-06-10 11:02:20 +00:00
* changes v3.40 -> v3.5.0:
2017-03-04 07:58:22 +00:00
2017-03-07 13:41:58 +00:00
##
## Features
##
- WPA cracking: Added support for WPA/WPA2 handshake AP nonce automatic error correction
- WPA cracking: Added parameter --nonce-error-corrections to configure range of error correction
2017-03-23 15:44:32 +00:00
##
## Algorithms
##
- Added hash-mode 15100 = Juniper/NetBSD sha1crypt
2017-03-07 09:00:54 +00:00
##
## Improvements
##
2017-04-01 16:02:34 +00:00
- Abbreviate long hashes to display the Hash.Target status line within 80 characters
2017-04-01 19:33:23 +00:00
- Refactored internal use of esalt to sync with the number of digests instead of the number of salts
2017-04-01 16:02:34 +00:00
- Refactored other output to display within 80 characters without wrapping
2017-03-07 09:00:54 +00:00
2017-03-04 07:58:22 +00:00
##
## Bugs
##
2017-04-01 19:33:23 +00:00
- Fixed a hash validation error when trying to load Android FDE < 4.3 hashes
2017-03-04 07:58:22 +00:00
- Fixed a problem where --keyspace combined with custom charsets incorrectly displayed an error message
2017-03-11 07:25:58 +00:00
- Fixed a problem where --stdout combined with custom charsets incorrectly displayed an error message
2017-03-05 16:14:55 +00:00
- Fixed a problem with parsing and displaying -m 7000 = Fortigate (FortiOS) hashes
2017-04-01 16:02:34 +00:00
- Fixed a race condition after sessions finish, where the input-base was freed but accessed afterwards
2017-04-01 19:33:23 +00:00
- Fixed a typo that resulted in the minimum password length not being correctly initialized
2017-04-01 16:02:34 +00:00
- Fixed --outfile-format formats 11 through 15 to show the correct crack position
2017-04-01 19:33:23 +00:00
- Fixed --remove to apply even when all hashes are either found in the potfile or detected in weak-hash checks
2017-03-04 07:58:22 +00:00
2017-03-07 13:41:58 +00:00
##
## Technical
##
- Building: Added missing prototypes for atlassian_parse_hash function
2017-03-25 15:11:01 +00:00
- Dictionary Cache: Split long status line into multiple lines to stay < 80 chars
2017-03-19 14:11:41 +00:00
- Files: Detect and error when users try to use -r with a parameter which is not a file
2017-04-01 19:33:23 +00:00
- HCCAPX Parser: Added support for a special bit (bit 8) of the message_pair that indicates if replay counters match
2017-03-19 14:11:41 +00:00
- Parameter: Detect and error when users try to use an empty string (length 0) for parameters like --session=
2017-04-01 16:02:34 +00:00
- Parameter: Detect and error when users try to use non-digit input when only digits are expected
2017-03-07 13:41:58 +00:00
- Sessions: Improved string comparison in case user sets --session to "hashcat"
2017-04-01 16:02:34 +00:00
- Status View: Add rejected counter to machine-readable output
2017-04-01 19:33:23 +00:00
- Status View: Rename labels Input.Mode, Input.Base, ... to Guess.Mode, Guess.Base, ...
- Status View: Added a visual indicator to the status screen when checkpoint quit has been requested
2017-03-31 13:28:20 +00:00
- Versions: Changed version naming convention from x.yz to x.y.z
2017-03-07 13:41:58 +00:00
2017-02-17 17:28:16 +00:00
* changes v3.30 -> v3.40:
2017-01-21 14:37:44 +00:00
2017-01-12 19:28:16 +00:00
##
## Features
##
2017-03-03 07:59:54 +00:00
- Added support for loading hccapx files
- Added support for filtering hccapx message pairs using --hccapx-message-pair
2017-01-12 19:28:16 +00:00
- Added support for parsing 7-Zip hashes with LZMA/LZMA2 compression indicator set to a non-zero value
2017-01-24 09:28:35 +00:00
- Added support for decompressing LZMA1/LZMA2 data for -m 11600 = 7-Zip to validate the CRC
2017-03-03 07:59:54 +00:00
- Added support for automatic merge of LM halfes in case --show and --left is used
2017-02-01 08:00:16 +00:00
- Added support for showing all user names with --show and --left if --username was specified
2017-02-08 09:24:36 +00:00
- Added support for GPU temperature management on cygwin build
2017-01-11 15:04:05 +00:00
2017-01-21 14:37:44 +00:00
##
## Algorithms
##
2017-01-31 11:40:43 +00:00
- Added hash-mode 1411 = SSHA-256(Base64), LDAP {SSHA256}
2017-02-12 17:12:17 +00:00
- Added hash-mode 3910 = md5(md5($pass).md5($salt))
2017-02-01 15:56:14 +00:00
- Added hash-mode 4010 = md5($salt.md5($salt.$pass))
2017-02-01 18:56:49 +00:00
- Added hash-mode 4110 = md5($salt.md5($pass.$salt))
2017-01-31 10:44:58 +00:00
- Added hash-mode 4520 = sha1($salt.sha1($pass))
- Added hash-mode 4522 = PunBB
2017-01-30 20:18:37 +00:00
- Added hash-mode 7000 = Fortigate (FortiOS)
2017-02-28 13:22:03 +00:00
- Added hash-mode 12001 = Atlassian (PBKDF2-HMAC-SHA1)
2017-01-21 14:37:44 +00:00
- Added hash-mode 14600 = LUKS
2017-01-25 18:07:07 +00:00
- Added hash-mode 14700 = iTunes Backup < 10.0
2017-01-26 20:16:29 +00:00
- Added hash-mode 14800 = iTunes Backup >= 10.0
2017-01-29 15:43:08 +00:00
- Added hash-mode 14900 = Skip32
2017-02-02 23:07:31 +00:00
- Added hash-mode 15000 = FileZilla Server >= 0.9.55
2017-01-21 14:37:44 +00:00
2017-01-11 15:04:05 +00:00
##
## Workarounds
##
- Workaround added for AMDGPU-Pro OpenCL runtime: AES encrypt and decrypt Invertkey function was calculated wrong in certain cases
2017-02-13 10:36:16 +00:00
- Workaround added for AMDGPU-Pro OpenCL runtime: RAR3 kernel require a volatile variable to work correctly
2017-03-03 07:59:54 +00:00
- Workaround added for Apple OpenCL runtime: bcrypt kernel requires a volatile variable because of a compiler optimization bug
2017-03-03 09:49:40 +00:00
- Workaround added for Apple OpenCL runtime: LUKS kernel requires some volatile variables because of a compiler optimization bug
- Workaround added for Apple OpenCL runtime: TrueCrypt kernel requires some volatile variables because of a compiler optimization bug
2017-03-03 07:59:54 +00:00
- Workaround added for NVidia OpenCL runtime: RACF kernel requires EBCDIC lookup to be done on shared memory
2017-01-11 15:04:05 +00:00
2017-01-21 15:59:07 +00:00
##
## Bugs
##
2017-02-27 13:47:41 +00:00
- 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
2017-03-01 19:05:27 +00:00
- Fixed cracking of Plaintext (-m 99999) in case MD4 was used in a previous session
2017-01-23 12:40:16 +00:00
- Fixed DEScrypt cracking in BF mode in case the hashlist contains more than 16 times the same salt
2017-01-23 16:54:56 +00:00
- Fixed duplicate detection for WPA handshakes with the same ESSID
2017-02-08 09:24:36 +00:00
- Fixed nvapi datatype definition for NvS32 and NvU32
2017-03-03 14:26:59 +00:00
- Fixed overflow in bcrypt kernel in expand_key() function
2017-03-03 07:59:54 +00:00
- Fixed pointer to local variable outside scope in case -j or -k is used
- Fixed pointer to local variable outside scope in case --markov-hcstat is not used
2017-03-02 22:30:43 +00:00
- Fixed recursion in loopback handling when session was aborted by the user
2017-02-27 13:47:41 +00:00
- Fixed rule 'O' (RULE_OP_MANGLE_OMIT) in host mode in case the offset + length parameter equals the length of the input word
2017-03-01 19:09:17 +00:00
- Fixed rule 'i' (RULE_OP_MANGLE_INSERT) in host mode in case the offset parameter equals the length of the input word
2017-02-27 13:47:41 +00:00
- 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
2017-01-21 15:59:07 +00:00
2017-01-24 15:07:59 +00:00
##
## Technical
##
2017-01-27 08:58:01 +00:00
- Building: Add SHARED variable to Makefile to choose if hashcat is build as static or shared binary (using libhashcat.so/hashcat.dll)
2017-02-20 17:45:04 +00:00
- Building: Removed compiler option -march=native as this created problems for maintainers on various distributions
2017-03-03 07:59:54 +00:00
- Building: Removed the use of RPATH on linker level
2017-02-09 09:42:35 +00:00
- Building: Replaced linking of CRT_glob.o with the use of int _dowildcard
2017-02-10 08:08:19 +00:00
- Commandline: Do some checks related to custom-charset options if user specifies them
2017-02-14 14:38:57 +00:00
- CPU Affinity: Fixed memory leak in case invalid cpu Id was specified
- Dispatcher: Fixed several memory leaks in case an OpenCL error occurs
2017-01-24 16:52:32 +00:00
- Events: Improved the maximum event message handling. event_log () will now also internally make sure that the message is properly terminated
2017-02-15 18:58:21 +00:00
- File Locking: Improved error detection on file locks
- File Reads: Fixed memory leak in case outfile or hashfile was not accessible
- File Reads: Improved error detection on file reads, especially when getting the file stats
2017-01-27 13:50:39 +00:00
- Files: Do several file and folder checks on startup rather than when they are actually used to avoid related error after eventual intense operations
2017-03-03 07:59:54 +00:00
- Hardware Management: Bring back kernel exec timeout detection for NVidia on user request
2017-02-14 15:01:04 +00:00
- Hardware Monitor: Fixed several memory leaks in case hash-file writing (caused by --remove) failed
2017-02-15 18:58:21 +00:00
- Hardware Monitor: Fixed several memory leaks in case no hardware monitor sensor is found
- Hardware Monitor: In case NVML initialization failed, do not try to initialiaze NVAPI or XNVCTRL because they both depend on NVML
- Hash Parsing: Added additional bound checks for the SIP digest authentication (MD5) parser (-m 11400)
- Hash Parsing: Make sure that all files are correctly closed whenever a hash file parsing error occurs
- Helper: Added functions to check existence, type, read- and write-permissions and rewrite sources to use them instead of stat()
- Keyfile handling: Make sure that the memory is cleanly freed whenever a VeraCrypt/TrueCrypt keyfile fails to load
2017-02-14 15:46:41 +00:00
- Mask Checks: Added additional memory cleanups after parsing/verifying masks
2017-02-22 11:28:23 +00:00
- Mask Checks: Added integer overflow detection for a keyspace of a mask provided by user
2017-02-15 18:58:21 +00:00
- Mask Increment: Fixed memory leak in case mask_append() fails
- OpenCL Device: Do a check on available constant memory size and abort if it's less than 64kB
2017-02-14 14:38:57 +00:00
- OpenCL Device Management: Fixed several memory leaks in case initialization of an OpenCL device or platform failed
2017-02-15 18:58:21 +00:00
- OpenCL Header: Updated CL_* errorcode to OpenCL 1.2 standard
2017-02-14 15:51:03 +00:00
- OpenCL Kernel: Move kernel binary buffer from heap to stack memory
2017-02-14 16:08:08 +00:00
- OpenCL Kernel: Refactored read_kernel_binary to load only a single kernel for a single device
2017-02-17 09:11:05 +00:00
- OpenCL Kernel: Remove "static" keyword from function declarations; Causes older Intel OpenCL runtimes to fail compiling
2017-03-03 07:59:54 +00:00
- OpenCL Kernel: Renumbered hash-mode 7600 to 4521
2017-02-23 10:48:21 +00:00
- OpenCL Runtime: Added a warning about using Mesa OpenCL runtime
2017-03-03 07:59:54 +00:00
- OpenCL Runtime: Updated AMDGPU-Pro driver version check, do warn if version 16.60 is detected which is known to be broken
2017-02-14 12:44:31 +00:00
- Outfile Check: Fixed a memory leak for failed outfile reads
2017-02-14 19:05:44 +00:00
- Restore: Add some checks on the rd->cwd variable in restore case
2017-02-14 14:38:57 +00:00
- Rule Engine: Fixed several memory leaks in case loading of rules failed
2017-03-02 18:57:34 +00:00
- Session Management: Automatically set dedicated session names for non-cracking parameters, for example: --stdout
2017-02-14 14:38:57 +00:00
- Session Management: Fixed several memory leaks in case profile- or install-folder setup failed
2017-01-27 15:29:18 +00:00
- Sessions: Move out handling of multiple instance from restore file into separate pidfile
2017-03-01 20:42:17 +00:00
- Status screen: Do not try to clear prompt in --quiet mode
2017-03-03 07:59:54 +00:00
- Tests: Fixed the timeout status code value and increased the runtime to 400 seconds
2017-02-04 01:53:50 +00:00
- Threads: Restored strerror as %m is unsupported by the BSDs
2017-01-30 09:45:56 +00:00
- Wordlists: Disable dictstat handling for hash-mode 3000 as it virtually creates words in the wordlist which is not the case for other modes
2017-02-15 18:58:21 +00:00
- Wordlists: Fixed memory leak in case access a file in a wordlist folder fails
2017-02-19 13:45:27 +00:00
- WPA: Changed format for outfile and potfile from essid:mac1:mac2 to hash:mac_ap:mac_sta:essid
2017-02-01 11:25:21 +00:00
- WPA: Changed format for outfile_check from essid:mac1:mac2 to hash
2017-01-24 15:07:59 +00:00
2017-01-02 09:14:07 +00:00
* changes v3.20 -> v3.30:
2016-12-02 19:39:42 +00:00
##
2016-12-09 13:54:13 +00:00
## Features
##
2016-12-09 22:44:43 +00:00
- Files: Use $HEX[...] in case the password includes the separater character, increases potfile reading performance
2017-01-05 15:15:12 +00:00
- Files: If the user specifies a folder to scan for wordlists instead of directly a wordlist, then ignore the hidden files
2017-01-03 18:21:27 +00:00
- Loopback: Include passwords for removed hashes present in the potfile to next loopback iteration
2016-12-29 12:05:29 +00:00
- New option --progress-only: Quickly provides ideal progress step size and time to process on the user hashes and selected options, then quit
- Status screen: Reenabled automatic status screen display in case of stdin used
2016-12-31 01:10:10 +00:00
- Truecrypt/Veracrypt: Use CRC32 to verify headers instead of fuzzy logic, greatly reduces false positives from 18:2^48 to 3:2^64
2016-12-22 01:17:49 +00:00
- WPA cracking: Reuse PBKDF2 intermediate keys if duplicate essid is detected
2016-12-09 13:54:13 +00:00
2016-12-17 18:09:52 +00:00
##
## Algorithms
##
- Added hash-mode 1300 = SHA-224
2016-12-09 13:54:13 +00:00
##
2016-12-02 19:39:42 +00:00
## Bugs
##
2016-12-31 14:10:53 +00:00
- Fixed buffer overflow in status screen display in case of long non-utf8 string
2017-01-05 16:39:14 +00:00
- Fixed buffer overflow in plaintext parsing code: Leading to segfault
2016-12-17 13:09:58 +00:00
- Fixed custom char parsing code in maskfiles in --increment mode: Custom charset wasn't used
2017-01-03 08:39:13 +00:00
- Fixed display screen to show input queue when using custom charset or rules
2016-12-29 12:05:29 +00:00
- Fixed double fclose() using AMDGPU-Pro on sysfs compatible platform: Leading to segfault
2017-01-05 15:14:12 +00:00
- Fixed hash-mode 11400 = SIP digest authentication (MD5): Cracking of hashes which did not include *auth* or *auth-int* was broken
2016-12-18 12:11:54 +00:00
- Fixed hex output of plaintext in case --outfile-format 4, 5, 6 or 7 was used
2016-12-29 12:05:29 +00:00
- Fixed infinite loop when using --loopback in case all hashes have been cracked
- Fixed kernel loops in --increment mode leading to slower performance
2016-12-18 15:01:23 +00:00
- Fixed mask length check in hybrid attack-modes: Do not include hash-mode dependant mask length checks
2017-01-05 20:58:24 +00:00
- Fixed parsing of hashes in case the last line did not include a linefeed character
2017-01-03 08:39:13 +00:00
- Fixed potfile loading to accept blank passwords
2017-01-05 21:34:47 +00:00
- Fixed runtime limit: No longer required so sample startup time after refactorization
2016-12-03 12:13:46 +00:00
2017-01-04 10:23:57 +00:00
##
## Workarounds
##
- Workaround added for Intel OpenCL runtime: GPU support is broken, skip the device unless user forces to enable it
2016-12-03 12:13:46 +00:00
##
## Technical
##
2016-12-28 13:05:26 +00:00
- Building: Added hashcat32.dll and hashcat64.dll makefile targets for building hashcat windows libraries
2017-01-04 09:33:20 +00:00
- Building: Added production flag in Makefile to disable all the GCC compiler options needed only for development
2016-12-29 12:05:29 +00:00
- Building: Removed access to readlink() on FreeBSD
2017-01-04 09:59:21 +00:00
- Building: For CYGWIN prefer to use "opencl.dll" (installed by drivers) instead of optional "cygOpenCL-1.dll"
2017-01-03 08:56:40 +00:00
- Events: Added new event EVENT_WEAK_HASH_ALL_CRACKED if all hashes have been cracked during weak hash check
2016-12-28 09:51:39 +00:00
- Hardware management: Switched matching ADL device with OpenCL device by using PCI bus, device and function
2016-12-27 16:41:29 +00:00
- Hardware management: Switched matching NvAPI device with OpenCL device by using PCI bus, device and function
2016-12-29 12:05:29 +00:00
- Hardware management: Switched matching NVML device with OpenCL device by using PCI bus, device and function
2016-12-27 18:20:27 +00:00
- Hardware management: Switched matching xnvctrl device with OpenCL device by using PCI bus, device and function
2016-12-29 18:07:05 +00:00
- Hardware management: Removed *throttled* message from NVML as this created more confusion than it helped
2016-12-29 12:05:29 +00:00
- Hash Parser: Improved error detection of invalid hex characters where hex character are expected
- OpenCL Runtime: Updated AMDGPU-Pro driver version check, do warn if version 16.50 is detected which is known to be broken
2017-10-20 11:36:47 +00:00
- OpenCL Runtime: Updated hashcat.hctune for Iris Pro GPU on macOS
2016-12-09 12:42:52 +00:00
- Potfile: In v3.10 already, the default potfile suffix changed but the note about was missing. The "hashcat.pot" became "hashcat.potfile"
2016-12-31 12:52:35 +00:00
- Potfile: Added old potfile detection, show warning message
2017-01-06 07:45:40 +00:00
- Returncode: Added dedicated returncode (see docs/status_codes.txt) for shutdowns caused by --runtime and checkpoint keypress
2016-12-29 12:05:29 +00:00
- Sanity: Added sanity check to disallow --speed-only in combination with -i
2017-01-05 21:46:34 +00:00
- Sanity: Added sanity check to disallow --loopback in combination with --runtime
2016-12-03 12:13:46 +00:00
- Threads: Replaced all calls to ctime() with ctime_r() to ensure thread safety
2016-12-29 12:05:29 +00:00
- Threads: Replaced all calls to strerror() with %m printf() GNU extension to ensure thread safety
2016-12-02 19:39:42 +00:00
2016-11-14 14:07:58 +00:00
* changes v3.10 -> v3.20:
2016-11-25 18:21:35 +00:00
The hashcat core was completely refactored to be a MT-safe library (libhashcat).
The goal was to help developers include hashcat into distributed clients or GUI frontends.
2016-11-16 22:25:50 +00:00
The CLI (hashcat.bin or hashcat.exe) works as before but from a technical perspective it's a library frontend.
2016-08-30 15:44:14 +00:00
2016-09-02 08:03:22 +00:00
##
2016-11-11 12:10:24 +00:00
## Features
2016-09-02 08:03:22 +00:00
##
2016-11-14 14:07:58 +00:00
- New option --speed-only: Quickly provides cracking speed per device based on the user hashes and selected options, then quit
- New option --keep-guessing: Continue cracking hashes even after they have been cracked (to find collisions)
2016-11-25 18:21:35 +00:00
- New option --restore-file-path: Manually override the path to the restore file (useful if we want all session files in the same folder)
2016-11-25 15:27:22 +00:00
- New option --opencl-info: Show details about OpenCL compatible devices like an embedded clinfo tool (useful for bug reports)
- Documents: Added colors for warnings (yellow) and errors (red) instead of WARNING: and ERROR: prefix
2016-11-25 18:21:35 +00:00
- Documents: Added hints presented to the user about optimizing performance while hashcat is running
2016-11-25 15:27:22 +00:00
- Hardware management: Support --gpu-temp-retain for AMDGPU-Pro driver
- Hardware management: Support --powertune-enable for AMDGPU-Pro driver
- Password candidates: Allow words of length > 31 in wordlists for -a 0 for some slow hashes if no rules are in use
- Password candidates: Do not use $HEX[] if the password candidate is a valid UTF-8 string and print out as-is
- Pause mode: Allow quit program also if in pause mode
- Pause mode: Ignore runtime limit in pause mode
2016-11-30 14:36:51 +00:00
- Status view: Show core-clock, memory-clock and execution time in benchmark-mode in case --machine-readable is activated
2016-11-25 15:27:22 +00:00
- Status view: Show temperature, coreclock, memoryclock, fanspeed and pci-lanes for devices using AMDGPU-Pro driver
- Status view: Show the current first and last password candidate test queued for execution per device (as in JtR)
- Status view: Show the current position in the queue for both base and modifier (Example: Wordlist 2/5)
- Markov statistics: Update hashcat.hcstat which is used as reference whenever the user defines a mask
- Charsets: Added lowercase ascii hex (?h) and uppercase ascii hex (?H) as predefined charsets
##
## Algorithms
##
- Added hash-mode 14000 = DES (PT = $salt, key = $pass)
- Added hash-mode 14100 = 3DES (PT = $salt, key = $pass)
- Added hash-mode 14400 = SHA1(CX)
- Added hash-mode 99999 = Plaintext
- Extended hash-mode 3200 = bcrypt: Accept signature $2b$ (February 2014)
- Improved hash-mode 8300 = DNSSEC: Additional parsing error detection
2016-11-11 12:10:24 +00:00
##
## Bugs
##
2016-11-25 15:27:22 +00:00
- Custom charset from file parsing code did not return an error if an error occured
- Fix some clSetKernelArg() size error that caused slow modes to not work anymore in -a 1 mode
- Hash-mode 11600 = (7-Zip): Depending on input hash a clEnqueueReadBuffer(): CL_INVALID_VALUE error occured
- Hash-mode 22 = Juniper Netscreen/SSG (ScreenOS): Fix salt length for -m 22 in benchmark mode
- Hash-Mode 5500 = NetNTLMv1 + ESS: Fix loading of NetNTLMv1 + SSP hash
- Hash-mode 6000 = RipeMD160: Fix typo in array index number
2016-11-25 18:21:35 +00:00
- If cracking a hash-mode using unicode passwords, length check of a mask was not taking into account
2016-11-25 15:27:22 +00:00
- If cracking a large salted hashlist the wordlist reject code was too slow to handle it, leading to 0H/s
- Null-pointer dereference in outfile-check shutdown code when using --outfile-check-dir, leading to segfault
- On startup hashcat tried to access the folder defined in INSTALL_FOLDER, leading to segfault if that folder was not existing
- Random rules generator code used invalid parameter for memory copy function (M), leading to use of invalid rule
2016-11-25 18:21:35 +00:00
- Sanity check for --outfile-format was broken if used in combination with --show or --left
2016-09-02 08:03:22 +00:00
2016-08-30 15:44:14 +00:00
##
2016-11-25 15:27:22 +00:00
## Workarounds
2016-08-30 15:44:14 +00:00
##
2016-11-25 15:27:22 +00:00
- Workaround added for AMDGPU-Pro OpenCL runtime: Failed to compile hash-mode 10700 = PDF 1.7 Level 8
- Workaround added for AMDGPU-Pro OpenCL runtime: Failed to compile hash-mode 1800 = sha512crypt
- Workaround added for NVidia OpenCL runtime: Failed to compile hash-mode 6400 = AIX {ssha256}
- Workaround added for NVidia OpenCL runtime: Failed to compile hash-mode 6800 = Lastpass + Lastpass sniffed
2017-10-20 11:36:47 +00:00
- Workaround added for macOS OpenCL runtime: Failed to compile hash-mode 10420 = PDF 1.1 - 1.3 (Acrobat 2 - 4)
- Workaround added for macOS OpenCL runtime: Failed to compile hash-mode 1100 = Domain Cached Credentials (DCC), MS Cache
- Workaround added for macOS OpenCL runtime: Failed to compile hash-mode 13800 = Windows 8+ phone PIN/Password
2016-11-25 15:27:22 +00:00
- Workaround added for pocl OpenCL runtime: Failed to compile hash-mode 5800 = Android PIN
##
## Performance
##
- Improved performance for rule-based attacks for _very_ fast hashes like MD5 and NTLM by 30% or higher
2016-12-01 17:21:06 +00:00
- Improved performance for DEScrypt on AMD, from 373MH/s to 525MH/s
- Improved performance for raw DES-based algorithms (like LM) on AMD, from 1.6GH/s to 12.5GH/s
- Improved performance for raw SHA256-based algorithms using meet-in-the-middle optimization, reduces 7/64 steps
- Improved performance for SAP CODVN B (BCODE) and SAP CODVN F/G (PASSCODE) due to register handling optimization, gives 3% and 25%
2016-11-25 15:27:22 +00:00
- Improved performance by reducing maximum number of allowed function calls per rule from 255 to 31
- Improved performance by update the selection when to use #pragma unroll depending on OpenCL runtime vendor
- Full performance comparison sheet v3.10 vs. v3.20: https://docs.google.com/spreadsheets/d/1B1S_t1Z0KsqByH3pNkYUM-RCFMu860nlfSsYEqOoqco/edit#gid=1591672380
2016-08-30 15:44:14 +00:00
2016-11-11 12:10:24 +00:00
##
## Technical
##
2016-11-25 15:27:22 +00:00
- Autotune: Do not run any caching rounds in autotune in DEBUG mode if -n and -u are specified
2016-11-25 18:21:35 +00:00
- Bash completion: Removed some v2.01 leftovers in the bash completion configuration
2016-11-25 15:27:22 +00:00
- Benchmark: Do not control fan speed in benchmark mode
2017-10-20 11:36:47 +00:00
- Benchmark: On macOS, some hash-modes can't compile because of macOS OpenCL runtime. Skip them and move on to the next
2016-11-25 15:27:22 +00:00
- Building: Added Makefile target "main_shared", a small how-to-use libhashcat example
- Building: Added many additional compiler warning flags in Makefile to improve static code error detection
- Building: Added missing includes for FreeBSD
- Building: Added some types for windows only in case _BASETSD_H was not set
2016-11-25 18:21:35 +00:00
- Building: Changed Makefile to strip symbols in the linker instead of the compiler
- Building: Defined NOMINMAX macro to prevent definition min and max macros in stdlib header files
2016-11-25 15:27:22 +00:00
- Building: Enabled ASLR and DEP for Windows builds
- Building: Fixed almost all errors reported by cppcheck and scan-build
2017-10-20 11:36:47 +00:00
- Building: On macOS, move '-framework OpenCL' from CFLAGS to LDFLAGS
- Building: On macOS, use clang as default compiler
2016-11-25 15:27:22 +00:00
- Building: Support building on Msys2 environment
- Building: Use .gitmodules to simplify the OpenCL header dependency handling process
- Charsets: Added DES_full.charset
- Data Types: Replaced all integer macros with enumerator types
- Data Types: Replaced all integer variables with true bool variables in case they are used as a bool
- Data Types: Replaced all string macros with static const char types
- Data Types: Replaced all uint and uint32_t to u32
- Data Types: Replaced atoi() with atoll(). Eliminates sign conversion warnings
- Documents: Added docs/credits.txt
- Documents: Added docs/team.txt
2016-11-25 18:21:35 +00:00
- Documents: Changed rules.txt to match v3.20 limitations
- Error handling (file handling): Fixed a couple of filepointer leaks
- Error handling (format strings): Fixed a few printf() formats, ex: use %u instead of %d for uint32_t
- Error handling (memory allocation): Removed memory allocation checks, just print to stderr instead
- Error handling (startup): Added some missing returncode checks to get_exec_path()
- Fanspeed: Check both fanpolicy and fanspeed returncode and disable retain support if any of them fail
2016-11-25 15:27:22 +00:00
- Fanspeed: Minimum fanspeed for retain support increased to 33%, same as NV uses as default on windows
2016-11-25 18:21:35 +00:00
- Fanspeed: Reset PID controler settings to what they were initially
2016-11-25 15:27:22 +00:00
- Fanspeed: Set fan speed to default on quit
- File handling: Do a single write test (for files to be written later) directly on startup
- File locking: Use same locking mechanism in potfile as in outfile
- Hardware management: Fixed calling conventions for ADL, NvAPI and NVML on windows
2016-11-25 18:21:35 +00:00
- Hardware management: Improved checking for successfull load of the NVML API
2016-11-25 15:27:22 +00:00
- Hardware management: In case fanspeed can not be set, disable --gpu-temp-retain automatically
- Hardware management: In case of initialization error show it only once to the user on startup
2016-11-25 18:21:35 +00:00
- Hardware management: Refactored all code to return returncode (0 or -1) instead of data for more easy error handling
2016-11-25 15:27:22 +00:00
- Hardware management: Refactored macros to real functions
- Hardware management: Removed kernel exec timeout detection on NVIDIA, should no longer occur due to autotune
- Hardware management: Replaced NVML registry functions macros with their ascii versions (Adds NVML support for XP)
- Hashlist loading: Do not load data from hashfile if hashfile changed during runtime
2016-11-25 18:21:35 +00:00
- Kernel cache: Fixed checksum building on oversized device version or driver version strings
- Logging: Improved variable names in hashcat.log
2016-11-25 15:27:22 +00:00
- Loopback: Refactored --loopback support completely, no longer a recursive function
- Memory management: Fixed some memory leaks on shutdown
2016-11-25 18:21:35 +00:00
- Memory management: Got rid of all global variables
- Memory management: Got rid of local_free() and global_free(), no longer required
2017-10-20 11:36:47 +00:00
- Memory management: Refactored all variables with HCBUFSIZ_LARGE size from stack to heap, macOS doesn't like that
2016-11-25 15:27:22 +00:00
- OpenCL Headers: Select OpenCL headers tagged for OpenCL 1.2, since we use -cl-std=CL1.2
- OpenCL Kernels: Added const qualifier to variable declaration of matching global memory objects
2016-11-25 18:21:35 +00:00
- OpenCL Kernels: Got rid of one global kernel_threads variable
2016-11-25 15:27:22 +00:00
- OpenCL Kernels: Moved OpenCL requirement from v1.1 to v1.2
2016-11-25 18:21:35 +00:00
- OpenCL Kernels: Recognize reqd_work_group_size() values from OpenCL kernels and use them in the host if possible
2016-11-25 15:27:22 +00:00
- OpenCL Kernels: Refactored common function append_0x01()
- OpenCL Kernels: Refactored common function append_0x02()
- OpenCL Kernels: Refactored common function append_0x80()
- OpenCL Kernels: Refactored rule function append_block1()
- OpenCL Kernels: Refactored rule function rule_op_mangle_delete_last()
- OpenCL Kernels: Refactored rule function rule_op_mangle_dupechar_last()
- OpenCL Kernels: Refactored rule function rule_op_mangle_rotate_left()
- OpenCL Kernels: Refactored rule function rule_op_mangle_rotate_right()
- OpenCL Kernels: Support mixed kernel thread count for mixed kernels in the same source file
- OpenCL Kernels: Switch from clz() to ffz() for bitsliced algorithms
- OpenCL Kernels: Using platform vendor name is better than using device vendor name for function detection
2016-11-25 18:21:35 +00:00
- OpenCL Runtime: Updated AMDGPU-Pro and AMD Radeon driver version check
- OpenCL Runtime: Updated Intel OpenCL runtime version check
- OpenCL Runtime: Updated NVIDIA driver version check
- Password candidates: The maximum word length in a wordlist is 31 not 32, because 0x80 will eventually be appended
2016-11-25 15:27:22 +00:00
- Potfile: Base logic switched; Assuming the potfile is larger than the hashlist it's better to load hashlist instead of potfile entries
- Potfile: In case all hashes were cracking using potfile abort and inform user
- Restore: Automatically unlink restore file if all hashes have been cracked
2016-11-25 18:21:35 +00:00
- Restore: Do not unlink restore file if restore is disabled
2016-11-25 15:27:22 +00:00
- Rules: Refactored macros to real functions
2016-11-25 18:21:35 +00:00
- Status: Added Input.Queue.Base and Input.Queue.Mod to help the user better understand this concept
2016-11-25 15:27:22 +00:00
- Status: Do not wait for the progress mutex to read and store speed timer
2016-11-30 10:12:30 +00:00
- Status: Do not show Recovered/Time when cracking < 1000 hashes
2016-11-30 10:12:56 +00:00
- Status: Do not show Recovered/Time as floats but as integers to reduce over-information
2016-11-25 15:27:22 +00:00
- Tests: Removed rules_test/ subproject: Would require total rewrite but not used in a long time
- Threads: Replaced all calls to getpwuid() with getpwuid_r() to ensure thread safety
- Threads: Replaced all calls to gmtime() with gmtime_r() to ensure thread safety
- Threads: Replaced all calls to strtok() with strtok_r() to ensure thread safety
- Wordlists: Use larger counter variable to handle larger wordlists (that is > 2^32 words)
- X11: Detect missing coolbits and added some help text for the user how to fix it
2016-11-11 12:10:24 +00:00
2016-08-18 19:03:46 +00:00
* changes v3.00 -> v3.10:
2016-06-30 06:48:23 +00:00
##
## Improvements
##
2016-08-19 08:33:03 +00:00
- Added mask display to modes 3, 6, and 7. Allows the user to see the custom character set used during the run
2016-07-08 12:38:57 +00:00
- Make Linux build POSIX compatible; Also allow it to actually compile on musl-libc systems
- Add support to compile on FreeBSD
- Make use of cl_context_properties[] to clCreateContext(), even if OpenCL specification allow the use of NULL, some runtimes fail without
2016-07-01 11:01:02 +00:00
- The Time.Estimated attribute in status display should also show --runtime limit if user set it
2016-07-08 20:57:27 +00:00
- Fix some strict aliasing rule violation on older compilers
- Fix some variable initializers on older compilers
2016-07-08 21:23:16 +00:00
- Replace DARWIN macro with compiler predefined macro __APPLE__
- Replace LINUX macro with compiler predefined macro __linux__
2016-07-09 12:35:38 +00:00
- Allow the use of enc_id == 0 in hash-mode 10600 and 10700 as it takes no part in the actual computation
2016-07-10 11:23:06 +00:00
- Get rid of exit() calls in OpenCL wrapper library with the goal to have a better control which error can be ignored under special circumstances
2016-07-11 15:15:57 +00:00
- Do not error and exit if an OpenCL platform has no devices, just print a warning and continue with the next platform
2016-07-21 08:06:31 +00:00
- Workaround for OpenCL runtimes which do not accept -I parameter in the OpenCL kernel build options even if this is an OpenCL standard option
- Workaround for OpenCL runtimes which do accept -I parameter in the OpenCL kernel build options, but do not allow quotes
2016-07-17 18:32:47 +00:00
- Output cracked hashes on Windows using \r\n and not \n
- Replace RegGetValue() with RegQueryValueEx() to enable Windows XP 32 bit compatibility
2016-07-25 19:51:04 +00:00
- Slightly increased NVidias rule-processing performance by using generic instructions instead of byte_perm()
2016-07-25 20:54:07 +00:00
- Add support for @ rule (RULE_OP_MANGLE_PURGECHAR) to use on GPU
2016-08-18 09:04:23 +00:00
- Add support for --outfile (short -o) to be used together with --stdout
2016-08-18 10:05:45 +00:00
- Skip periodic status output whenever --stdout is used together with stdin mode, but no outfile was specified
2016-08-18 11:48:59 +00:00
- Show error message if --show is used together with --outfile-autohex-disable (this is currently not supported)
2016-08-18 12:39:07 +00:00
- Show error message if --skip/--limit is used together with mask files or --increment
2016-08-19 08:33:03 +00:00
- Workaround for NVidia OpenCL runtime bug causing -m 6223 to not crack any hashes even with the correct password candidate
2016-07-08 12:38:57 +00:00
2016-06-30 06:48:23 +00:00
##
## Bugs
##
2016-08-17 05:35:40 +00:00
- Fixed a bug where CRAM MD5 checked salt length instead of hash length
2016-06-30 06:48:23 +00:00
- Fixed a bug where hashcat is suppressing --machine-readable output in the final status update
2016-07-01 09:24:02 +00:00
- Fixed a bug where hashcat did not check the return of realpath() and crashes uncontrolled if the path does not exist
2016-07-01 11:04:50 +00:00
- Fixed a bug where hashcat crashes for accessing deallocated buffer if user spams "s" shortly before hashcat shuts down
2016-07-04 19:13:23 +00:00
- Fixed a bug where hashcat crashes in case of a scrypt P setting > 1
2016-07-05 13:00:26 +00:00
- Fixed a bug where hashcat did not correctly use the newly cracked plains whenever --loopback or the induction folder was used
2016-07-06 08:05:34 +00:00
- Fixed a bug where hashcat did not correctly remove hashes of type WPA/WPA2 even if present in potfile
2016-07-15 11:30:25 +00:00
- Fixed a bug where hashcat reported an invalid password for a zero-length password in LM
2016-07-24 20:26:40 +00:00
- Fixed a bug where hashcat did not take into account how long it takes to prepare a session when auto-aborting with --runtime is in use
2016-08-17 18:23:25 +00:00
- Fixed a bug where some kernels used COMPARE_M_SIMD instead of COMPARE_S_SIMD in singlehash mode
2016-06-30 06:48:23 +00:00
2016-08-02 13:00:58 +00:00
##
## Algorithms
##
- Added new hash-mode 13900 = OpenCart
2016-04-29 21:19:10 +00:00
* changes v2.01 -> v3.00:
This release markes the fusion of "hashcat" and "oclHashcat" into "hashcat".
It combines all features of all hashcat projects in one project.
##
## Features
##
- Support for Apple OpenCL runtime
- Support for NVidia OpenCL runtime (replaces CUDA)
2016-05-11 09:38:52 +00:00
- Support for Mesa (Gallium) OpenCL runtime
2016-04-29 21:19:10 +00:00
- Support for pocl OpenCL runtime
- Support for Khronos' OSS OpenCL reference implementation for building
- Support to utilize OpenCL devices-types other than GPU, ex: CPU and FPGA
- Support to utilize multiple different OpenCL platforms in parallel, ex: AMD + NV
- Support to utilize multiple different OpenCL device-types in parallel, ex: GPU + CPU
- Added option --opencl-platform to select a specific OpenCL platform
- Added option --opencl-device-types select specific OpenCL device types
- Added option --opencl-vector-width to override automatically selected vector-width size
- Added makefile native compilation target
- Added makefile install and uninstall targets
- Added autotuning engine and user-configurable tuning database
2016-05-29 22:05:46 +00:00
- Added current engine clock, current memory clock and pci-e lanes to the status display
2016-06-18 16:21:40 +00:00
- Added support for --gpu-temp-retain for NVidia GPU, both Linux and Windows
2016-04-29 21:19:10 +00:00
- Added execution timer of the running kernel to the status display
- Added command prompt to quit at next restore checkpoint
- Added human-readable error message for the OpenCL error codes
- Added option --potfile-path to override potfile path
2016-05-19 20:37:43 +00:00
- Added option --veracrypt-keyfile to set Keyfiles used, can be multiple
- Added option --veracrypt-pim to set the VeraCrypt personal iterations multiplier
2016-05-27 08:50:52 +00:00
- Added option --machine-readable for easier parsing of output
2016-06-01 17:01:44 +00:00
- Added option --powertune-enable to work with NVidia devices as well, not just AMD
2016-06-14 19:49:33 +00:00
- Added option --stdout to print candidates instead of trying to crack a hash
2016-04-29 21:19:10 +00:00
##
## Algorithms
##
- Added new hash-mode 125 = ArubaOS
- Added new hash-mode 12900 = Android FDE (Samsung DEK)
- Added new hash-mode 13000 = RAR5
- Added new hash-mode 13100 = Kerberos 5 TGS-REP etype 23
- Added new hash-mode 13200 = AxCrypt
- Added new hash-mode 13300 = AxCrypt in memory SHA1
- Added new hash-mode 13400 = Keepass 1 (AES/Twofish) and Keepass 2 (AES)
- Added new hash-mode 13500 = PeopleSoft PS_TOKEN
2016-05-12 07:26:54 +00:00
- Added new hash-mode 13600 = WinZip
2016-05-19 20:37:43 +00:00
- Added new hash-mode 137** = VeraCrypt
2016-06-10 07:46:41 +00:00
- Added new hash-mode 13800 = Windows 8+ phone PIN/Password
2016-04-29 21:19:10 +00:00
##
## Performance
##
- Full Table: https://docs.google.com/spreadsheets/d/1B1S_t1Z0KsqByH3pNkYUM-RCFMu860nlfSsYEqOoqco/edit#gid=0
##
## Improvements
##
- Reordering of files to help integration into linux distributions ~/.hashcat etc
- Use a profile directory to write temporary files (session, potfile etc.)
2016-11-11 13:47:20 +00:00
- Workaround dependencies on AMD APP-SDK AMD ADL, NV CUDA-SDK, NV ForceWare, NVML and NVAPI; they are no longer required
2016-04-29 21:19:10 +00:00
- Load external libraries dynamic at runtime instead of link them static at compile-time
- Benchmark accuracy improved; Is now on par to: singlehash -a 3 -w 3 ?b?b?b?b?b?b?b
- Benchmark no longer depends on a fixed time
- Removed option --benchmark-mode, therefore support --workload-profile in benchmark-mode
2016-05-28 07:42:41 +00:00
- Enabled support of --machine-readable in combination with --benchmark for automated benchmark processing
- Replaced --status-automat entirely with --machine-readable to make it more consistent among benchmark and non-benchmark mode
2016-04-29 21:19:10 +00:00
- Extended support from 14 to 255 functions calls per rule
2016-05-08 12:39:44 +00:00
- Extended password length up to 32 for 7zip
2016-05-13 13:31:58 +00:00
- Extended salt length up to 55 for raw hash types, eg: md5($pass.$salt)
2016-04-29 21:19:10 +00:00
- Extended version information
- Removed some duplicate rules in T0XlCv1, d3ad0ne and dive
- Redesigned changes.txt layout
2016-05-22 20:25:15 +00:00
- Redesigned --help menu layout
2016-04-29 21:19:10 +00:00
##
## Bugs
##
- Fixed a bug in speed display: In some situation, especially with slow hashes or lots of salts, it showed a speed of 0H/s
- Fixed a bug in restore handling: user immediately aborting after restart broke the restore file
- Fixed a bug in line counter: conditional jump or move depends on an uninitialised value
- Fixed a bug in rule-engine for NVidia devices: code for left- and right-shift were switched
- Fixed a bug in dive.rule: rules were not updated after the function 'x' was renamed to 'O'
- Fixed a bug in memory allocation "OpenCL -4 error": used unitialized value in a special situation
- Fixed a bug in memory handling: heap buffer overflow
- Fixed a bug in memory handling: out of bounds access
- Fixed a bug in implementation of DCC2: forced default iteration count for hashes to 10240
- Fixed a bug in implementation of WPA/WPA2: MAC and nonce stay one their original position as in the hccap file
- Fixed a bug in implementation of GOST R 34.11-94: zero length passwords were not cracked
2017-09-17 13:28:24 +00:00
- Fixed a bug in implementation of BLAKE2-512 kernels: incorrect access of the esalt buffer
2016-04-29 21:19:10 +00:00
##
## Technical
##
- Removed deprecated GCC version check requirement
- Removed NPROCS from Makefile, let make automatically detect the optimal number of parallel threads
- Dropped all C++ overloading functions to normal function which helps support more OpenCL platforms
- Renamed functions in common.h to emphasize their purpose
- Refactorized fast-hash kernels to enable SIMD on all OpenCL platforms
- Refactorized SIMD handling: SIMD the inner-loop not the outer-loop to save registers
- Workaround missing clEnqueueFillBuffer() support in certain OpenCL runtimes
- Added amd_bytealign() support in non-AMD OpenCL runtimes
- Added amd_bfe() support in non-AMD OpenCL runtimes
- Added several macros to allow writing optimized code for the different OpenCL platforms
- Replaced typedef for bool with stdbool.h
- Added special DEBUG environment variables to the makefile
- Hashcat now acquires an exclusive lock before writing to any file
- Changed buffers to not use same buffer for both input and output at the same time with snprintf()
- Check for allocatable device-memory depending on kernel_accel amplifier before trying to allocate
- Added additional check for max. ESSID length to prevent possible crashes
- Use a GCC equivalent for __stdcall where applicable
- Synchronize maximum output line size with input line size
- Increased maximum hash line size to 0x50000
- Run weak-hash checks only in straight-attack mode, this greatly reduces code complexity
2016-05-01 18:52:20 +00:00
- Restrict loopback option to straight attack-mode
2016-04-29 21:19:10 +00:00
- Moved rules_optimize to hashcat-utils
- Stick to older libOpenCL in binary package to avoid errors like this: version `OPENCL_2.0' not found
- Tightened hash parser for several algorithms
- Updated old RC4 code in Kerberos 5
- Limited the salt length of Juniper Netscreen/SSG (ScreenOS) hashes to 10
- Updated algorithm used to automatically select an ideal --scrypt-tmto value
- Renamed option --gpu-accel to --kernel-accel
- Renamed option --gpu-loops to --kernel-loops
- Renamed option --gpu-devices to --opencl-devices
2016-05-01 21:15:26 +00:00
- Added inline declaration to functions from simd.c, common.c, rp.c and types_ocl.c to increase performance
- Dropped static declaration from functions in all kernel to achieve OpenCL 1.1 compatibility
- Added -cl-std=CL1.1 to all kernel build options
- Created environment variable to inform NVidia OpenCL runtime to not create its own kernel cache
- Created environment variable to inform pocl OpenCL runtime to not create its own kernel cache
2016-05-05 21:21:15 +00:00
- Dropped special 64-bit rotate() handling for NV, it seems that they've added it to their OpenCL runtime
2016-05-29 22:05:46 +00:00
- Completely get rid of HAVE_ADL, HAVE_NVML and HAVE_NVAPI in sources
2022-11-21 09:38:19 +00:00
- Replaced NVAPI with NVML on windows