1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-26 08:28:20 +00:00
Commit Graph

1932 Commits

Author SHA1 Message Date
jsteube
8fe0a36b30 OpenCL Runtime: Updated AMD ROCm driver version check, warn if version < 1.1 2017-07-06 21:54:28 +02:00
jsteube
a1e3b20902 Add ROCm to the list of supported AMD platforms 2017-07-06 19:11:56 +02:00
jsteube
17b003b355 Vectorized Lotus Notes/Domino 8 and added support for long passwords 2017-07-06 14:57:28 +02:00
jsteube
cbd37ab587 Update some more modes to already converted modes with long password support 2017-07-06 14:39:05 +02:00
jsteube
df3890b49d Added long passwords support for SCRYPT 2017-07-06 14:27:36 +02:00
jsteube
ccd85f345d Vectorized 1Password, cloudkeychain and added support for long passwords 2017-07-06 14:11:33 +02:00
jsteube
6cbd2acd24 Added long passwords support for Drupal7 2017-07-06 11:02:43 +02:00
jsteube
8abd7ae9d1 Fix some old GCC compiler warnings 2017-07-06 10:35:25 +02:00
jsteube
819b53eb1d Added long passwords support for sha256crypt $, SHA256 (Unix) 2017-07-05 13:43:14 +02:00
jsteube
7fec4f27d8 Vectorized OSX v10.8+ (PBKDF2-SHA512) and added support for long passwords 2017-07-05 13:01:55 +02:00
jsteube
195e3c744c Vectorized TrueCrypt PBKDF2-HMAC-Whirlpool and added support for long passwords 2017-07-05 10:08:47 +02:00
jsteube
f2067d6962 Vectorized TrueCrypt PBKDF2-HMAC-RipeMD160 and added support for long passwords 2017-07-04 18:51:02 +02:00
jsteube
55874ec853 Vectorized VeraCrypt PBKDF2-HMAC-SHA256 and added support for long passwords 2017-07-04 15:40:34 +02:00
jsteube
907b065e00 Vectorized TrueCrypt PBKDF2-HMAC-SHA512 and added support for long passwords 2017-07-04 12:19:40 +02:00
jsteube
5eb76ccdde Vectorized Password Safe v3 and added support for long passwords 2017-07-04 11:22:48 +02:00
jsteube
fc100a852b Added hash-mode 2501 = WPA/WPA2 PMK
Fixes https://github.com/hashcat/hashcat/issues/1287
Limited hash-mode 2500 to max length 63
Fixes https://github.com/hashcat/hashcat/issues/1286
2017-07-03 16:11:57 +02:00
jsteube
1dfdefae69 Vectorized LastPass + LastPass sniffed kernel and added support for long passwords 2017-07-03 13:14:55 +02:00
jsteube
c3f0bb77dd Vectorized AIX {ssha1} kernel and added support for long passwords 2017-07-03 13:06:59 +02:00
jsteube
2e78cf1d58 Vectorized 1Password, agilekeychain kernel and added support for long passwords 2017-07-03 13:00:42 +02:00
jsteube
a8a1fe1b4f Vectorized AIX {ssha512} kernel and added support for long passwords 2017-07-03 12:44:03 +02:00
jsteube
113b8f672f Comment some pw_min and pw_max ranges for better overview 2017-07-03 12:14:15 +02:00
jsteube
bb1341015f Vectorized AIX {ssha256} kernel and added support for long passwords 2017-07-03 12:08:45 +02:00
jsteube
ccc9e46508 Vectorized Android FDE <= 4.3 kernel and added support for passwords up to length 256 2017-07-03 11:29:32 +02:00
jsteube
b149b87014 Update converted modules in interface.c 2017-07-01 14:50:39 +02:00
jsteube
52c1e15f3f Move kernel-code for -L to standalone files with -pure suffix 2017-07-01 13:02:07 +02:00
jsteube
194af74e91 Add support for maximum bcrypt password length 2017-07-01 11:04:59 +02:00
jsteube
c3f374c733 Fix some maximum password length handling with --length-limit-disable feature 2017-06-30 17:28:19 +02:00
jsteube
f97c0d38d7 Allow using -L with -a 7 (other modes need no modification) for fast hashes 2017-06-30 16:51:57 +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
6fb79b726c Respect the use of OPTI_TYPE_PRECOMPUTE_MERKLE in interface.c parser 2017-06-28 13:46:03 +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
297a64de8b Fix fread() on windows when loading the LZMA hcstat 2017-06-24 11:00:43 +02:00
jsteube
83d5302256 Fix install makefile target for use with hashcat.hcstat2 2017-06-24 10:50:39 +02:00
jsteube
7ca8ca241b Use hc_lzma2_decompress() instead of Lzma2Decode() directly 2017-06-23 14:50:44 +02:00
jsteube
a993395f28 Add code to read LZMA compressed hashcat.hcstat2 2017-06-23 14:43:43 +02: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
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
8d93b160c4 Combinator mode for slow hashes wasn't set since self-test functionality was added 2017-06-22 10:49:57 +02:00
jsteube
83455817a7 Working example of password up to length 256 for mode 2100 2017-06-20 17:30:07 +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
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
7905d79a28 Limit -m 2100 password length to 27 because if utf16 2017-06-16 23:17:56 +02:00
jsteube
c9caca2b0c Increase max password length for DCC2 to 32 2017-06-16 19:28:55 +02:00
jsteube
2c95be5c87 Do not modify a specific thread count if a kernel forces it to run on a specific thread count 2017-06-16 14:02:15 +02:00
Jens Steube
1ef4abae70 Set self-test kernel-thread always to 1 except it's a bitsliced algorithm in BF, this helps algorithms that set a fixed thread count on kernel function declaration 2017-06-16 13:28:56 +02:00
jsteube
d7e66996c9 Add support for self-test modes that use a binary hashfile (wpa, tc, vc, etc) 2017-06-14 14:05:50 +02:00
jsteube
94a35ae50a Add support for hooks in selftest function 2017-06-14 12:07:33 +02:00
Jens Steube
08fc0ec1fb Added self-test funcionality for OpenCL kernels on startup
Fixed a parser error for mode -m 9820 = MS Office <= 2003 $3, SHA1 + RC4, collider #2
2017-06-13 19:07:08 +02:00
jsteube
9a8f4036ec Set github master back into development mode 2017-06-10 13:02:20 +02:00
Jens Steube
acd93cf780 Mark release for production 2017-06-09 17:37:01 +02:00
Jens Steube
5be3840d9a Add some hint for the user to a scrypt error message 2017-06-09 10:20:05 +02:00
Jens Steube
7e5b8d3f25 Added hash-mode 15500 = JKS Java Key Store Private Keys (SHA1) 2017-06-09 09:56:06 +02:00
Jens Steube
9d49ae547b Merge pull request #1271 from DoZ10/chacha20
Chacha20: Fixed error in format parser separator validation
2017-06-08 19:15:25 +02:00
DoZ10
e6c549e4a0 Complied with other parsers coding style 2017-06-07 08:28:13 -04:00
DoZ10
531473cc72 Fix. Added undef INVALID_SEPARATOR_POINTER 2017-06-06 13:29:50 -04:00
DoZ10
990a72affe Fixed error in separator check 2017-06-06 13:26:10 -04:00
Royce Williams
b9d68d2377 $chacha20$ (all lower case) per @magnumripper 2017-06-06 04:51:32 -08:00
Chick3nman
e7c36bc97f Cosmetic change
Fixed column spacing for modes 9810/9820
2017-06-06 03:21:31 -05:00
Chick3nman
6a38f3c477 Fixed mode 9810/9820 labeling
Removed $4 from label to avoid confusion.
2017-06-06 03:16:29 -05:00
Chick3nman
a973d4b94b Fixed mode 9810/9820 labeling
Removed $4 from label to avoid confusion.
2017-06-06 03:09:50 -05: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
jsteube
018bb208d9 Refactor OPTS_TYPE_PT_UNICODE -> OPTS_TYPE_PT_UNICODE_LE and add OPTS_TYPE_PT_UNICODE_BE 2017-06-04 22:46:05 +02:00
Jens Steube
3d888b6b2d it's possible to crack scrypt on GPU even with higher scrypt setting
the trick is to intentionally under-utilize the GPU warps
120H/s on my 4*1080: https://pastebin.com/z124G2cN
2017-06-04 15:49:09 +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
Jens Steube
ab2610d9df Also add reduced startup time for GPU for scrypt 2017-06-03 19:36:19 +02:00
Jens Steube
872f2b4f8b Improve scrypt cracking speed on CPU by 20%, preparation for Ethereum KDF 2017-06-03 19:19:03 +02:00
jsteube
b5f149476d Trim OpenCL device name whitespaces 2017-06-02 10:08:19 +02:00
magnum
291c9f22fe Mute gcc 7.1.1 warnings about intentional fall-throughs. See #1264. 2017-06-01 00:03:26 +02:00
Christopher Schmitt
4c45939aa7 opencl_ctx_devices_destroy should be before opencl_ctx_destroy 2017-05-30 12:19:43 -04:00
jsteube
23b5e7f10e Fix compiler warnings for 32 bit windows by changing datatype for parameter 1 for gmtime_r() 2017-05-30 15:03:43 +02:00
jsteube
0cce17d268 Eventual fix for #1263 2017-05-30 12:15:55 +02:00
jsteube
ef33544bfa Show time spent for dictionary cache building on startup 2017-05-23 10:07:04 +02:00
Jens Steube
5611d7f950 Merge pull request #1256 from 0xbsec/reject_unless_equal
Add support for rejection rule _N
2017-05-20 11:24:38 +02:00
Fist0urs
f8c3fecec3 interface.c: dpapimk_parse_hash, fix signed/unsigned comparison 2017-05-19 14:49:42 +02:00
mhasbini
1330424079 Add support for rejection rule _N 2017-05-19 15:13:07 +03:00
Christopher Schmitt
efd18121d5 Review/Style Changes 2017-05-19 08:09:14 -04:00
Christopher Schmitt
b5f5591b1a main_monitor_status_refresh shouldnt call status_display if status_ctx is not accessible 2017-05-18 10:36:14 -04:00
Christopher Schmitt
d24a6198e8 first pass at free'ing hashcat_status_t 2017-05-18 10:14:25 -04:00
Jens Steube
f2ad095191 Merge pull request #1237 from DoZ10/master
New algorithm: Chacha20
2017-05-18 13:51:47 +02:00
philsmd
af3619f3c5
-m 11600 = 7zip: do not allow truncated hashes anymore, but increase supported data length to ~320KB 2017-05-17 15:07:16 +02:00
philsmd
aa14b4ec9e
for -m 11600 = 7zip we need to remove special case, since the padding attack is now gone 2017-05-17 14:15:13 +02:00
philsmd
1f93d2060f
fixes #1239: remove AES padding attack for 7zip since we can't guarantee that the padding is always zero 2017-05-17 13:53:55 +02:00
DoZ10
6ced398c3c Addressed comments and added 15400 to benchmark.c and tab_completion 2017-05-17 07:35:56 -04:00
jsteube
7bd391df71 Fixed a condition that caused a hybrid attack using a maskfile to not select all wordlists from a wordlist folder
Fixes https://github.com/hashcat/hashcat/issues/1244
2017-05-17 12:33:46 +02:00
jsteube
bb2118a290 Workaround added for NVidia NVML library: If libnvidia-ml.so couldn't be load try again using libnvidia-ml.so.1 2017-05-17 11:21:06 +02:00
Jens Steube
974128bdce Merge pull request #1245 from 0xbsec/rule-position-p
Add support for rule position 'p'
2017-05-17 10:55:08 +02: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
Jens Steube
2eabc360d7 Merge pull request #1238 from Fist0urs/DPAPImk
Add new format -m 15300 Dpapi master key file version 1 and version 2
2017-05-16 11:00:38 +02:00
DoZ10
264ec951c2 Enhanced test.pl for 15400 and removed endianess confusion 2017-05-15 19:21:49 -04:00
DoZ10
6af53218d4 Cleanup 2017-05-15 18:37:39 -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
mhasbini
be0dec621a Add support for rule position 'p' in host mode 2017-05-14 18:50:45 +03:00
DoZ10
f0842f6d17 Implemented size and hex checks in interface.c 2017-05-14 07:32:33 -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
Royce Williams
b4264c7d0a minor grammar when restore value is greater than keyspace 2017-05-11 06:02:33 -08:00
DoZ10
9c311091d0 Fixed pw_max to 32 2017-05-09 21:31:07 -04:00
Fist0urs
7ff09c6710 Preparing PR 2017-05-09 20:14:07 +02:00
DoZ10
a208007d9d Removed forgotten comment. 2017-05-08 20:04:58 -04:00
DoZ10
83bb3dc06a Undo test. 2017-05-07 14:23:45 -04:00
DoZ10
c50e8bc486 Fixed position parameters. Tested all kernels. Ok. 2017-05-07 14:02:00 -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
fb86f89f63 Fixed print output endianess in interface.c 2017-05-05 09:23:14 -04: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
31fbe481fa Fixed final details 2017-05-02 07:17:29 -04:00
DoZ10
86de556446 Removed cpu_blake.c since not used for now 2017-05-01 20:05:03 -04:00
DoZ10
9d0855c02f Fixed interface.c to remove XORing madness and blake2_t naming convention 2017-05-01 16:38:48 -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
98b9e38d54 Fix for app compilation error on mingw 2017-04-30 21:31:51 -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
DoZ10
58c1f46b19 Merge and conflict resolve. 2017-04-24 21:47:35 -04:00
DoZ10
e23f88fec8 Fixed Test files to match output. $Blake2$ Tag added to interface hash output 2017-04-23 10:28:58 -04:00
DoZ10
de477580a0 Code Cleanup and short doc additions 2017-04-22 21:50:22 -04:00
DoZ10
a60cddc2cc Added Blake2 signature according for JtR format. 2017-04-22 07:35:22 -04:00
DoZ10
f56ffdc32f Removed OPTS_TYPE_ST_ADDBITS15 2017-04-20 19:17:36 -04:00
DoZ10
3cc681989c fix: changed salt configuration. 2017-04-20 19:09:03 -04:00
DoZ10
afdef5ce1c fix: Kernel m00600_a3.cl function s04. 2017-04-19 13:27:28 -04:00
Jens Steube
086a07264a Switch from libiconv to win-iconv 2017-04-19 12:58:25 +02:00
Jens Steube
79609e8a54 Building: On binary release package, link libiconv static for windows binaries 2017-04-19 10:51:28 +02:00
DoZ10
c2af1e7c5c undo: debug 2017-04-16 11:55:21 -04:00
DoZ10
c0cedbf15f add: now target hash is okay. 2017-04-16 11:28:06 -04:00
DoZ10
d5ca5d59db add: lots of things.... 2017-04-16 10:07:12 -04:00
Jens Steube
26a345334f Added hash-mode 15200 = Blockchain, My Wallet, V2
Fixes https://github.com/hashcat/hashcat/issues/109
2017-04-16 13:19:23 +02:00
Jens Steube
e3cef832be Use the ROUNDS_MYWALLET instead of a hard-coded value 2017-04-16 12:47:14 +02:00
Pierre-Antoine Haidar-Bachminska
4e30ec5489 Fix compilation error on macOs (missing iconv linking) 2017-04-14 18:54:34 +02:00
Royce Williams
54aaa1597e fix usage for encoding-to 2017-04-14 06:41:32 -08:00
Jens Steube
7cabb848d2 Wordlist encoding: Support added for internal convert from and to user-defined encoding during runtime
Wordlist encoding: Added parameters --encoding-from and --encoding-to to configure wordlist encoding handling
Dictstat: Structure for dictstat file changed as it has to include --encoding-from and --encoding-to parameter now
2017-04-14 16:36:28 +02:00
DoZ10
69dad31a29 fix: changed -m 6200 -> 600 2017-04-13 20:45:48 -04:00
DoZ10
25e061ce1c fix: syntax bug.. 2017-04-13 20:26:21 -04:00
DoZ10
0a8f17c24a fix: g madness... 2017-04-13 17:33:08 -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
Jens Steube
fab4ede364 Merge pull request #1223 from stephengroat/patch-1
fix strings
2017-04-11 14:41:37 +02:00
jsteube
318ba234f8 OpenCL Runtime: Updated AMDGPU-Pro driver version check, do warn if version 17.10 is detected which is known to be broken 2017-04-11 13:33:25 +02:00
sgroat
21efc80975 fix string 2017-04-10 13:35:01 -07:00