jsteube
332396a003
Fix SCRYPT on ROCm
2017-07-28 02:28:52 +02:00
jsteube
a0b30dc9a3
Forcing OpenCL 1.2 no longer needed; all OpenCL runtimes updated
2017-07-28 01:33:29 +02:00
jsteube
33804110d1
Update default environment variables
2017-07-28 00:38:17 +02:00
jsteube
f6f22f6616
Use a different cache hash for amp and mp kernel
2017-07-23 13:55:25 +02:00
jsteube
b847bbb274
Fix calculation of device_name_chksum; should be done for each iteration
2017-07-22 18:46:12 +02:00
Royce Williams
471ba4075d
make display of active options in benchmark match actual usage
2017-07-20 06:09:45 -08:00
Royce Williams
434af9fe6a
visual indicator of options active when benchmarking
2017-07-20 05:58:42 -08:00
jsteube
03bb234045
Preparation for WPA/WPA2 AES-CMAC: works till PMK
2017-07-20 12:46:18 +02:00
Royce Williams
d1fef8f74a
tighten to under 80 columns, and minor grammar
2017-07-19 06:08:37 -08:00
jsteube
80c5150292
Change the benchmarking info text on -O and disable it if -w is already set
2017-07-19 15:33:19 +02:00
jsteube
be4076cba6
Multiply SPEED in machine-readable status output with 1000, making it more accurate if performance is < 1H/ms
2017-07-19 14:53:43 +02:00
jsteube
10d9918bb1
Remove password minimum length for -m 112 and -m 3100
2017-07-19 12:35:54 +02:00
jsteube
9e61928416
Fix some copy/paste error
2017-07-19 10:53:02 +02:00
Royce Williams
96fde7471b
Note that -b implies -O and how to override
2017-07-18 16:20:41 -08:00
jsteube
4bcd10cf46
Update --help menu; Explain -O option and drop -L option
2017-07-18 20:47:26 +02:00
jsteube
08a3fc2bb3
Enable automatic fallback to optimized kernel if pure kernel is not found
2017-07-18 20:32:56 +02:00
jsteube
beb6ee2061
Add OPTI_TYPE_OPTIMIZED_KERNEL
...
Rename unconverted fast hash kernels to optimized kernels
Finalize some converted fast hashes to default kernels
2017-07-18 14:45:15 +02:00
jsteube
fbea72ebd6
Renamed default kernels to optimized kernels
...
Renamed pure kernels to default kernels
Replaced long option --length-limit-disable with --optimized-kernel-enable
Replaced short option -L with -O
Set --optimized-kernel-enable to unset by default
2017-07-18 13:23:42 +02:00
jsteube
f87ac21065
Some small corrections on salt length for MD5-ASA
2017-07-17 20:25:08 +02:00
jsteube
945cf9be2f
md5($salt.$pass.$salt)
2017-07-17 17:24:32 +02:00
jsteube
9d92100a57
Move no-rules check to interface.c so that interface.c is the only source where pw_min and pw_max are set
2017-07-17 15:27:03 +02:00
jsteube
79bb69bcd4
Assign more official pw_min and pw_max values to related modes
2017-07-17 15:00:28 +02:00
jsteube
14fb0d5a17
Assign more official pw_min and pw_max values to related modes
2017-07-17 14:46:26 +02:00
jsteube
7e95700cd4
Assign more official pw_min and pw_max values to related modes
2017-07-17 14:33:51 +02:00
jsteube
2047625899
Update pw_min, pw_max, salt_min and salt_max switch cases to current development status
2017-07-17 13:48:33 +02:00
jsteube
1cd0212f73
Fix Cisco-PIX and Cisco-ASA pw_max as they limit themself to 16
2017-07-17 08:50:09 +02:00
jsteube
67de882790
Allow weak-hash-check support in -L mode
2017-07-16 16:13:45 +02:00
jsteube
0e7bb074e6
Allow some oversized salt-length with dedicated kernels
2017-07-15 18:05:25 +02:00
jsteube
967d7b9323
Rename SALT_TYPE_INTERN to SALT_TYPE_GENERIC
2017-07-14 14:57:31 +02:00
jsteube
8e3153549f
Fix invalid use of SALT_MAX_OLD
2017-07-14 14:41:23 +02:00
Jens Steube
4833d6c4d7
Fix Makefile and test.sh script
2017-07-14 14:18:59 +02:00
jsteube
c4098e2230
Fix invalid use of a non-vector function from within a vector function
2017-07-14 14:16:48 +02:00
jsteube
f70da8a04c
Increase salt length for salt of generic hash types
...
Remove --hex-salt support for non-generic hash types
2017-07-13 11:03:57 +02:00
jsteube
54b7505473
Add host modifications for -a 0 in combination with -L and modify an example kernel
2017-07-12 13:00:04 +02:00
Jens Steube
04bb6a46ef
There's a problem with Intels OpenCL runtime. The JiT hangs while trying to compile, for example mode 1700 in -L mode.
...
Disabling the OpenCL optimization using -cl-opt-disable helped.
While doing so, it turned out that there's many algorithms that _benefit_ from disabling the compiler optimizations.
Other are not.
Full list: https://docs.google.com/spreadsheets/d/1w0wZtHsP8ql4JLDRnm3zqi8JyMSBk9zzpXXjQz84Fwc/edit?usp=sharing
2017-07-11 17:15:16 +02:00
jsteube
2c79d26778
Add -m 10700 pure kernel for -L support
2017-07-11 10:43:18 +02:00
jsteube
8a6e3a5275
Add support in HMAC for passwords larger than block size of the underlaying hash
2017-07-10 11:15:15 +02:00
jsteube
f619811b70
Remove PBKDF2-HMAC-MD5 includes password length limit
2017-07-09 23:53:53 +02:00
jsteube
97020f6521
Vectorized Ethereum Wallet + SCRYPT and added support for long passwords
2017-07-09 23:32:44 +02:00
jsteube
a91d048c04
Vectorized Ethereum Wallet, PBKDF2-HMAC-SHA256 and added support for long passwords
2017-07-09 23:10:28 +02:00
jsteube
25fba33901
Vectorized DPAPI masterkey file v1 and v2 and added support for long passwords
2017-07-09 23:05:14 +02:00
Jens Steube
ec7b416baf
Merge pull request #1291 from ZerBea/master
...
removed message-pair-check - no longer needed
2017-07-09 20:02:09 +02:00
jsteube
32329cf3f4
Vectorized Juniper/NetBSD sha1crypt and added support for long passwords
2017-07-09 20:01:45 +02:00
ZerBea
a6a732704f
removed message-pair-check - no longer needed
2017-07-09 19:54:08 +02:00
jsteube
de9d026bb0
Vectorized iTunes backup < 10.0 and added support for long passwords
2017-07-09 19:37:36 +02:00
jsteube
8f73d356f2
Vectorized LUKS and added support for long passwords
2017-07-09 19:24:34 +02:00
jsteube
1049fa386a
Add OPTI_TYPE_SLOW_HASH_SIMD_LOOP in interface.c where it was missing
2017-07-09 18:01:55 +02:00
jsteube
709cfa2e91
Added long passwords support for KeePass 1 (AES/Twofish) and KeePass 2 (AES)
2017-07-09 15:12:11 +02:00
jsteube
837b5a31d1
Added long passwords support for AxCrypt
2017-07-09 00:13:00 +02:00
jsteube
fc32b24236
Vectorized RAR5 and added support for long passwords
2017-07-08 23:55:56 +02:00
jsteube
933fa47d21
Vectorized Android FDE (Samsung DEK) and added support for long passwords
2017-07-08 21:56:36 +02:00
jsteube
edf904f309
Vectorized MS-AzureSync PBKDF2-HMAC-SHA256 and added support for long passwords
2017-07-08 21:39:15 +02:00
jsteube
af46a1560b
Vectorized Blockchain, My Wallet and added support for long passwords
2017-07-07 23:32:41 +02:00
jsteube
a1321d2d64
Added long passwords support for BSDi Crypt, Extended DES
2017-07-07 22:16:42 +02:00
jsteube
02ce227ff1
Vectorized Oracle T: Type (Oracle 12+) and added support for long passwords
2017-07-07 22:09:51 +02:00
jsteube
6e57aa1c0f
Vectorized eCryptfs and added support for long passwords
2017-07-07 21:46:41 +02:00
jsteube
eda88e6c84
Vectorized PBKDF2-HMAC-MD5 and added support for long passwords
2017-07-07 16:58:28 +02:00
jsteube
d3e6ae42f0
Added long passwords support for 7-Zip
2017-07-07 16:48:18 +02:00
jsteube
27a57383f0
Vectorized Password Safe v3 and added support for long passwords
2017-07-07 16:02:49 +02:00
jsteube
5de48182b4
Fixed max password length limit in mode 10500
2017-07-07 12:33:06 +02:00
jsteube
bedc481390
Added long passwords support for SAP CODVN H (PWDSALTEDHASH) iSSHA-1
2017-07-07 12:14:06 +02:00
jsteube
8916de538a
Vectorized MS Office 2013 and added support for long passwords
2017-07-07 10:38:05 +02:00
jsteube
51470b2b04
Vectorized MS Office 2010 and added support for long passwords
2017-07-07 10:03:59 +02:00
jsteube
99f58f90a4
Fix some compiler warning on unused variables
2017-07-07 00:30:42 +02:00
jsteube
94b565262a
Merge branch 'master' of https://github.com/hashcat/hashcat
2017-07-07 00:29:11 +02:00
jsteube
61f39b37d2
Vectorized MS Office 2007 and added support for long passwords
2017-07-07 00:29:05 +02:00
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