diff --git a/OpenCL/m01470_a3-optimized.cl b/OpenCL/m01470_a3-optimized.cl index b5bfa4155..852d01204 100644 --- a/OpenCL/m01470_a3-optimized.cl +++ b/OpenCL/m01470_a3-optimized.cl @@ -395,7 +395,7 @@ KERNEL_FQ void m01470_m04 (KERN_ATTR_BASIC ()) * main */ - m01470m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01470m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } KERNEL_FQ void m01470_m08 (KERN_ATTR_BASIC ()) @@ -442,7 +442,7 @@ KERNEL_FQ void m01470_m08 (KERN_ATTR_BASIC ()) * main */ - m01470m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01470m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } KERNEL_FQ void m01470_m16 (KERN_ATTR_BASIC ()) @@ -489,7 +489,7 @@ KERNEL_FQ void m01470_m16 (KERN_ATTR_BASIC ()) * main */ - m01470m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01470m (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } KERNEL_FQ void m01470_s04 (KERN_ATTR_BASIC ()) @@ -536,7 +536,7 @@ KERNEL_FQ void m01470_s04 (KERN_ATTR_BASIC ()) * main */ - m01470s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01470s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } KERNEL_FQ void m01470_s08 (KERN_ATTR_BASIC ()) @@ -583,7 +583,7 @@ KERNEL_FQ void m01470_s08 (KERN_ATTR_BASIC ()) * main */ - m01470s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01470s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } KERNEL_FQ void m01470_s16 (KERN_ATTR_BASIC ()) @@ -630,5 +630,5 @@ KERNEL_FQ void m01470_s16 (KERN_ATTR_BASIC ()) * main */ - m01470s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01470s (w0, w1, w2, w3, pw_len, pws, rules_buf, combs_buf, bfs_buf, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } diff --git a/OpenCL/m01770_a3-optimized.cl b/OpenCL/m01770_a3-optimized.cl index b969bf211..2f217919e 100644 --- a/OpenCL/m01770_a3-optimized.cl +++ b/OpenCL/m01770_a3-optimized.cl @@ -299,7 +299,7 @@ KERNEL_FQ void m01770_m04 (KERN_ATTR_VECTOR ()) * main */ - m01770m (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01770m (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } KERNEL_FQ void m01770_m08 (KERN_ATTR_VECTOR ()) @@ -337,7 +337,7 @@ KERNEL_FQ void m01770_m08 (KERN_ATTR_VECTOR ()) * main */ - m01770m (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01770m (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } KERNEL_FQ void m01770_m16 (KERN_ATTR_VECTOR ()) @@ -375,7 +375,7 @@ KERNEL_FQ void m01770_m16 (KERN_ATTR_VECTOR ()) * main */ - m01770m (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01770m (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } KERNEL_FQ void m01770_s04 (KERN_ATTR_VECTOR ()) @@ -413,7 +413,7 @@ KERNEL_FQ void m01770_s04 (KERN_ATTR_VECTOR ()) * main */ - m01770s (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01770s (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } KERNEL_FQ void m01770_s08 (KERN_ATTR_VECTOR ()) @@ -451,7 +451,7 @@ KERNEL_FQ void m01770_s08 (KERN_ATTR_VECTOR ()) * main */ - m01770s (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01770s (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } KERNEL_FQ void m01770_s16 (KERN_ATTR_VECTOR ()) @@ -489,5 +489,5 @@ KERNEL_FQ void m01770_s16 (KERN_ATTR_VECTOR ()) * main */ - m01770s (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, pws_pos, gid_max); + m01770s (w, pw_len, pws, rules_buf, combs_buf, words_buf_r, tmps, hooks, bitmaps_buf_s1_a, bitmaps_buf_s1_b, bitmaps_buf_s1_c, bitmaps_buf_s1_d, bitmaps_buf_s2_a, bitmaps_buf_s2_b, bitmaps_buf_s2_c, bitmaps_buf_s2_d, plains_buf, digests_buf, hashes_shown, salt_bufs, esalt_bufs, d_return_buf, d_extra0_buf, d_extra1_buf, d_extra2_buf, d_extra3_buf, bitmap_mask, bitmap_shift1, bitmap_shift2, SALT_POS, loop_pos, loop_cnt, il_cnt, digests_cnt, DIGESTS_OFFSET, combs_mode, salt_repeat, pws_pos, gid_max); } diff --git a/docs/changes.txt b/docs/changes.txt index 4a7fc6775..52e646107 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -8,14 +8,14 @@ - Added hash-mode: bcrypt(sha1($pass)) / bcryptsha1 - Added hash-mode: Linux Kernel Crypto API (2.4) - Added hash-mode: MurmurHash +- Added hash-mode: md5(utf16le($pass)) +- Added hash-mode: sha1(utf16le($pass)) +- Added hash-mode: sha256(utf16le($pass)) +- Added hash-mode: sha512(utf16le($pass)) - Added hash-mode: sha384($pass.$salt) - Added hash-mode: sha384($salt.$pass) - Added hash-mode: sha384(utf16le($pass).$salt) - Added hash-mode: sha384($salt.utf16le($pass)) -- Added hash-mode: md5(utf16le($pass)) -- Added hash-mode: sha1(utf16le($pass)) -- Added hash-mode: sha512(utf16le($pass)) -- Added hash-mode: sha256(utf16le($pass)) ## ## Improvements @@ -37,6 +37,7 @@ - Dependencies: Updated xxHash from 0.1.0 to v0.8.0 - Stable XXH3 - Documentation: Update missing documentation in plugin developer guide for OPTS_TYPE_MP_MULTI_DISABLE and OPTS_TYPE_NATIVE_THREADS - Kernels: Add standalone true UTF8 to UTF16 converter kernel that runs after amplifier. Use OPTS_TYPE_POST_AMP_UTF16LE from plugin +- Modules: Recategorized HASH_CATEGORY option in various modules * changes v6.2.0 -> v6.2.1 diff --git a/docs/readme.txt b/docs/readme.txt index 31e0d1aad..c10e0edba 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -62,14 +62,16 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - GOST R 34.11-2012 (Streebog) 512-bit, big-endian - GOST R 34.11-94 - Half MD5 -- Java Object hashCode() - Keccak-224 - Keccak-256 - Keccak-384 - Keccak-512 - Whirlpool - SipHash -- BitShares v0.x - sha512(sha512_bin(pass)) +- md5(utf16le($pass)) +- sha1(utf16le($pass)) +- sha256(utf16le($pass)) +- sha512(utf16le($pass)) - md5($pass.$salt) - md5($salt.$pass) - md5($salt.$pass.$salt) @@ -84,7 +86,6 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - md5(sha1($pass).md5($pass).sha1($pass)) - md5(sha1($salt).md5($pass)) - md5(strtoupper(md5($pass))) -- md5(utf16le($pass)) - md5(utf16le($pass).$salt) - sha1($pass.$salt) - sha1($salt.$pass) @@ -100,7 +101,6 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - sha1(md5(md5($pass))) - sha1(sha1($pass)) - sha1(sha1($pass).$salt) -- sha1(utf16le($pass)) - sha1(utf16le($pass).$salt) - sha256($pass.$salt) - sha256($salt.$pass) @@ -109,19 +109,15 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - sha256(md5($pass)) - sha256(sha256($pass).$salt) - sha256(sha256_bin($pass)) -- sha256(utf16le($pass)) - sha256(utf16le($pass).$salt) - sha384($pass.$salt) - sha384($salt.$pass) -- sha384(utf16le($pass).$salt) - sha384($salt.utf16le($pass)) +- sha384(utf16le($pass).$salt) - sha512($pass.$salt) - sha512($salt.$pass) - sha512($salt.utf16le($pass)) -- sha512(utf16le($pass)) - sha512(utf16le($pass).$salt) -- Ruby on Rails Restful-Authentication -- MurmurHash - HMAC-MD5 (key = $pass) - HMAC-MD5 (key = $salt) - HMAC-SHA1 (key = $pass) @@ -135,48 +131,45 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - HMAC-Streebog-512 (key = $pass), big-endian - HMAC-Streebog-512 (key = $salt), big-endian - CRC32 +- Java Object hashCode() +- MurmurHash - 3DES (PT = $salt, key = $pass) - DES (PT = $salt, key = $pass) - ChaCha20 +- Linux Kernel Crypto API (2.4) - Skip32 (PT = $salt, key = $pass) - PBKDF2-HMAC-MD5 - PBKDF2-HMAC-SHA1 - PBKDF2-HMAC-SHA256 - PBKDF2-HMAC-SHA512 -- scrypt -- phpass -- Ansible Vault -- Atlassian (PBKDF2-HMAC-SHA1) - Python passlib pbkdf2-sha512 - Python passlib pbkdf2-sha256 - Python passlib pbkdf2-sha1 +- scrypt +- phpass - TACACS+ - SIP digest authentication (MD5) - IKE-PSK MD5 - IKE-PSK SHA1 -- XMPP SCRAM PBKDF2-SHA1 -- KNX IP Secure - Device Authentication Code +- WPA-EAPOL-PBKDF2 +- WPA-EAPOL-PMK - WPA-PBKDF2-PMKID+EAPOL - WPA-PMK-PMKID+EAPOL +- WPA-PMKID-PBKDF2 +- WPA-PMKID-PMK - IPMI2 RAKP HMAC-SHA1 - CRAM-MD5 -- iSCSI CHAP authentication, MD5(CHAP) - JWT (JSON Web Token) -- Telegram Desktop < v2.1.14 (PBKDF2-HMAC-SHA1) -- Telegram Desktop >= v2.1.14 (PBKDF2-HMAC-SHA512) -- Telegram Mobile App Passcode (SHA256) -- Kerberos 5, etype 23, AS-REQ Pre-Auth -- Kerberos 5, etype 23, TGS-REP -- Kerberos 5, etype 23, AS-REP - Kerberos 5, etype 17, TGS-REP -- Kerberos 5, etype 18, TGS-REP - Kerberos 5, etype 17, Pre-Auth +- Kerberos 5, etype 18, TGS-REP - Kerberos 5, etype 18, Pre-Auth +- Kerberos 5, etype 23, AS-REQ Pre-Auth +- Kerberos 5, etype 23, TGS-REP +- Kerberos 5, etype 23, AS-REP - NetNTLMv1 / NetNTLMv1+ESS - NetNTLMv2 -- Skype -- PostgreSQL CRAM (MD5) -- MySQL CRAM (SHA1) +- iSCSI CHAP authentication, MD5(CHAP) - RACF - AIX {smd5} - AIX {ssha1} @@ -192,18 +185,8 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - MS-AzureSync PBKDF2-HMAC-SHA256 - BSDi Crypt, Extended DES - NTLM -- macOS v10.4, macOS v10.5, MacOS v10.6 -- macOS v10.7 -- macOS v10.8+ (PBKDF2-SHA512) - Radmin2 - Samsung Android Password/PIN -- bcrypt $2*$, Blowfish (Unix) -- bcrypt(md5($pass)) / bcryptmd5 -- bcrypt(sha1($pass)) / bcryptsha1 -- md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5) -- descrypt, DES (Unix), Traditional DES -- sha256crypt $5$, SHA256 (Unix) -- sha512crypt $6$, SHA512 (Unix) - Windows Phone 8+ PIN/password - Cisco-ASA MD5 - Cisco-IOS $8$ (PBKDF2-SHA256) @@ -212,7 +195,6 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - Cisco-PIX MD5 - Citrix NetScaler (SHA1) - Citrix NetScaler (SHA512) -- Dahua Authentication MD5 - Domain Cached Credentials (DCC), MS Cache - Domain Cached Credentials 2 (DCC2), MS Cache 2 - FortiGate (FortiOS) @@ -220,6 +202,14 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - Juniper IVE - Juniper NetScreen/SSG (ScreenOS) - Juniper/NetBSD sha1crypt +- macOS v10.4, macOS v10.5, MacOS v10.6 +- macOS v10.7 +- macOS v10.8+ (PBKDF2-SHA512) +- bcrypt $2*$, Blowfish (Unix) +- md5crypt, MD5 (Unix), Cisco-IOS $1$ (MD5) +- descrypt, DES (Unix), Traditional DES +- sha256crypt $5$, SHA256 (Unix) +- sha512crypt $6$, SHA512 (Unix) - SQLCipher - MSSQL (2000) - MSSQL (2005) @@ -227,42 +217,30 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - MongoDB ServerKey SCRAM-SHA-1 - MongoDB ServerKey SCRAM-SHA-256 - PostgreSQL +- PostgreSQL CRAM (MD5) - Oracle H: Type (Oracle 7+) - Oracle S: Type (Oracle 11+) - Oracle T: Type (Oracle 12+) - MySQL $A$ (sha256crypt) +- MySQL CRAM (SHA1) - MySQL323 - MySQL4.1/MySQL5 - Sybase ASE -- hMailServer - DNSSEC (NSEC3) +- KNX IP Secure - Device Authentication Code - CRAM-MD5 Dovecot - SSHA-256(Base64), LDAP {SSHA256} - SSHA-512(Base64), LDAP {SSHA512} +- Dahua Authentication MD5 - RedHat 389-DS LDAP (PBKDF2-HMAC-SHA256) - FileZilla Server >= 0.9.55 - ColdFusion 10+ - Apache $apr1$ MD5, md5apr1, MD5 (APR) - Episerver 6.x < .NET 4 - Episerver 6.x >= .NET 4 +- hMailServer - nsldap, SHA-1(Base64), Netscape LDAP SHA - nsldaps, SSHA-1(Base64), Netscape LDAP SSHA -- WBB3 (Woltlab Burning Board) -- vBulletin < v3.8.5 -- vBulletin >= v3.8.5 -- PHPS -- SMF (Simple Machines Forum) > v1.1 -- MediaWiki B type -- Redmine -- Umbraco HMAC-SHA1 -- Joomla < 2.5.18 -- OpenCart -- PrestaShop -- Tripcode -- Drupal7 -- osCommerce, xt:Commerce -- PunBB -- MyBB 1.2+, IPB2+ (Invision Power Board) - SAP CODVN B (BCODE) - SAP CODVN B (BCODE) from RFC_READ_TABLE - SAP CODVN F/G (PASSCODE) @@ -279,8 +257,6 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - Oracle Transportation Management (SHA256) - Huawei sha1(md5($pass).$salt) - AuthMe sha256 -- eCryptfs -- Linux Kernel Crypto API (2.4) - AES Crypt (SHA256) - LUKS - VeraCrypt @@ -292,6 +268,7 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - Android FDE <= 4.3 - Apple File System (APFS) - TrueCrypt +- eCryptfs - PDF 1.1 - 1.3 (Acrobat 2 - 4) - PDF 1.1 - 1.3 (Acrobat 2 - 4), collider #1 - PDF 1.1 - 1.3 (Acrobat 2 - 4), collider #2 @@ -306,9 +283,9 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - MS Office <= 2003 $0/$1, MD5 + RC4 - MS Office <= 2003 $0/$1, MD5 + RC4, collider #1 - MS Office <= 2003 $0/$1, MD5 + RC4, collider #2 -- MS Office <= 2003 $3/$4, SHA1 + RC4 - MS Office <= 2003 $3, SHA1 + RC4, collider #1 - MS Office <= 2003 $3, SHA1 + RC4, collider #2 +- MS Office <= 2003 $3/$4, SHA1 + RC4 - Open Document Format (ODF) 1.2 (SHA-256, AES) - Open Document Format (ODF) 1.1 (SHA-1, Blowfish) - Apple Secure Notes @@ -319,12 +296,16 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - Password Safe v3 - LastPass + LastPass sniffed - KeePass 1 (AES/Twofish) and KeePass 2 (AES) +- BitShares v0.x - sha512(sha512_bin(pass)) - Bitcoin/Litecoin wallet.dat - Bitwarden -- Electrum Wallet (Salt-Type 1-5) +- Electrum Wallet (Salt-Type 1-3) +- Electrum Wallet (Salt-Type 4) +- Electrum Wallet (Salt-Type 5) - Blockchain, My Wallet - Blockchain, My Wallet, V2 - Blockchain, My Wallet, Second Password (SHA256) +- Ansible Vault - Mozilla key3.db - Mozilla key4.db - Apple Keychain @@ -336,17 +317,16 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - MultiBit HD (scrypt) - 7-Zip - RAR3-hp -- RAR3-p +- RAR3-p (Compressed) +- RAR3-p (Uncompressed) - RAR5 -- PKZIP (Compressed) - PKZIP (Compressed Multi-File) +- PKZIP (Compressed) - PKZIP (Mixed Multi-File) - PKZIP (Mixed Multi-File Checksum-Only) - PKZIP (Uncompressed) - PKZIP Master Key - PKZIP Master Key (6 byte optimization) -- iTunes backup < 10.0 -- iTunes backup >= 10.0 - SecureZIP AES-128 - SecureZIP AES-192 - SecureZIP AES-256 @@ -357,10 +337,34 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - AxCrypt 1 in-memory SHA1 - AxCrypt 2 AES-128 - AxCrypt 2 AES-256 +- iTunes backup < 10.0 +- iTunes backup >= 10.0 +- WBB3 (Woltlab Burning Board) +- PHPS +- SMF (Simple Machines Forum) > v1.1 +- MediaWiki B type +- Redmine +- Umbraco HMAC-SHA1 +- Joomla < 2.5.18 +- OpenCart +- PrestaShop +- Tripcode +- Drupal7 +- PunBB +- MyBB 1.2+, IPB2+ (Invision Power Board) +- vBulletin < v3.8.5 +- vBulletin >= v3.8.5 +- bcrypt(md5($pass)) / bcryptmd5 +- bcrypt(sha1($pass)) / bcryptsha1 +- osCommerce, xt:Commerce - TOTP (HMAC-SHA1) +- STDOUT +- Plaintext - Web2py pbkdf2-sha512 - Django (PBKDF2-SHA256) - Django (SHA-1) +- Atlassian (PBKDF2-HMAC-SHA1) +- Ruby on Rails Restful-Authentication - PKCS#8 Private Keys (PBKDF2-HMAC-SHA1 + 3DES/AES) - PKCS#8 Private Keys (PBKDF2-HMAC-SHA256 + 3DES/AES) - JKS Java Key Store Private Keys (SHA1) @@ -369,6 +373,11 @@ NVIDIA GPUs require "NVIDIA Driver" (440.64 or later) and "CUDA Toolkit" (9.0 or - RSA/DSA/EC/OpenSSH Private Keys ($1, $3$) - RSA/DSA/EC/OpenSSH Private Keys ($4$) - RSA/DSA/EC/OpenSSH Private Keys ($5$) +- XMPP SCRAM PBKDF2-SHA1 +- Telegram Desktop < v2.1.14 (PBKDF2-HMAC-SHA1) +- Telegram Desktop >= v2.1.14 (PBKDF2-HMAC-SHA512) +- Telegram Mobile App Passcode (SHA256) +- Skype ## ## Attack-Modes diff --git a/include/types.h b/include/types.h index 7b2cc1d46..354702779 100644 --- a/include/types.h +++ b/include/types.h @@ -2675,6 +2675,7 @@ typedef enum hash_category HASH_CATEGORY_PLAIN = 18, HASH_CATEGORY_FRAMEWORK = 19, HASH_CATEGORY_PRIVATE_KEY = 20, + HASH_CATEGORY_IMS = 21, } hash_category_t; diff --git a/src/modules/module_00023.c b/src/modules/module_00023.c index 6c22d8db1..71b06a618 100644 --- a/src/modules/module_00023.c +++ b/src/modules/module_00023.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 3; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 1; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_NETWORK_PROTOCOL; +static const u32 HASH_CATEGORY = HASH_CATEGORY_IMS; static const char *HASH_NAME = "Skype"; static const u64 KERN_TYPE = 20; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_11100.c b/src/modules/module_11100.c index 42935954b..7d76f5eff 100644 --- a/src/modules/module_11100.c +++ b/src/modules/module_11100.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 3; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 1; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_NETWORK_PROTOCOL; +static const u32 HASH_CATEGORY = HASH_CATEGORY_DATABASE_SERVER; static const char *HASH_NAME = "PostgreSQL CRAM (MD5)"; static const u64 KERN_TYPE = 11100; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_11200.c b/src/modules/module_11200.c index b284d6885..bcfd8a2ba 100644 --- a/src/modules/module_11200.c +++ b/src/modules/module_11200.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 4; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 1; static const u32 DGST_SIZE = DGST_SIZE_4_5; -static const u32 HASH_CATEGORY = HASH_CATEGORY_NETWORK_PROTOCOL; +static const u32 HASH_CATEGORY = HASH_CATEGORY_DATABASE_SERVER; static const char *HASH_NAME = "MySQL CRAM (SHA1)"; static const u64 KERN_TYPE = 11200; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_12001.c b/src/modules/module_12001.c index ff4c0ef3c..07c622b23 100644 --- a/src/modules/module_12001.c +++ b/src/modules/module_12001.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_32; -static const u32 HASH_CATEGORY = HASH_CATEGORY_GENERIC_KDF; +static const u32 HASH_CATEGORY = HASH_CATEGORY_FRAMEWORK; static const char *HASH_NAME = "Atlassian (PBKDF2-HMAC-SHA1)"; static const u64 KERN_TYPE = 12000; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_16900.c b/src/modules/module_16900.c index cdd64db8f..5cfe5aeb7 100644 --- a/src/modules/module_16900.c +++ b/src/modules/module_16900.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_GENERIC_KDF; +static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; static const char *HASH_NAME = "Ansible Vault"; static const u64 KERN_TYPE = 16900; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_18700.c b/src/modules/module_18700.c index c7000aa6c..25b9f0c84 100644 --- a/src/modules/module_18700.c +++ b/src/modules/module_18700.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_RAW_HASH; +static const u32 HASH_CATEGORY = HASH_CATEGORY_RAW_CHECKSUM; static const char *HASH_NAME = "Java Object hashCode()"; static const u64 KERN_TYPE = 18700; static const u32 OPTI_TYPE = OPTI_TYPE_RAW_HASH; diff --git a/src/modules/module_19500.c b/src/modules/module_19500.c index ca3fff775..c0f2ced88 100644 --- a/src/modules/module_19500.c +++ b/src/modules/module_19500.c @@ -17,7 +17,7 @@ static const u32 DGST_POS1 = 4; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 1; static const u32 DGST_SIZE = DGST_SIZE_4_5; -static const u32 HASH_CATEGORY = HASH_CATEGORY_RAW_HASH_SALTED; +static const u32 HASH_CATEGORY = HASH_CATEGORY_FRAMEWORK; static const char *HASH_NAME = "Ruby on Rails Restful-Authentication"; static const u64 KERN_TYPE = 19500; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_21000.c b/src/modules/module_21000.c index 713474b50..f7057f826 100644 --- a/src/modules/module_21000.c +++ b/src/modules/module_21000.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 15; static const u32 DGST_POS2 = 6; static const u32 DGST_POS3 = 7; static const u32 DGST_SIZE = DGST_SIZE_8_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_RAW_HASH; +static const u32 HASH_CATEGORY = HASH_CATEGORY_PASSWORD_MANAGER; static const char *HASH_NAME = "BitShares v0.x - sha512(sha512_bin(pass))"; static const u64 KERN_TYPE = 21000; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_21400.c b/src/modules/module_21400.c index d06c26053..d941c58de 100644 --- a/src/modules/module_21400.c +++ b/src/modules/module_21400.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 7; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 6; static const u32 DGST_SIZE = DGST_SIZE_4_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_RAW_HASH; +static const u32 HASH_CATEGORY = HASH_CATEGORY_RAW_HASH_SALTED; static const char *HASH_NAME = "sha256(sha256_bin($pass))"; static const u64 KERN_TYPE = 21400; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_22301.c b/src/modules/module_22301.c index 95a4d8954..9f96f4d0b 100644 --- a/src/modules/module_22301.c +++ b/src/modules/module_22301.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 7; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 6; static const u32 DGST_SIZE = DGST_SIZE_4_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_NETWORK_PROTOCOL; +static const u32 HASH_CATEGORY = HASH_CATEGORY_IMS; static const char *HASH_NAME = "Telegram Mobile App Passcode (SHA256)"; static const u64 KERN_TYPE = 22300; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_22600.c b/src/modules/module_22600.c index cff245991..798bf88ab 100644 --- a/src/modules/module_22600.c +++ b/src/modules/module_22600.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_NETWORK_PROTOCOL; +static const u32 HASH_CATEGORY = HASH_CATEGORY_IMS; static const char *HASH_NAME = "Telegram Desktop < v2.1.14 (PBKDF2-HMAC-SHA1)"; static const u64 KERN_TYPE = 22600; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_23200.c b/src/modules/module_23200.c index 52e95dd4a..72f8325a5 100644 --- a/src/modules/module_23200.c +++ b/src/modules/module_23200.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_32; -static const u32 HASH_CATEGORY = HASH_CATEGORY_NETWORK_PROTOCOL; +static const u32 HASH_CATEGORY = HASH_CATEGORY_IMS; static const char *HASH_NAME = "XMPP SCRAM PBKDF2-SHA1"; static const u64 KERN_TYPE = 23200; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_24500.c b/src/modules/module_24500.c index 24afbe53b..5539d0fe2 100644 --- a/src/modules/module_24500.c +++ b/src/modules/module_24500.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_8; -static const u32 HASH_CATEGORY = HASH_CATEGORY_NETWORK_PROTOCOL; +static const u32 HASH_CATEGORY = HASH_CATEGORY_IMS; static const char *HASH_NAME = "Telegram Desktop >= v2.1.14 (PBKDF2-HMAC-SHA512)"; static const u64 KERN_TYPE = 24500; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_24900.c b/src/modules/module_24900.c index 31a218c82..b68b1e639 100644 --- a/src/modules/module_24900.c +++ b/src/modules/module_24900.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_RAW_HASH; +static const u32 HASH_CATEGORY = HASH_CATEGORY_NETWORK_SERVER; static const char *HASH_NAME = "Dahua Authentication MD5"; static const u64 KERN_TYPE = 24900; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE diff --git a/src/modules/module_25600.c b/src/modules/module_25600.c index 77c515a16..2615640a6 100644 --- a/src/modules/module_25600.c +++ b/src/modules/module_25600.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_6; -static const u32 HASH_CATEGORY = HASH_CATEGORY_OS; +static const u32 HASH_CATEGORY = HASH_CATEGORY_FORUM_SOFTWARE; static const char *HASH_NAME = "bcrypt(md5($pass)) / bcryptmd5"; static const u64 KERN_TYPE = 25600; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE; diff --git a/src/modules/module_25700.c b/src/modules/module_25700.c index cc6f1f27d..a142ea26c 100644 --- a/src/modules/module_25700.c +++ b/src/modules/module_25700.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_RAW_HASH_SALTED; +static const u32 HASH_CATEGORY = HASH_CATEGORY_RAW_CHECKSUM; static const char *HASH_NAME = "MurmurHash"; static const u64 KERN_TYPE = 25700; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE; diff --git a/src/modules/module_25800.c b/src/modules/module_25800.c index 423cfc5ab..444f6595e 100644 --- a/src/modules/module_25800.c +++ b/src/modules/module_25800.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_6; -static const u32 HASH_CATEGORY = HASH_CATEGORY_OS; +static const u32 HASH_CATEGORY = HASH_CATEGORY_FORUM_SOFTWARE; static const char *HASH_NAME = "bcrypt(sha1($pass)) / bcryptsha1"; static const u64 KERN_TYPE = 25800; static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE; diff --git a/src/modules/module_25900.c b/src/modules/module_25900.c index e02d323c9..6ed6039c1 100644 --- a/src/modules/module_25900.c +++ b/src/modules/module_25900.c @@ -16,7 +16,7 @@ static const u32 DGST_POS1 = 1; static const u32 DGST_POS2 = 2; static const u32 DGST_POS3 = 3; static const u32 DGST_SIZE = DGST_SIZE_4_4; -static const u32 HASH_CATEGORY = HASH_CATEGORY_NETWORK_PROTOCOL; +static const u32 HASH_CATEGORY = HASH_CATEGORY_NETWORK_SERVER; static const char *HASH_NAME = "KNX IP Secure - Device Authentication Code"; static const u64 KERN_TYPE = 25900; static const u32 OPTI_TYPE = OPTI_TYPE_SLOW_HASH_SIMD_LOOP; diff --git a/src/shared.c b/src/shared.c index 7acde3aef..bf83efd36 100644 --- a/src/shared.c +++ b/src/shared.c @@ -103,6 +103,7 @@ static const char *HASH_CATEGORY_OTP_STR = "One-Time Password static const char *HASH_CATEGORY_PLAIN_STR = "Plaintext"; static const char *HASH_CATEGORY_FRAMEWORK_STR = "Framework"; static const char *HASH_CATEGORY_PRIVATE_KEY_STR = "Private Key"; +static const char *HASH_CATEGORY_IMS_STR = "Instant Messaging Service"; int sort_by_string_sized (const void *p1, const void *p2) { @@ -956,6 +957,7 @@ const char *strhashcategory (const u32 hash_category) case HASH_CATEGORY_PLAIN: return HASH_CATEGORY_PLAIN_STR; case HASH_CATEGORY_FRAMEWORK: return HASH_CATEGORY_FRAMEWORK_STR; case HASH_CATEGORY_PRIVATE_KEY: return HASH_CATEGORY_PRIVATE_KEY_STR; + case HASH_CATEGORY_IMS: return HASH_CATEGORY_IMS_STR; } return NULL; diff --git a/src/usage.c b/src/usage.c index c0562403b..8202121c8 100644 --- a/src/usage.c +++ b/src/usage.c @@ -138,8 +138,8 @@ static const char *const USAGE_BIG_PRE_HASHMODES[] = "", "- [ Hash modes ] -", "", - " # | Name | Category", - " ======+==================================================+======================================", + " # | Name | Category", + " ======+=====================================================+======================================", NULL }; @@ -255,7 +255,16 @@ static int sort_by_usage (const void *p1, const void *p2) if (u1->hash_category > u2->hash_category) return 1; if (u1->hash_category < u2->hash_category) return -1; - const int rc_name = strncmp (u1->hash_name + 1, u2->hash_name + 1, 15); // yes, strange... + const bool first1_is_lc = ((u1->hash_name[0] >= 'a') && (u1->hash_name[0] <= 'z')) ? true : false; + const bool first2_is_lc = ((u2->hash_name[0] >= 'a') && (u2->hash_name[0] <= 'z')) ? true : false; + + if (first1_is_lc != first2_is_lc) + { + if (first1_is_lc) return 1; + else return -1; + } + + const int rc_name = strncmp (u1->hash_name + 1, u2->hash_name + 1, 20); // yes, strange... if (rc_name > 0) return 1; if (rc_name < 0) return -1; @@ -325,7 +334,7 @@ void usage_big_print (hashcat_ctx_t *hashcat_ctx) for (int i = 0; i < usage_sort_cnt; i++) { - printf ("%7u | %-48s | %s", usage_sort_buf[i].hash_mode, usage_sort_buf[i].hash_name, strhashcategory (usage_sort_buf[i].hash_category)); + printf ("%7u | %-51s | %s", usage_sort_buf[i].hash_mode, usage_sort_buf[i].hash_name, strhashcategory (usage_sort_buf[i].hash_category)); fwrite (EOL, strlen (EOL), 1, stdout); }