1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-23 08:38:09 +00:00
Commit Graph

1268 Commits

Author SHA1 Message Date
jsteube
cefd2ddb94 Tune AMD unroll settings for AMD-GPU-PRO 17.40 2017-06-29 15:50:46 +02:00
jsteube
f7a8e7c54b Multiple changes:
* Added more preparations to support to crack passwords and salts up to length 256
* Added option --length-limit-disable to disable optimization based on password- and salt-length
* Added option --self-test-disable to disable self-test functionality on startup
2017-06-29 12:19:05 +02:00
jsteube
c918173fcf Get rid of comb_t which can be safely replace with pw_t now 2017-06-25 00:56:25 +02:00
jsteube
045ac7d8e7 Modify amp_a1 to work with password length 256 2017-06-25 00:42:53 +02:00
Jens Steube
c2a770631f Merge pull request #1284 from neheb/master
Fix signed overflow warnings
2017-06-24 10:51:42 +02:00
Rosen Penev
2f3171fd98
Fix signed overflow warnings 2017-06-23 21:44:50 -07:00
jsteube
c59432a760 Add hcstat2 support to enable masks of length up to 256, also adds a filetype header 2017-06-23 12:13:51 +02:00
jsteube
120cf1d1ba Removed some unused functions, added -m 500 kernel with length 256 support but not activated because too slow 2017-06-23 09:24:50 +02:00
jsteube
71d4926afa Converted -m 400 to password length 256 support
Something weird happend here, read on!

I've expected some performance drop because this algorithm is using the password data itself inside the iteration loop.
That is different to PBKDF2, which I've converted in mode 2100 before and which did not show any performance as expected.

So after I've finished converting this kernel and testing everything works using the unit test, I did some benchmarks to see how much the
performance drop is.

On my 750ti, the speed dropped (minimal) from 981kH/s -> 948kH/s, that's mostly because of the SIMD support i had to drop.
If I'd turn off the SIMD support in the original, the drop would be even less, that us 967kH/s -> 948kH/s which is a bit of a more reasable
comparison in case we just want to rate the drop that is actually caused by the code change itself.

The drop was acceptable for me, so I've decided to check on my GTX1080.Now the weird thing: The performance increased from 6619kH/s to
7134kH/s!!

When I gave it a second thought, it turned out that:

1. The GTX1080 is a scalar GPU so it wont suffer from the drop of the SIMD code as the 750ti did
2. There's a change in how the global data (password) is read into the registers, it reads only that amount of data it actually needs by using
the pw_len information
3. I've added a barrier for CLK_GLOBAL_MEM_FENCE as it turned out to increase the performance in the 750ti

Note that this kernel is now branched into password length < 40 and larger.

There's a large drop on performance where SIMD is really important, for example CPU.

We could workaround this issue by sticking to SIMD inside the length < 40 branch, but I don't know yet how this can be done efficiently.
2017-06-22 13:49:15 +02:00
Jens Steube
0787b91327 Merge branch 'master' of https://github.com/hashcat/hashcat 2017-06-22 10:50:20 +02:00
Jens Steube
45b14ebf1c While not required now, it's better to use scalar functions in amplifier kernel in case it get's changed in the future 2017-06-22 10:28:35 +02:00
jsteube
cea78024bf Fix -m 2100 cracking if (password length & 31) == 0 2017-06-21 16:21:12 +02:00
jsteube
ad242c2f12 Working example of generic salt up to length 256 for mode 2100 2017-06-20 17:17:13 +02:00
jsteube
2c92465036 Add HMAC functionality to inc_hash_md4.cl and make DCC2 use it, resulting in support for longer domain names 2017-06-19 16:42:21 +02:00
jsteube
4174f06008 PoC using a length-independant MD4 hash processing in -m 2100 2017-06-18 23:31:40 +02:00
jsteube
a673aee037 Very hot commit, continue reading here:
This is a test commit using buffers large enough to handle both passwords and salts up to length 256.
It requires changes to the kernel code, which is not included in here.
It also requires some of the host code to be modified. Before we're going to modify kernel code to support the larger lengths I want to be
sure of:
1. Host code modification is ok (no overflows or underflows)
2. Passwords and Salts are printed correctly to status, outfile, show, left, etc.
3. Performance does not change (or only very minimal)
This is not a patch that supports actual cracking both passwords and salts up to length 256, but it can not fail anyway.
If if it does, there's no reason to continue to add support for both passwords and salts up to length 256.
2017-06-17 17:57:30 +02:00
jsteube
c9caca2b0c Increase max password length for DCC2 to 32 2017-06-16 19:28:55 +02:00
Jens Steube
bd01228ad5 Get rid of reqd_work_group_size(), no longer needed 2017-06-16 13:33:00 +02:00
jsteube
8a3ed7fe75 Small WPA improvement, do not check the same candidate twice for LE and BE 2017-06-16 11:33:49 +02:00
jsteube
cf57365e7c Check hashes_shown[] whenever calling mark_hash directly.
Not really needed right now (because those algorithms to have a single digest per salt), but this can change in the future
2017-06-16 10:48:10 +02:00
jsteube
4b2d9f0f29 Fix for https://github.com/hashcat/hashcat/issues/1276 2017-06-16 10:26:15 +02:00
jsteube
e9c010115d Fix some spacing 2017-06-16 10:25:36 +02:00
Jens Steube
e87fb31d3f WPA cracking: Improved nonce-error-corrections mode to use a both positive and negative corrections 2017-06-12 09:59:15 +02:00
Jens Steube
7e5b8d3f25 Added hash-mode 15500 = JKS Java Key Store Private Keys (SHA1) 2017-06-09 09:56:06 +02:00
jsteube
b8ad89c529 Rename function and variables containing 'unicode' to 'utf16le' because that's what's meant actually 2017-06-05 12:15:28 +02:00
Royce Williams
3fc185a66b tidy changes.txt and name normalizations 2017-06-04 13:54:41 -08:00
Jens Steube
542f73eb17 Move luks_tmp_t to correct position in inc_types.h 2017-06-04 21:52:35 +02:00
Jens Steube
9a1951d61c synchronize host and opencl types 2017-06-04 21:51:19 +02:00
Jens Steube
ae5fdba20f Add make_unicode and undo_unicode BE version 2017-06-04 21:16:41 +02:00
Jens Steube
b23ab71d5c - Added hash-mode 15600 = Ethereum Wallet, PBKDF2-HMAC-SHA256
- Added hash-mode 15700 = Ethereum Wallet, PBKDF2-SCRYPT
Resolves https://github.com/hashcat/hashcat/issues/1227
Resolves https://github.com/hashcat/hashcat/issues/1228
2017-06-03 23:23:03 +02:00
DoZ10
6ced398c3c Addressed comments and added 15400 to benchmark.c and tab_completion 2017-05-17 07:35:56 -04:00
DoZ10
5683df2e17 Fixed conflicts 2017-05-16 20:36:55 -04:00
DoZ10
8b6120243d Applied performance changes and fixed multi-mode bad implementation 2017-05-16 19:59:46 -04:00
DoZ10
f31f057113 Fixed minor error in offset calculation. 2017-05-15 22:49:44 -04:00
DoZ10
8dfd1bf066 Final. Implemented offset parameter to reach next keystream in kernels. Tested all kernels with scalar and vector modes 2017-05-15 18:34:34 -04:00
DoZ10
cfc3fa64c0 Implemented offset parameter to reach full ks block of 64 bytes 2017-05-15 08:47:40 -04:00
Fist0urs
a78dce94db All remarks treated:
1) done + got rid of all u8 datatypes in shared struct
	2) cf. previous
	3) necessary as this is computed in _init then used in _comp
	4) done
	5) done
	6) done => switch to 16
	7) done
2017-05-14 19:45:35 +02:00
DoZ10
5ab5e6c7b6 Added salt section comment in kernels 2017-05-14 07:17:51 -04:00
DoZ10
9dee1d274d Removed plain_length parameter and copied esalt buffer to salt ofr sorting mechanism. 2017-05-14 07:14:57 -04:00
DoZ10
0d3b5393ef Swapped mode 670 -> 15400 2017-05-14 06:52:14 -04:00
Fist0urs
7ff09c6710 Preparing PR 2017-05-09 20:14:07 +02:00
DoZ10
c50e8bc486 Fixed position parameters. Tested all kernels. Ok. 2017-05-07 14:02:00 -04:00
DoZ10
2fd31ed89f Completed kernel a3 2017-05-06 21:18:15 -04:00
DoZ10
dd1deb8ed3 Completed kernel a1 2017-05-06 21:12:53 -04:00
DoZ10
8511d9f047 Completed kernel a0. 2017-05-06 21:03:14 -04:00
DoZ10
3c67e0054c Implemented Perl test and fixed issues. Now have a working base. 2017-05-06 20:40:10 -04:00
DoZ10
cd9dc989ce Implemented Chacha20 crypto. 2017-05-06 14:24:50 -04:00
Fist0urs
40bbb0023c Merge branch 'master' of https://github.com/hashcat/hashcat into DPAPImk 2017-05-06 17:00:17 +02:00
Fist0urs
d537712f27 Both DPAPImk v1 and v2 work for single hash, still a bug on multi-hash
Remaining this bug + tests.pl before PR
2017-05-06 16:55:36 +02:00
DoZ10
f6cd42352d CPU parsing mostly done. Kernel showing good values. 2017-05-05 09:02:18 -04:00
DoZ10
152f0b5152 Init work on Chacha20 2017-05-04 22:34:52 -04:00
Jens Steube
b924901bb0 Merge pull request #1226 from DoZ10/master
Blake2b raw hash implementation
2017-05-03 16:38:03 +02:00
Fist0urs
29d331ee17 hmac-sha1 + SID almost working, padding problem 2017-05-02 23:56:00 +02:00
DoZ10
dcd8306b6f Fixed naming convention for kernel blake2_t type 2017-05-01 20:12:20 -04:00
DoZ10
ee558c625d Copied esalt buffer into kernel in the outer loop 2017-05-01 17:28:10 -04:00
DoZ10
8aa389b286 Fixed coding style convention for for() loops 2017-05-01 16:47:54 -04:00
Fist0urs
014278ab0e Working:
- MD4/sha1
  - hmac-sha1
  - pbkdf2-hmac-sha1
  - pbkdf2-hmac-sha512
Remaining:
  - handling of long salt (SID)
  - (AES256/DES3) + the end
2017-05-01 22:21:54 +02:00
DoZ10
22b9f80531 Inserted blake2b_sigma into kernel for perf gain. Standardized naming convention to blake2b_transform() 2017-05-01 16:19:20 -04:00
DoZ10
f0f96140b2 Fixed Attack modes 1 & 3 2017-04-30 21:10:54 -04:00
DoZ10
87e0281237 Moved init params in CPU (interface.c). Fixed vector-type problem in kernel a0. 2017-04-30 20:34:01 -04:00
Fist0urs
73d48dcd26 Initial commit, new format DPAPImk, works till hmac-sha1 2017-05-01 00:48:09 +02:00
mhasbini
5734741392 Add support for rule: eX 2017-04-30 16:23:39 +03:00
DoZ10
e71c68e0af Fixed endianness to remove unecessary kernel swaps ops 2017-04-29 22:10:06 -04:00
Jens Steube
0fcf51dee3 Fixed a missing type specifier in a function declaration of the RACF kernel 2017-04-27 17:56:38 +02:00
DoZ10
c1f8204b06 Prepared transform routine 2017-04-27 01:26:23 -04:00
DoZ10
0e018c717d Unrolled for() loops and removed S & P structs 2017-04-26 21:17:29 -04:00
DoZ10
76e3c0618e Fixed for() loops coding style 2017-04-26 16:15:50 -04:00
DoZ10
903e716b9a Swapped to outlen and tested. Okay. Still having problems with VECT_SIZE > 1 2017-04-25 18:28:40 -04:00
DoZ10
58c1f46b19 Merge and conflict resolve. 2017-04-24 21:47:35 -04:00
DoZ10
10629190e3 Now compiles for test.sh -m 600 -a 0 -V1 and -V2, but does not resolve on V2. 2017-04-23 20:32:34 -04:00
DoZ10
de477580a0 Code Cleanup and short doc additions 2017-04-22 21:50:22 -04:00
DoZ10
1386d0eecc Added kernel m00600_a1.cl 2017-04-22 10:44:38 -04:00
DoZ10
bb61408e89 Added kernel m00600_a0 2017-04-22 09:51:39 -04:00
DoZ10
60afdc2a30 Added function m04 in attack mode 3 2017-04-22 08:32:05 -04:00
DoZ10
72724ccba4 Removed rotr64_w() function. 2017-04-21 21:08:54 -04:00
DoZ10
b61d74255b Removed load64() and load64_reverse() functions. 2017-04-21 20:52:34 -04:00
DoZ10
ad305308bb Remove useless loop. 2017-04-20 19:32:54 -04:00
DoZ10
5689892e46 Removed useless spaces. 2017-04-20 19:30:04 -04:00
DoZ10
976f50a56b Code cleanup. 2017-04-20 19:24:28 -04:00
DoZ10
3ce9597685 Renamed load64_inv -> load64_reverse 2017-04-20 19:21:47 -04:00
DoZ10
afdef5ce1c fix: Kernel m00600_a3.cl function s04. 2017-04-19 13:27:28 -04:00
Jens Steube
a93a143d1e Use scalar swap32() version for scalar variable 2017-04-17 17:46:27 +02:00
DoZ10
d455c18d4b saved. 2017-04-16 11:51:59 -04:00
DoZ10
c3b95db072 rm: cleanup files. 2017-04-16 11:33:13 -04:00
DoZ10
d5ca5d59db add: lots of things.... 2017-04-16 10:07:12 -04:00
DoZ10
69dad31a29 fix: changed -m 6200 -> 600 2017-04-13 20:45:48 -04:00
DoZ10
abb0f84985 fix: m number in cl file. 2017-04-13 17:37:17 -04:00
DoZ10
bf45f87d39 random work... 2017-04-13 17:06:48 -04:00
DoZ10
4e9bb8b093 init 2017-04-13 08:38:59 -04:00
jsteube
26949a4fce WPA cracking: Improved nonce-error-corrections mode to fix corrupt nonce generated on Big-Endian devices
WPA cracking: Reduced --nonce-error-corrections default from 16 to 8 to compensate speed drop caused due to Big-Endian fixes
Fixes https://github.com/hashcat/hashcat/issues/1221
2017-04-10 10:11:32 +02:00
jsteube
d1b2fa0b31 Added hash-mode 15100 = Juniper/NetBSD sha1crypt 2017-03-23 16:44:32 +01:00
jsteube
2bc65c2c4d A bit a different _comp kernel iteration for WPA which can have lots of handshakes 2017-03-10 19:54:00 +01:00
jsteube
bea0e52cdb Remove unused variable 2017-03-09 10:17:34 +01:00
jsteube
c04dd5c8b1 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-07 14:41:58 +01:00
jsteube
33a043ec63 Refactored internal use of esalt from sync with number of salts to sync with number of digests
This enables a true N esalts per salt feature which is required for WPA/WPA2 handling
In case we need that for a future algorithm, just make sure to have a unique value in digest in hash parser.
Fixes https://github.com/hashcat/hashcat/issues/1158
2017-03-07 09:44:58 +01:00
jsteube
89f8739dde Fixed overflow in bcrypt kernel in expand_key() function 2017-03-03 15:26:59 +01:00
philsmd
35c1f731b8
osx: some more volatile are required for luks/tc 2017-03-03 10:49:40 +01:00
philsmd
fbb1f92d2b
osx: -m 3200 = bcrypt needs a volatile variable 2017-03-02 22:24:12 +01:00
jsteube
72edd17481 Workaround -m 9100 to run on AMDGPU-Pro 2017-02-28 11:34:20 +01:00
jsteube
a5b8a91d58 Small -m 9100 cleanups 2017-02-28 11:13:57 +01:00
Jens Steube
e82ce9243d Added support for filtering hccapx message pairs using --hccapx-message-pair 2017-02-27 12:09:49 +01:00
Jens Steube
0fc949ef69 Fixed cracking of PeopleSoft Token if salt length + password length is >= 128 byte 2017-02-27 11:06:53 +01:00
jsteube
2ece9742e1 Compress multiple newlines to one 2017-02-26 15:42:56 +01:00
jsteube
d0fa9d059d Remove some unused macros 2017-02-26 15:34:45 +01:00
jsteube
22be61b20d Remove aligned __constant datatypes from OpenCL kernel function declarations 2017-02-26 15:16:36 +01:00
jsteube
6401c58568 Align all the __constant buffers to workaround OpenCL JIT compiler errors in NV drivers 378.x 2017-02-26 15:04:53 +01:00
jsteube
3fb433de60 Remove __constant from OpenCL kernel function declarations 2017-02-26 14:57:26 +01:00
jsteube
ecb851ecda Testwise workaround for -m 9100 on 378.x 2017-02-26 14:49:29 +01:00
jsteube
c094f3b511 Workaround added for NVidia OpenCL runtime: RACF kernel requires EBCDIC lookup to be done on shared memory 2017-02-25 17:36:29 +01:00
Jens Steube
2dd8018915 Fix -m 4520 for salt length exactly 15 2017-02-25 12:53:08 +01:00
jsteube
7aab78fb52 Fix broken SHA512 in LUKS due to union refactoring in tmps variable 2017-02-25 12:19:47 +01:00
jsteube
ba5fb80a38 Refactor kernel declarations for Skip32 to enable OSX using it 2017-02-23 15:18:41 +01:00
Jens Steube
4a3c90dd3c Fixes https://github.com/hashcat/hashcat/issues/1123 2017-02-22 20:53:14 +01:00
jsteube
9b08d4af0f Update hccapx format to version 4 2017-02-21 20:07:18 +01:00
Jens Steube
dd55c1eb66 WPA: Changed format for outfile and potfile from essid:mac1:mac2 to hash:mac_ap:mac_sta:essid
Fixes https://github.com/hashcat/hashcat/issues/1113
2017-02-19 14:45:27 +01:00
jsteube
bbb4c74e85 OpenCL Kernel: Remove "static" keyword from function declarations; Causes older Intel OpenCL runtimes to fail compiling 2017-02-17 10:11:05 +01:00
jsteube
63b7321be2 Fixed WPA/WPA2 cracking in case eapol frame is >= 248 byte 2017-02-13 18:31:15 +01:00
jsteube
366f5133ac Workaround added for AMDGPU-Pro OpenCL runtime: RAR3 kernel require a volatile variable to work correctly 2017-02-13 11:36:16 +01:00
philsmd
227c0be95e
resolves #1018: added -m 3910 = md5(md5($pass).md5($salt)) 2017-02-12 18:12:17 +01:00
jsteube
717da7f4f2 Added support for loading hccapx files 2017-02-06 17:03:42 +01:00
philsmd
c18c2950c9
mv switch_buffer_by_offset_8x4_le_S and switch_buffer_by_offset_8x4_le_VV () into inc_common.cl 2017-02-03 11:32:19 +01:00
philsmd
15a9644f2a
fixes #943: added -m 15000 = FileZilla Server >= 0.9.55 2017-02-03 00:07:31 +01:00
jsteube
c1d88f3234 Fix updated switch_buffer_* functions to run on AMD 2017-02-02 13:11:59 +01:00
philsmd
fe6309caa7
fixes #398: added -m 4110 md5($salt.md5($pass.$salt)) 2017-02-01 19:56:49 +01:00
philsmd
8e689058d0
#398: add -m 4010 = md5($salt.md5($salt.$pass)) 2017-02-01 16:56:14 +01:00
jsteube
16beac5b07 Fix kernel m04520_a3.cl 2017-01-31 12:04:36 +01:00
jsteube
fbae77b976 Fix kernel m04520_a1.cl 2017-01-31 11:54:57 +01:00
jsteube
b886dc3ede Fix kernel m04520_a0.cl 2017-01-31 11:54:20 +01:00
jsteube
e0c3f447da Added hash-mode 4520 = sha1($salt.sha1($pass))
Added hash-mode  4522 = PunBB
OpenCL Kernel: Renumbered hash-mode 7600 to 4521
The mode 4520 is the first to support salt length up to 64
2017-01-31 11:44:58 +01:00
philsmd
96e312ccb6
fixes #537: added -m 7000 = Fortigate (FortiOS) 2017-01-30 21:18:37 +01:00
Jens Steube
3baec81d90 Rewrite -m 13400 to work with SHM_TYPE instead of __local to workaround compiler error on Intel CPU 2017-01-30 13:03:56 +01:00
jsteube
1b8c2a29f1 Added hash-mode 14900 = Skip32 2017-01-29 16:43:08 +01:00
jsteube
dd263c1d20 Optimize luks_tmp_t type size 2017-01-29 10:39:45 +01:00
jsteube
dfba341ac5 Fix some CRLF in OpenCL kernels 2017-01-29 10:32:14 +01:00
jsteube
e0189cb741 Fix some compiler warnings for older compilers 2017-01-29 10:23:34 +01:00
jsteube
7c7e4605d4 Fix -m 13400 include filename changed during LUKS implementation 2017-01-27 20:59:15 +01:00
Jens Steube
07c89833c9 Added hash-mode 14800 = iTunes Backup >= 10.0 2017-01-26 21:16:29 +01:00
philsmd
9327475b41 added -m 14700 = iTunes Backup < 10.0 2017-01-25 19:07:07 +01:00
philsmd
6fe0173a79
#965: new hook function to support LZMA1/LZMA2 decompression for -m 11600 = 7-Zip 2017-01-24 10:28:35 +01:00
Jens Steube
5c5f8da9b1 Fixed DEScrypt cracking in BF mode in case the hashlist contains more than 16 times the same salt
Fixes https://github.com/hashcat/hashcat/issues/972
2017-01-23 13:40:16 +01:00
jsteube
8257883ec1 Added hash-mode 14600 = LUKS 2017-01-21 15:37:44 +01:00
jsteube
a1c13778c7 Workaround added for AMDGPU-Pro OpenCL runtime: AES encrypt and decrypt Invertkey function was calculated wrong in certain cases 2017-01-11 16:04:05 +01:00
Jens Steube
b0ff13b496 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-31 02:10:10 +01:00
jsteube
72af615e8b WPA cracking: Reuse PBKDF2 intermediate keys if duplicate essid is detected 2016-12-22 02:17:49 +01:00
Gabriele Gristina
37f562cabd Reorganized 'SHA-2' constants 2016-12-17 19:50:28 +01:00
Gabriele Gristina
496c749b2b Add missings requirements for SHA-224 support 2016-12-17 19:09:52 +01:00
Gabriele Gristina
8b0764bc4d Add support for SHA-224 2016-12-16 02:05:12 +01:00
jsteube
efff87b9d8 Fix some leftover spaces when experimenting with restrict keyword 2016-12-02 15:00:23 +01:00
jsteube
d3c10bdb35 Replaced SETSHIFTEDINT() with PUTCHAR() on AMD to workaround OpenCL runtime bug 2016-12-01 18:10:55 +01:00
jsteube
1eab457963 Workaround -m 7900 performance loss on AMD caused by CL1.2 2016-11-30 18:55:02 +01:00