1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-27 00:48:13 +00:00
Commit Graph

2353 Commits

Author SHA1 Message Date
jsteube
5728933cd2 Convert sha1b64_parse_hash() to make use of input_tokenizer() 2018-06-30 10:25:10 +02:00
jsteube
d36e70b598 Convert pstoken_parse_hash() to make use of input_tokenizer() 2018-06-30 10:13:26 +02:00
jsteube
ea6fd41c01 Merge branch 'master' of https://github.com/hashcat/hashcat 2018-06-29 20:32:14 +02:00
jsteube
4991bb85d2 Remove the following obsolete functions and replace them with input_tokenizer():
dcc_parse_hash
ipb2_parse_hash
sha1sha1_parse_hash
smf_parse_hash
vb3_parse_hash
2018-06-29 20:31:52 +02:00
Jens Steube
07b49c17f8
Merge pull request #1605 from magnumripper/master
Mute another -Wpointer-sign warning.
2018-06-29 12:37:50 +02:00
jsteube
6817876324 Do not increase output length in parse_and_store_generic_salt() if OPTS_TYPE_ST_ADD80 or similar is used 2018-06-29 12:33:02 +02:00
magnum
35a4972bb3 Mute another macOS -Wpointer-sign warning. 2018-06-28 19:18:16 +02:00
jsteube
319374e917 Merge branch 'master' of https://github.com/hashcat/hashcat 2018-06-28 14:25:12 +02:00
jsteube
10556b6324 The following parser functions have been rewritten to make use of
input_tokenizer():
descrypt_parse_hash()
md5pix_parse_hash()
md5asa_parse_hash()
netntlmv1_parse_hash()
netntlmv2_parse_hash()
joomla_parse_hash()
2018-06-28 14:24:52 +02:00
Jens Steube
7a408d9824
Merge pull request #1604 from magnumripper/master
Mute a macOS -Wpointer-sign warning.
2018-06-27 11:37:15 +02:00
jsteube
9196f1ba55 Added rounds_count_length() function to detect optional rounds=
substring in *crypt hashes
The following parser functions have been rewritten to make use of
input_tokenizer():
phpass_parse_hash()
md5crypt_parse_hash()
md5apr1_parse_hash()
episerver_parse_hash()
2018-06-27 11:12:35 +02:00
magnum
4e28d85e3e Mute a macOS -Wpointer-sign warning. 2018-06-27 10:41:21 +02:00
jsteube
f574cbc88a the following parser functions have been rewritten to make use of
input_tokenizer()
dcc2_parse_hash()
dpapimk_parse_hash()
2018-06-26 12:32:58 +02:00
jsteube
a2d99c5ac6 Rewrite several *_parse_hash() functions to use parse_and_store_generic_salt() 2018-06-25 16:30:40 +02:00
jsteube
50824a24c6 Rewrite parse_and_store_salt from scratch and rename original to parse_and_store_salt_legacy() for migration phase
Rewrite several *_parse_hash() functions to use parse_and_store_generic_salt()
2018-06-25 11:36:09 +02:00
jsteube
5f83dd8620 Convert cisco4_parse_hash() to make use of input_tokenizer()
Convert lm_parse_hash() to make use of input_tokenizer()
2018-06-24 14:04:05 +02:00
jsteube
2abe8caf24 Convert bcrypt_parse_hash() to make use of input_tokenizer()
Add more code to input_tokenizer()
2018-06-23 22:32:49 +02:00
jsteube
26dea37c9d TEST CODE: tokenizer function in order to simplify parsing functions 2018-06-23 16:00:49 +02:00
jsteube
c902df7d8a Fix some typo 2018-06-22 09:57:44 +02:00
jsteube
32d6b3e10e OpenCL kernels: Add '-pure' prefix to kernel filenames to avoid problems caused by reusing existing hashcat installation folder 2018-06-20 14:18:17 +02:00
jsteube
c28fdf7f44 Added hash-mode 16700 = FileVault 2 2018-06-18 14:38:35 +02:00
jsteube
c3fc50294f Bring back CUDA_CACHE_DISABLE=1 because users report to have problems without it 2018-06-17 09:06:12 +02:00
jsteube
124d10989c Try original NV kernel bytecode cache for faster startup, see how user response is 2018-06-16 22:26:39 +02:00
jsteube
547025ec47 HCCAPX management: Use advanced hints in message_pair stored by hcxtools about endian bitness of replay counter
Fixed missing code section in -m 2500 and -m 2501 to crack corrupted handshakes with a LE endian bitness base
2018-06-15 17:00:41 +02:00
jsteube
60f2d413e0 Fix missing hexification for chars 0x00 - 0x1f 2018-06-14 20:06:56 +02:00
jsteube
b88c956d97 Rule Engine: Add JtR compatible support for hex notations in rule engine 2018-06-14 15:08:00 +02:00
jsteube
a8060f4946 Rewritten handling of OpenCL JiT build options to fix warnings with GCC 8 2018-06-13 16:43:43 +02:00
jsteube
ce4858f7a3 Rewritten printable_utf8() because the original one throws too many warnings with GCC 8 2018-06-13 16:42:33 +02:00
jsteube
469fece141 OpenCL Kernels: Abort session if kernel self-test failed 2018-06-13 12:22:54 +02:00
Jens Steube
fee4cb42cc
Merge pull request #1541 from erpscanteam/master
POC for cracking SAP "half hashes" CODVN B+F/G
2018-06-12 16:38:21 +02:00
Jens Steube
88640468df
Merge pull request #1542 from matrix/selftest_warning_fix
Fix selftest.c warning
2018-06-12 16:32:21 +02:00
philsmd
7d6c0d746c
7-Zip: increase the crc length to parse
Similar to the increase done with this commit: d382400805
we need to increase the crc length again such that hashcat can load hashes corresponding to some very highly compressed files within the 7-Zip archive. 

For reference, this problem was first reported here: https://hashcat.net/forum/thread-7378.html :

as you can see
```
...$1059026$5d00001000): Salt-value exception
```

The value 1059026 is about 1MB of decrypted and decompressed data that needs to be checksummed.
2018-03-22 09:52:40 +01:00
Gabriele Gristina
7e2101438c Fix selftest.c warning 2018-03-10 14:26:14 +01:00
Mathieu Geli
4dbc1f4a87 Implement 7701/7801 SAP CODVN half-hashes 2018-03-06 16:42:53 +03:00
Jens Steube
f6cfcbbc3a
Merge pull request #1529 from yarda/system-lzma-sdk
Add support for building with system lzma-sdk
2018-03-03 18:37:29 +01:00
magnum
a3759d77cf Fix a problem with 'make install' on macOS if user has a GNU sed before
the native one in PATH (we would end up giving incompatible options).

Also omit the '-s' in LFLAGS for macOS, the linker just warns about that
option being obsolete and ignored.
2018-02-28 16:48:13 +01:00
jsteube
63defd1cea Remove unused variable 2018-02-28 11:57:23 +01:00
jsteube
83f07febfc Initial v4.1.1 deverloper mode commit 2018-02-28 11:25:23 +01:00
Jaroslav Škarvada
83ce54a736
Add support for building with system lzma-sdk
Fixes: #1528

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2018-02-28 11:21:46 +01:00
jsteube
ca1115a1ee No longer need to use 32 threads on second dimension for bitsliced algorithms 2018-02-20 01:01:50 +01:00
Jens Steube
872f82ab8d Get rid of thread limit for bitsliced kernels 2018-02-18 11:10:33 +01:00
Jens Steube
7b165a86a9 Fix LM selftest in -a 0 mode 2018-02-18 11:10:01 +01:00
Jens Steube
e79feb0b6f Add more reqd_work_group_size attributes to kernels 2018-02-17 22:16:05 +01:00
Jens Steube
7674c3a556 Revert "Thread limits on bitsliced kernels no longer required"
This reverts commit ba5f23474e.
2018-02-17 21:28:02 +01:00
Jens Steube
ba5f23474e Thread limits on bitsliced kernels no longer required 2018-02-17 20:41:07 +01:00
jsteube
b8b816eada Fix 64 marker for -m 11300 and -m 15900 2018-02-16 21:53:25 +01:00
Jens Steube
aa82d8d34d Re-enable CPU optimizations and some CPU case in thread management 2018-02-16 18:56:21 +01:00
Jens Steube
fe321105fe No need to copy empty compression buffers 2018-02-16 16:20:35 +01:00
Jens Steube
c7ae5fb7f0 Do not run more run a kernel with more threads than workitems 2018-02-16 15:53:57 +01:00
Jens Steube
07f119c28b Fix -a 7 of fast hashes in optimized mode 2018-02-14 10:21:44 +01:00
philsmd
4fcfa2ac77
max/min password/salt length vs max/min supported lengths by kernel
Make it clear that the "pass lengths" and "salt lenghts" hints are only indicative and describe the max/min pass/salt length of the kernels and are not specific to the current attack (e.g. mask attack of length 8)
2018-02-13 18:19:32 +01:00
jsteube
dfb95024bc Fix temporary datatype in wpapmk kernels 2018-02-13 16:34:00 +01:00
Jens Steube
d965475b28 Replace a missing while() with round_up_multiple_64() 2018-02-13 13:28:26 +01:00
Jens Steube
1af8e29a4b Add round_up_multiple_32() and round_up_multiple_64() 2018-02-13 13:20:29 +01:00
Jens Steube
f75accef59 Update -m 2501 selftest hash in order to succeed with new AUX kernels 2018-02-13 12:09:00 +01:00
Jens Steube
6cd6b08229 Other format that base on md5crypt should also use OPTS_TYPE_PREFERED_THREAD 2018-02-13 11:59:47 +01:00
Jens Steube
413ade76fb Add OPTS_TYPE_PREFERED_THREAD flag for -m 500 2018-02-13 11:12:08 +01:00
jsteube
98b20526f4 Fix missing cleanup for new AUX kernels 2018-02-13 10:39:22 +01:00
Jens Steube
7d09ae93f2 Merge branch 'master' of https://github.com/hashcat/hashcat 2018-02-13 10:27:55 +01:00
Jens Steube
1361651730 Add OPTS_TYPE_PREFERED_THREAD marker 2018-02-13 10:27:43 +01:00
jsteube
8053a05594 Use kernel specific max thread counts for helper kernel, not device specific 2018-02-13 10:02:00 +01:00
jsteube
fe4413797e OpenCL Kernels: Use three separate comparison kernels (depending on keyver) for WPA instead of one 2018-02-13 09:13:35 +01:00
Jens Steube
31da893a40 Enforce 2GB host memory per GPU limit 2018-02-12 15:29:08 +01:00
Jens Steube
c9f3ef6dae Fix final comparison in sort_by_dictstat() 2018-02-12 14:56:28 +01:00
jsteube
91e522d094 Add special marker for speed only mode 2018-02-12 09:41:46 +01:00
jsteube
240652a0ff Move speed timer initialization from run_cracker() to run_copy() 2018-02-11 22:28:17 +01:00
jsteube
c4f30220a0 OpenCL Kernels: Refactored kernel thread management from native to maximum per kernel 2018-02-11 21:29:57 +01:00
Jens Steube
d38608b9bc Add get_kernel_preferred_wgs_multiple() for future use 2018-02-11 16:22:24 +01:00
Jens Steube
1f442b5b0c Add get_kernel_local_mem_size() for future use 2018-02-11 16:09:50 +01:00
jsteube
ce8f445ebe Fix a few warnings and divide by zero (speed_pos) 2018-02-11 14:25:55 +01:00
Jens Steube
d656e9c3a4 OpenCL Kernels: Use the kernel local buffer size as additional reference in order to limit the thread-count 2018-02-11 10:56:08 +01:00
jsteube
a7a15df911 OpenCL Kernels: Improve performance preview accuracy in --benchmark, --speed-only and --progress-only mode 2018-02-10 20:44:13 +01:00
Jens Steube
fd89cac052 No longer need to warm-up OpenCL device for benchmark with new thread settings 2018-02-09 23:41:30 +01:00
Jens Steube
75c4d09301 CPU threads still work better on a single local work item 2018-02-09 23:40:52 +01:00
Jens Steube
fa379074b6 Fixed a logic error in storing temporary progress for slow hashes,leading to invalid speeds in status view 2018-02-09 18:30:53 +01:00
Jens Steube
b0ff625844 OpenCL Kernels: Thread-count is switched from native to maximum - as a consequence we assume host memory pool of 2GB per GPU 2018-02-09 16:42:28 +01:00
jsteube
088c45040b Remove some redundant constants 2018-02-09 10:48:19 +01:00
Jens Steube
9b1e66d87c Fixed a race condition in combinator- and hybrid-mode where the same scratch buffer was used by multiple threads 2018-02-09 09:50:13 +01:00
jsteube
05a01d3843 fix some datatypes 2018-02-08 19:13:29 +01:00
jsteube
98abea9a0f Fix one more technical teething trouble with compressor kernels 2018-02-08 15:41:19 +01:00
jsteube
3dcacb5f55 Fix hc_clEnqueueReadBuffer buffer size in gidd_to_pw_t() 2018-02-08 08:26:24 +01:00
jsteube
1c25cf5490 Fix compiler warning about rc variable which shadows a previous local 2018-02-07 22:32:01 +01:00
jsteube
bb401c9cec Fixed a missing check for returncode in case hashcat.hcstat2 was not found 2018-02-07 18:47:55 +01:00
jsteube
bd9c17e49a Add some missing function declarations 2018-02-06 13:06:10 +01:00
jsteube
e59d5fd25e sometimes device_global_mem and device_maxmem_alloc reportedback from the opencl runtime are a bit inaccurate.
let's add some extra space just to be sure.
2018-02-06 10:11:06 +01:00
jsteube
cdc4f3828b Reduce max kernel threads from 256 to 64 in -w 4 to save host and GPU memory 2018-02-06 09:38:54 +01:00
jsteube
a3a16f676f OpenCL Kernels: Add a decompressing kernel and a compressing host code in order to reduce PCIe transfer time
For details see https://hashcat.net/forum/thread-7267.html
2018-02-05 17:18:58 +01:00
jsteube
2f30e5e929 Fixed invalid support for SIMD in -m 400 2018-02-05 15:57:36 +01:00
Jens Steube
665a514977 Use a more conservative mechanic in the last step of the autotune 2018-02-03 19:01:11 +01:00
Jens Steube
fb00b528c4 Improve autotune and synchronize results on same OpenCL devices 2018-02-03 13:49:39 +01:00
Jens Steube
3d2c0018fc Limit the maximum OpenCL thread count to 256
If an OpenCL device allows a very high thread count (for example 1024 on nvidia), the host memory required is 32 times as high with 32 (It jumps from 128MB to 4GB device memory requirement). since there's no device with that much device memory (because of 1/4 memory rule) it has to limit the kernel_accel_max to be a very low number because the pws buffer will be so large otherwise. therefore autotune will be unable to calculate a good kernel_accel multiplier. currently there's no OpenCL device known that needs result in a better performance with 1024 threads compared to 256. as a result, we limit the number of threads to 256, which turns out to be a general good value.
2018-02-03 12:28:00 +01:00
jsteube
517062849e Save some space in speed display to avoid line breaks 2018-02-03 11:21:28 +01:00
jsteube
11b18512c7 Terminal: Add workitem settings to status display (can be handy for debugging) 2018-02-02 23:22:21 +01:00
jsteube
76a3e3f7af 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-01 16:57:59 +01:00
jsteube
3272e29497 Returncode: Enforce returncode 0 in case the user selected --speed-only or --progress-only and no other error occured 2018-02-01 11:18:40 +01:00
jsteube
a8ca6862bf OpenCL Runtime: Enforce to use OpenCL version 1.2 to restrain OpenCL runtimes to make use of the __generic address space qualifier 2018-02-01 10:48:24 +01:00
jsteube
019ed0de6e Fix double free 2018-01-31 20:24:57 +01:00
jsteube
dd97799e4c Hashcat Context: Fixed a memory leak in shutdown phase 2018-01-31 16:42:04 +01:00
jsteube
e2654efaa7 Hash Parser: Fixed a memory leak in shutdown phase 2018-01-31 16:40:48 +01:00
jsteube
9136d23f2a Use hcmalloc() instead of malloc() whenever possible 2018-01-31 16:40:01 +01:00
jsteube
c34670c567 OpenCL Devices: Fixed several memory leaks in shutdown phase 2018-01-31 16:38:55 +01:00
jsteube
6361ea823c Use hcmalloc() instead of malloc() whenever possible 2018-01-31 16:36:04 +01:00
jsteube
09261dad0e Prepare for v4.1.0 release 2018-01-30 11:24:21 +01:00
jsteube
2095e27d46 User Options: According to getopts manpage the last element of the option array has to be filled with zeros 2018-01-29 12:35:08 +01:00
jsteube
5b527f6aa6 Removed debugging code 2018-01-28 20:15:19 +01:00
jsteube
68b1ea4b68 OpenCL Runtime: Updated rocm detection 2018-01-28 20:14:25 +01:00
jsteube
9aa9725b91 Terminal: Display Set Cost/Rounds During Benchmarking 2018-01-28 13:53:31 +01:00
jsteube
e877c30ebc OpenCL Kernels: Remove password length restriction to 16 for Cisco-PIX and Cisco-ASA hashes
Fixes #1488
2018-01-27 22:21:44 +01:00
jsteube
ef3cdddb18 Enforce environment variables to be set in cygwin environment 2018-01-27 13:26:36 +01:00
jsteube
01a7476ff8 Link hashcat native binary with -lrt to workaround problems with clock_gettime() on libc versions < 2.17 2018-01-26 23:24:01 +01:00
jsteube
213de0ba43 Simplify production versioning and fix variable content if there's no git installed 2018-01-26 23:15:11 +01:00
jsteube
084eed0a0d Moved some gcc options around to different places in Makefile 2018-01-26 20:04:32 +01:00
TomasKorbar
8222b361f1 Modified makefile to add soname for libhashcat
closes #1496
2018-01-26 19:03:56 +01:00
jsteube
e21779112f Fix some tabs in Makefile 2018-01-26 16:29:03 +01:00
philsmd
caa5c052ec
Makefile: disallow running 'make install' on windows systems (including cygwin/msys etc) 2018-01-26 08:20:12 +01:00
philsmd
0b79d65682
Makefile: fixed whitespace by using spaces instead of tabs where possible 2018-01-26 07:58:45 +01:00
jsteube
553668bb9f Added hash-mode 16600 = Electrum Wallet (Salt-Type 1-3) 2018-01-25 15:28:21 +01:00
Jens Steube
7062425d2b OpenCL Kernels: Use a special kernel to initialize the password buffer used during autotune measurements to reduce startup time 2018-01-23 20:33:26 +01:00
jsteube
7a8239b4c1 Fixed the maximum password length check in password reassembling function
Fixes #1492
2018-01-22 18:59:46 +01:00
jsteube
ce0cee0ac4 Stick to original JWT format from jwt.io 2018-01-21 19:57:24 +01:00
jsteube
0796c074c3 Added -m 16500 Kernels
Also changed function declaration of parser function from const hashconfig_t to just hashconfig_t
2018-01-21 18:53:55 +01:00
jsteube
5eeefb5506 More prepare for JWT 2018-01-21 15:29:17 +01:00
Jens Steube
bb806d777e
Merge pull request #1493 from mohemiv/master
added -m 16400 = CRAM-MD5 Dovecot
2018-01-19 10:13:46 +01:00
jsteube
7c1fb0140c Files: Copy include/ folder and its content to case SHARED is set to 1 in Makefile 2018-01-18 12:09:51 +01:00
Arseniy Sharoglazov
928cf471fb The hash-mode for "CRAM-MD5 Dovecot" changed from 10201 to 16400 2018-01-17 11:25:21 +03:00
Jens Steube
17f6324886
Merge pull request #1480 from matrix/osx_clock_gettime
Osx clock gettime
2018-01-15 15:53:58 +01:00
Arseniy Sharoglazov
798f05355f added -m 10201 = CRAM-MD5 Dovecot 2018-01-15 15:52:52 +03:00
Gabriele Gristina
03fab4a345 Fix clock_gettime() on OSX (v2) 2018-01-11 02:41:16 +01:00
philsmd
fa679ce496
masks: skipping too large/small masks fixed 2018-01-03 14:46:49 +01:00
Gabriele Gristina
43ce4f6135 Add checks for clock_gettime() support in Makefile 2017-12-26 14:09:30 +01:00
Gabriele Gristina
4f8343b8b1 Fix clock_gettime() on OSX 2017-12-26 13:49:17 +01:00
philsmd
bf656774bb
fixes #1279: added -m 16300 = Ethereum Pre-Sale Wallet, PBKDF2-HMAC-SHA256 2017-12-20 11:41:46 +01:00
jsteube
838a71637a Remove fixed iteration count for apple secure notes 2017-12-17 23:29:02 +01:00
jsteube
77f7ea52a5 Fix missing defined keyword 2017-12-13 12:56:00 +01:00
jsteube
458fbcbce4 Merge branch 'master' of https://github.com/hashcat/hashcat 2017-12-13 12:40:31 +01:00
jsteube
535945b03a Fix rename $SN$ signature to $ASN$ for apple secure notes 2017-12-13 12:39:00 +01:00
jsteube
d9c5c42966 Rename $SN$ signature to $ASN$ for apple secure notes 2017-12-13 12:36:01 +01:00
jsteube
0d89ddfcd9 Finish adding hash-mode 16200 = Apple Secure Notes 2017-12-13 12:32:38 +01:00
jsteube
94bfd28c74 More preparations for hash-mode 16200 2017-12-13 10:39:39 +01:00
Rosen Penev
aece2cc4be Get rid of hc_ctime too. Also fix some cppcheck confusion with nvapi.
Missed from last pull request.
2017-12-11 13:44:58 -08:00
Jens Steube
c41af948ba
Merge pull request #1471 from neheb/32to64
remove special time handling in hashcat.
2017-12-11 16:27:00 +01:00
jsteube
bbe9b723e1 Timer: Switch from gettimeofday() to clock_gettime() to workaround problems on cygwin 2017-12-10 14:02:43 +01:00
Rosen Penev
1c5915cae3 remove special time handling in hashcat.
There's a way to get 64-bit time_t and 64-bit stat in MinGW, so use that.
2017-12-09 16:40:45 -08:00
jsteube
ea795ef5ab Move out code to check for hashfile or hash on commandline into dedicated function 2017-12-06 16:12:34 +01:00
Jens Steube
f2ce04e912 Allow relative use of -I in build_opts 2017-12-05 14:14:36 +01:00
jsteube
1184ae1cdd Added option --benchmark-all to benchmark all hash-modes not just the default selection 2017-12-05 11:08:59 +01:00
jsteube
f817652bbb Terminal: Send clear line code to the same output stream as the next message following 2017-12-04 14:51:42 +01:00
jsteube
4414b520c8 remove unused variables 2017-12-04 11:20:48 +01:00
jsteube
829ea605c5 Self Test: Skip self-test for mode 8900 user-configurable scrypt settings are incompatible to fixed settings in the self-test hash
Self Test: Skip self-test for mode 15700 because settings are too high and create a too long startup time
2017-12-04 11:14:39 +01:00
jsteube
f573c1d96d Add optimized -m 16100 kernels 2017-12-03 14:35:39 +01:00