From 39eed947038acb253e98832d31a9e1df950b2fe2 Mon Sep 17 00:00:00 2001 From: jsteube Date: Thu, 27 Oct 2016 00:32:38 +0200 Subject: [PATCH] Add option OPTS_TYPE_BINARY_HASHFILE for interface.c --- include/types.h | 119 +++++++++++++++++++++--------------------- src/hashes.c | 31 ++++++----- src/interface.c | 127 ++++++++++++++++++++++++++++----------------- src/user_options.c | 9 ++-- 4 files changed, 162 insertions(+), 124 deletions(-) diff --git a/include/types.h b/include/types.h index ab5c12da9..4b4f326ec 100644 --- a/include/types.h +++ b/include/types.h @@ -147,15 +147,15 @@ typedef enum amplifier_count typedef enum vendor_id { - VENDOR_ID_AMD = (1u << 0), - VENDOR_ID_APPLE = (1u << 1), - VENDOR_ID_INTEL_BEIGNET = (1u << 2), - VENDOR_ID_INTEL_SDK = (1u << 3), - VENDOR_ID_MESA = (1u << 4), - VENDOR_ID_NV = (1u << 5), - VENDOR_ID_POCL = (1u << 6), - VENDOR_ID_AMD_USE_INTEL = (1u << 7), - VENDOR_ID_GENERIC = (1u << 31) + VENDOR_ID_AMD = (1 << 0), + VENDOR_ID_APPLE = (1 << 1), + VENDOR_ID_INTEL_BEIGNET = (1 << 2), + VENDOR_ID_INTEL_SDK = (1 << 3), + VENDOR_ID_MESA = (1 << 4), + VENDOR_ID_NV = (1 << 5), + VENDOR_ID_POCL = (1 << 6), + VENDOR_ID_AMD_USE_INTEL = (1 << 7), + VENDOR_ID_GENERIC = (1 << 31) } vendor_id_t; @@ -311,57 +311,58 @@ typedef enum salt_type typedef enum opti_type { - OPTI_TYPE_ZERO_BYTE = (1u << 1), - OPTI_TYPE_PRECOMPUTE_INIT = (1u << 2), - OPTI_TYPE_PRECOMPUTE_MERKLE = (1u << 3), - OPTI_TYPE_PRECOMPUTE_PERMUT = (1u << 4), - OPTI_TYPE_MEET_IN_MIDDLE = (1u << 5), - OPTI_TYPE_EARLY_SKIP = (1u << 6), - OPTI_TYPE_NOT_SALTED = (1u << 7), - OPTI_TYPE_NOT_ITERATED = (1u << 8), - OPTI_TYPE_PREPENDED_SALT = (1u << 9), - OPTI_TYPE_APPENDED_SALT = (1u << 10), - OPTI_TYPE_SINGLE_HASH = (1u << 11), - OPTI_TYPE_SINGLE_SALT = (1u << 12), - OPTI_TYPE_BRUTE_FORCE = (1u << 13), - OPTI_TYPE_RAW_HASH = (1u << 14), - OPTI_TYPE_SLOW_HASH_SIMD = (1u << 15), - OPTI_TYPE_USES_BITS_8 = (1u << 16), - OPTI_TYPE_USES_BITS_16 = (1u << 17), - OPTI_TYPE_USES_BITS_32 = (1u << 18), - OPTI_TYPE_USES_BITS_64 = (1u << 19) + OPTI_TYPE_ZERO_BYTE = (1 << 1), + OPTI_TYPE_PRECOMPUTE_INIT = (1 << 2), + OPTI_TYPE_PRECOMPUTE_MERKLE = (1 << 3), + OPTI_TYPE_PRECOMPUTE_PERMUT = (1 << 4), + OPTI_TYPE_MEET_IN_MIDDLE = (1 << 5), + OPTI_TYPE_EARLY_SKIP = (1 << 6), + OPTI_TYPE_NOT_SALTED = (1 << 7), + OPTI_TYPE_NOT_ITERATED = (1 << 8), + OPTI_TYPE_PREPENDED_SALT = (1 << 9), + OPTI_TYPE_APPENDED_SALT = (1 << 10), + OPTI_TYPE_SINGLE_HASH = (1 << 11), + OPTI_TYPE_SINGLE_SALT = (1 << 12), + OPTI_TYPE_BRUTE_FORCE = (1 << 13), + OPTI_TYPE_RAW_HASH = (1 << 14), + OPTI_TYPE_SLOW_HASH_SIMD = (1 << 15), + OPTI_TYPE_USES_BITS_8 = (1 << 16), + OPTI_TYPE_USES_BITS_16 = (1 << 17), + OPTI_TYPE_USES_BITS_32 = (1 << 18), + OPTI_TYPE_USES_BITS_64 = (1 << 19) } opti_type_t; typedef enum opts_type { - OPTS_TYPE_PT_UNICODE = (1u << 0), - OPTS_TYPE_PT_UPPER = (1u << 1), - OPTS_TYPE_PT_LOWER = (1u << 2), - OPTS_TYPE_PT_ADD01 = (1u << 3), - OPTS_TYPE_PT_ADD02 = (1u << 4), - OPTS_TYPE_PT_ADD80 = (1u << 5), - OPTS_TYPE_PT_ADDBITS14 = (1u << 6), - OPTS_TYPE_PT_ADDBITS15 = (1u << 7), - OPTS_TYPE_PT_GENERATE_LE = (1u << 8), - OPTS_TYPE_PT_GENERATE_BE = (1u << 9), - OPTS_TYPE_PT_NEVERCRACK = (1u << 10), // if we want all possible results - OPTS_TYPE_PT_BITSLICE = (1u << 11), - OPTS_TYPE_ST_UNICODE = (1u << 12), - OPTS_TYPE_ST_UPPER = (1u << 13), - OPTS_TYPE_ST_LOWER = (1u << 14), - OPTS_TYPE_ST_ADD01 = (1u << 15), - OPTS_TYPE_ST_ADD02 = (1u << 16), - OPTS_TYPE_ST_ADD80 = (1u << 17), - OPTS_TYPE_ST_ADDBITS14 = (1u << 18), - OPTS_TYPE_ST_ADDBITS15 = (1u << 19), - OPTS_TYPE_ST_GENERATE_LE = (1u << 20), - OPTS_TYPE_ST_GENERATE_BE = (1u << 21), - OPTS_TYPE_ST_HEX = (1u << 22), - OPTS_TYPE_ST_BASE64 = (1u << 23), - OPTS_TYPE_HASH_COPY = (1u << 24), - OPTS_TYPE_HOOK12 = (1u << 25), - OPTS_TYPE_HOOK23 = (1u << 26) + OPTS_TYPE_PT_UNICODE = (1 << 0), + OPTS_TYPE_PT_UPPER = (1 << 1), + OPTS_TYPE_PT_LOWER = (1 << 2), + OPTS_TYPE_PT_ADD01 = (1 << 3), + OPTS_TYPE_PT_ADD02 = (1 << 4), + OPTS_TYPE_PT_ADD80 = (1 << 5), + OPTS_TYPE_PT_ADDBITS14 = (1 << 6), + OPTS_TYPE_PT_ADDBITS15 = (1 << 7), + OPTS_TYPE_PT_GENERATE_LE = (1 << 8), + OPTS_TYPE_PT_GENERATE_BE = (1 << 9), + OPTS_TYPE_PT_NEVERCRACK = (1 << 10), // if we want all possible results + OPTS_TYPE_PT_BITSLICE = (1 << 11), + OPTS_TYPE_ST_UNICODE = (1 << 12), + OPTS_TYPE_ST_UPPER = (1 << 13), + OPTS_TYPE_ST_LOWER = (1 << 14), + OPTS_TYPE_ST_ADD01 = (1 << 15), + OPTS_TYPE_ST_ADD02 = (1 << 16), + OPTS_TYPE_ST_ADD80 = (1 << 17), + OPTS_TYPE_ST_ADDBITS14 = (1 << 18), + OPTS_TYPE_ST_ADDBITS15 = (1 << 19), + OPTS_TYPE_ST_GENERATE_LE = (1 << 20), + OPTS_TYPE_ST_GENERATE_BE = (1 << 21), + OPTS_TYPE_ST_HEX = (1 << 22), + OPTS_TYPE_ST_BASE64 = (1 << 23), + OPTS_TYPE_HASH_COPY = (1 << 24), + OPTS_TYPE_HOOK12 = (1 << 25), + OPTS_TYPE_HOOK23 = (1 << 26), + OPTS_TYPE_BINARY_HASHFILE = (1 << 27), } opts_type_t; @@ -405,10 +406,10 @@ typedef enum hlfmt_name typedef enum outfile_fmt { - OUTFILE_FMT_HASH = (1u << 0), - OUTFILE_FMT_PLAIN = (1u << 1), - OUTFILE_FMT_HEXPLAIN = (1u << 2), - OUTFILE_FMT_CRACKPOS = (1u << 3) + OUTFILE_FMT_HASH = (1 << 0), + OUTFILE_FMT_PLAIN = (1 << 1), + OUTFILE_FMT_HEXPLAIN = (1 << 2), + OUTFILE_FMT_CRACKPOS = (1 << 3) } outfile_fmt_t; diff --git a/src/hashes.c b/src/hashes.c index d2328fc4f..f8ea8fdd0 100644 --- a/src/hashes.c +++ b/src/hashes.c @@ -155,7 +155,22 @@ int save_hash (hashcat_ctx_t *hashcat_ctx) if (hashes->digests_shown[idx] == 1) continue; - if (hashconfig->hash_mode != 2500) + if (hashconfig->opts_type & OPTS_TYPE_BINARY_HASHFILE) + { + if (hashconfig->hash_mode == 2500) + { + hccap_t hccap; + + to_hccap_t (hashcat_ctx, &hccap, salt_pos, digest_pos); + + fwrite (&hccap, sizeof (hccap_t), 1, fp); + } + else + { + // TODO + } + } + else { if (user_options->username == true) { @@ -176,14 +191,6 @@ int save_hash (hashcat_ctx_t *hashcat_ctx) fprintf (fp, "%s" EOL, out_buf); } - else - { - hccap_t hccap; - - to_hccap_t (hashcat_ctx, &hccap, salt_pos, digest_pos); - - fwrite (&hccap, sizeof (hccap_t), 1, fp); - } } } @@ -440,11 +447,7 @@ int hashes_init_stage1 (hashcat_ctx_t *hashcat_ctx) hashlist_mode = (stat (hash_or_file, &f) == 0) ? HL_MODE_FILE : HL_MODE_ARG; - if ((hashconfig->hash_mode == 2500) || - (hashconfig->hash_mode == 5200) || - ((hashconfig->hash_mode >= 6200) && (hashconfig->hash_mode <= 6299)) || - ((hashconfig->hash_mode >= 13700) && (hashconfig->hash_mode <= 13799)) || - (hashconfig->hash_mode == 9000)) + if (hashconfig->opts_type & OPTS_TYPE_BINARY_HASHFILE) { hashlist_mode = HL_MODE_ARG; diff --git a/src/interface.c b/src/interface.c index 4f5782968..97e1effd4 100644 --- a/src/interface.c +++ b/src/interface.c @@ -17208,7 +17208,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 1800: hashconfig->hash_type = HASH_TYPE_SHA512; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_SHA512CRYPT; hashconfig->dgst_size = DGST_SIZE_8_8; hashconfig->parse_func = sha512crypt_parse_hash; @@ -17237,7 +17237,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 2100: hashconfig->hash_type = HASH_TYPE_DCC2; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_ST_LOWER | OPTS_TYPE_ST_UNICODE; hashconfig->kern_type = KERN_TYPE_DCC2; @@ -17291,7 +17291,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 2500: hashconfig->hash_type = HASH_TYPE_WPA; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_WPA; hashconfig->dgst_size = DGST_SIZE_4_4; hashconfig->parse_func = wpa_parse_hash; @@ -17667,7 +17668,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 5200: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_PSAFE3; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = psafe3_parse_hash; @@ -17769,7 +17771,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 5800: hashconfig->hash_type = HASH_TYPE_SHA1; hashconfig->salt_type = SALT_TYPE_INTERN; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE | OPTS_TYPE_ST_ADD80; hashconfig->kern_type = KERN_TYPE_ANDROIDPIN; hashconfig->dgst_size = DGST_SIZE_4_5; @@ -17814,7 +17816,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6211: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS512; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = truecrypt_parse_hash_2k; @@ -17828,7 +17831,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6212: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS1024; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = truecrypt_parse_hash_2k; @@ -17842,7 +17846,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6213: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS1536; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = truecrypt_parse_hash_2k; @@ -17856,7 +17861,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6221: hashconfig->hash_type = HASH_TYPE_SHA512; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCSHA512_XTS512; hashconfig->dgst_size = DGST_SIZE_8_8; hashconfig->parse_func = truecrypt_parse_hash_1k; @@ -17871,7 +17877,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6222: hashconfig->hash_type = HASH_TYPE_SHA512; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCSHA512_XTS1024; hashconfig->dgst_size = DGST_SIZE_8_8; hashconfig->parse_func = truecrypt_parse_hash_1k; @@ -17886,7 +17893,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6223: hashconfig->hash_type = HASH_TYPE_SHA512; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCSHA512_XTS1536; hashconfig->dgst_size = DGST_SIZE_8_8; hashconfig->parse_func = truecrypt_parse_hash_1k; @@ -17901,7 +17909,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6231: hashconfig->hash_type = HASH_TYPE_WHIRLPOOL; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCWHIRLPOOL_XTS512; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = truecrypt_parse_hash_1k; @@ -17915,7 +17924,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6232: hashconfig->hash_type = HASH_TYPE_WHIRLPOOL; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCWHIRLPOOL_XTS1024; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = truecrypt_parse_hash_1k; @@ -17929,7 +17939,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6233: hashconfig->hash_type = HASH_TYPE_WHIRLPOOL; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCWHIRLPOOL_XTS1536; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = truecrypt_parse_hash_1k; @@ -17943,7 +17954,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6241: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS512; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = truecrypt_parse_hash_1k; @@ -17957,7 +17969,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6242: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS1024; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = truecrypt_parse_hash_1k; @@ -17971,7 +17984,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6243: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS1536; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = truecrypt_parse_hash_1k; @@ -17999,7 +18013,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6400: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_SHA256AIX; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = sha256aix_parse_hash; @@ -18013,7 +18027,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6500: hashconfig->hash_type = HASH_TYPE_SHA512; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_SHA512AIX; hashconfig->dgst_size = DGST_SIZE_8_8; hashconfig->parse_func = sha512aix_parse_hash; @@ -18042,7 +18056,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 6700: hashconfig->hash_type = HASH_TYPE_SHA1; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_SHA1AIX; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = sha1aix_parse_hash; @@ -18084,7 +18098,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 7100: hashconfig->hash_type = HASH_TYPE_SHA512; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_PBKDF2_SHA512; hashconfig->dgst_size = DGST_SIZE_8_16; hashconfig->parse_func = sha512osx_parse_hash; @@ -18100,7 +18114,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 7200: hashconfig->hash_type = HASH_TYPE_SHA512; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_PBKDF2_SHA512; hashconfig->dgst_size = DGST_SIZE_8_16; hashconfig->parse_func = sha512grub_parse_hash; @@ -18133,7 +18147,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 7400: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_SHA256CRYPT; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = sha256crypt_parse_hash; @@ -18218,7 +18232,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 7900: hashconfig->hash_type = HASH_TYPE_SHA512; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_DRUPAL7; hashconfig->dgst_size = DGST_SIZE_8_8; hashconfig->parse_func = drupal7_parse_hash; @@ -18274,7 +18288,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 8200: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_CLOUDKEY; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = cloudkey_parse_hash; @@ -18400,7 +18414,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE - | OPTS_TYPE_ST_GENERATE_LE; + | OPTS_TYPE_ST_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_PSAFE2; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = psafe2_parse_hash; @@ -18428,7 +18443,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 9200: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_PBKDF2_SHA256; hashconfig->dgst_size = DGST_SIZE_4_32; hashconfig->parse_func = cisco8_parse_hash; @@ -18624,7 +18639,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 10000: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_PBKDF2_SHA256; hashconfig->dgst_size = DGST_SIZE_4_32; hashconfig->parse_func = djangopbkdf2_parse_hash; @@ -18672,7 +18687,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 10300: hashconfig->hash_type = HASH_TYPE_SHA1; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; hashconfig->kern_type = KERN_TYPE_SAPH_SHA1; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = saph_sha1_parse_hash; @@ -19255,7 +19270,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13711: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS512; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = veracrypt_parse_hash_655331; @@ -19269,7 +19285,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13712: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS1024; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = veracrypt_parse_hash_655331; @@ -19283,7 +19300,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13713: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS1536; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = veracrypt_parse_hash_655331; @@ -19297,7 +19315,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13721: hashconfig->hash_type = HASH_TYPE_SHA512; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCSHA512_XTS512; hashconfig->dgst_size = DGST_SIZE_8_8; hashconfig->parse_func = veracrypt_parse_hash_500000; @@ -19312,7 +19331,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13722: hashconfig->hash_type = HASH_TYPE_SHA512; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCSHA512_XTS1024; hashconfig->dgst_size = DGST_SIZE_8_8; hashconfig->parse_func = veracrypt_parse_hash_500000; @@ -19327,7 +19347,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13723: hashconfig->hash_type = HASH_TYPE_SHA512; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCSHA512_XTS1536; hashconfig->dgst_size = DGST_SIZE_8_8; hashconfig->parse_func = veracrypt_parse_hash_500000; @@ -19342,7 +19363,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13731: hashconfig->hash_type = HASH_TYPE_WHIRLPOOL; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCWHIRLPOOL_XTS512; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = veracrypt_parse_hash_500000; @@ -19356,7 +19378,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13732: hashconfig->hash_type = HASH_TYPE_WHIRLPOOL; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCWHIRLPOOL_XTS1024; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = veracrypt_parse_hash_500000; @@ -19370,7 +19393,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13733: hashconfig->hash_type = HASH_TYPE_WHIRLPOOL; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCWHIRLPOOL_XTS1536; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = veracrypt_parse_hash_500000; @@ -19384,7 +19408,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13741: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS512; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = veracrypt_parse_hash_327661; @@ -19398,7 +19423,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13742: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS1024; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = veracrypt_parse_hash_327661; @@ -19412,7 +19438,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13743: hashconfig->hash_type = HASH_TYPE_RIPEMD160; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_TCRIPEMD160_XTS1536; hashconfig->dgst_size = DGST_SIZE_4_5; hashconfig->parse_func = veracrypt_parse_hash_327661; @@ -19426,7 +19453,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13751: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_VCSHA256_XTS512; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = veracrypt_parse_hash_500000; @@ -19440,7 +19468,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13752: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_VCSHA256_XTS1024; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = veracrypt_parse_hash_500000; @@ -19454,7 +19483,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13753: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_VCSHA256_XTS1536; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = veracrypt_parse_hash_500000; @@ -19468,7 +19498,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13761: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_VCSHA256_XTS512; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = veracrypt_parse_hash_200000; @@ -19482,7 +19513,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13762: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_VCSHA256_XTS1024; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = veracrypt_parse_hash_200000; @@ -19496,7 +19528,8 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) case 13763: hashconfig->hash_type = HASH_TYPE_SHA256; hashconfig->salt_type = SALT_TYPE_EMBEDDED; hashconfig->attack_exec = ATTACK_EXEC_OUTSIDE_KERNEL; - hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE; // should be OPTS_TYPE_PT_GENERATE_BE + hashconfig->opts_type = OPTS_TYPE_PT_GENERATE_LE + | OPTS_TYPE_BINARY_HASHFILE; hashconfig->kern_type = KERN_TYPE_VCSHA256_XTS1536; hashconfig->dgst_size = DGST_SIZE_4_8; hashconfig->parse_func = veracrypt_parse_hash_200000; diff --git a/src/user_options.c b/src/user_options.c index a4cb1f165..4762c0ced 100644 --- a/src/user_options.c +++ b/src/user_options.c @@ -393,10 +393,11 @@ int user_options_sanity (hashcat_ctx_t *hashcat_ctx) if (user_options->username == true) { - if ((user_options->hash_mode == 2500) - || (user_options->hash_mode == 5200) - || ((user_options->hash_mode >= 6200) && (user_options->hash_mode <= 6299)) - || ((user_options->hash_mode >= 13700) && (user_options->hash_mode <= 13799))) + if ((user_options->hash_mode == 2500) + || (user_options->hash_mode == 5200) + || ((user_options->hash_mode >= 6200) && (user_options->hash_mode <= 6299)) + || ((user_options->hash_mode >= 13700) && (user_options->hash_mode <= 13799)) + || (user_options->hash_mode == 9000)) { event_log_error (hashcat_ctx, "Mixing support for user names and hashes of type %s is not supported", strhashtype (user_options->hash_mode));