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

1747 Commits

Author SHA1 Message Date
Fist0urs
afb010870a Add hash modes 19600 (krb5tgs enctype 17) and 19700 (krb5tgs enctype 18) 2019-03-13 17:20:04 +01:00
jsteube
26d7602bbd No longer need reqd_work_group_size() in OpenCL kernels since modules taken care of this using threads_min and threads_max 2019-03-10 12:13:14 +01:00
jsteube
85452e12be Fix inc_cipher_des.cl for vector use 2019-03-10 11:07:52 +01:00
jsteube
84d6b8ecc1 Add function prototypes in OpenCL kernels to make some compilers happy 2019-03-09 09:05:44 +01:00
jsteube
ce32d57f9b Make use of inc_cipher_des.cl in -m 3100 2019-03-09 08:43:07 +01:00
jsteube
27610008cb Testwise disable aligned constants 2019-03-09 08:11:29 +01:00
jsteube
aeb570ca8b Add inc_cipher_des.cl and make use of SHM_TYPE 2019-03-09 08:07:50 +01:00
jsteube
8c47a947a1 Fix some includes in -m 14600 2019-03-08 15:39:32 +01:00
Jens Steube
bc8ffadccc Remove more occurances of netntlm_t in Whirlpool kernel 2019-03-08 15:26:50 +01:00
Jens Steube
07b8cafcad Fix datatypes in -m 14600 2019-03-08 13:53:34 +01:00
Jens Steube
d64529ed47 Fix kernel header in -m 14900 2019-03-08 13:41:20 +01:00
Jens Steube
fda04609cd Fix datatypes in -m 14600 2019-03-08 13:37:13 +01:00
Jens Steube
898000b7aa Fix datatypes in -m 12400 2019-03-08 13:17:07 +01:00
Jens Steube
09b8bfc3a5 Fix datatypes in -m 10700 2019-03-08 13:13:01 +01:00
Jens Steube
7932d8c91f Fix datatypes in -m 64xx and -m 137xx 2019-03-08 13:10:58 +01:00
Jens Steube
34850df1c0 Fix datatypes in -m 2501 and -m 16801 2019-03-08 13:05:23 +01:00
Jens Steube
74abff44d9 Move remaining module specific typedefs and structures from inc_types.cl to kernels 2019-03-08 12:50:31 +01:00
Jens Steube
30681e5151 Move remaining module specific typedefs and structures from inc_types.cl to kernels 2019-03-08 11:14:33 +01:00
Jens Steube
4bce25dd9d Move remaining module specific typedefs and structures from inc_types.cl to kernels 2019-03-08 10:18:20 +01:00
Jens Steube
cace799187 Move more no unrolling exceptions from inc_vendor.cl to specific modules 2019-03-07 18:57:04 +00:00
Sein Coray
ee97d18af9
Added hash mode 19500 2019-03-06 21:15:09 +01:00
Sein Coray
deacf3a2b9
fix constant name for sha224 2019-03-06 00:13:10 +01:00
jsteube
eb07d2108c Fixed cracking of NetNTLMv1 passwords in mask-attack mode if mask > length 16 (optimized kernels only) 2019-03-05 05:14:34 +01:00
jsteube
8d6a69b2a9 Fix salt array for -m 19300 in -a 3 mode if SIMD is used 2019-03-04 13:31:49 +01:00
jsteube
a9bafb7edb Add more valid plaintext pattern for -m 12700/15200 2019-03-04 09:28:57 +01:00
jsteube
dc9279c95c New Strategy: Instead of using volatile, mark the mode as unstable. Remove all volatiles 2019-03-03 19:18:56 +01:00
jsteube
7c1120b784 Migrate unroll handling for -m 15900 from OpenCL/inc_vendor.cl to module_jit_build_options() 2019-03-03 13:44:25 +01:00
jsteube
ed7765d8fd Manually unroll aes128_InvertKey and aes256_InvertKey to workaround some JiT compiler errors 2019-03-03 13:39:52 +01:00
jsteube
0fce6b663b Testwise remove all hardcoded volatiles from cipher includes 2019-03-03 12:12:01 +01:00
jsteube
1714382daa Migrate unroll handling for -m 14100 from OpenCL/inc_vendor.cl to module_jit_build_options() 2019-03-03 11:55:42 +01:00
jsteube
b0a83b28d1 Migrate unroll handling for -m 12300 from OpenCL/inc_vendor.cl to module_jit_build_options() 2019-03-03 11:47:33 +01:00
jsteube
1937b67595 Migrate unroll handling for -m 8200 from OpenCL/inc_vendor.cl to module_jit_build_options() 2019-03-03 11:43:47 +01:00
jsteube
fee37ac4c3 Migrate unroll handling for -m 8000 from OpenCL/inc_vendor.cl to module_jit_build_options() 2019-03-03 11:39:18 +01:00
jsteube
f92ebc6586 Fix -m 15200 and -m 12700 search string in kernel 2019-03-03 08:47:58 +01:00
jsteube
0b1169e523 My Wallet: Added additional plaintext pattern used in newer versions 2019-03-02 21:58:50 +01:00
jsteube
93760dab34 Fix -m 8100 in pure kernel mode for password length 256 2019-03-02 17:33:22 +01:00
jsteube
88a051629c Support module specific JiT compiler build options 2019-03-02 11:12:13 +01:00
jsteube
a5743c5572 Fix invalid kernel declaration in optimized Whirlpool kernel 2019-03-01 21:45:25 +01:00
jsteube
4359418918 OpenCL Runtime: Not using amd_bytealign (amd_bitalign is fine) on AMDGPU driver drastically reduces JiT segfaults 2019-03-01 15:34:49 +01:00
jsteube
e1fe3e755b Optimize some switch_buffer_* functions for generic OpenCL devices (CPU, various OSX, ...) 2019-03-01 14:49:00 +01:00
jsteube
23917455ef Added hash-mode 19300 sha1(..) 2019-02-28 20:00:52 +01:00
jsteube
87c24200da Added QNX /etc/shadow hash cracking support
- Added hash-mode 19000 QNX /etc/shadow (MD5)
- Added hash-mode 19100 QNX /etc/shadow (SHA256)
- Added hash-mode 19200 QNX /etc/shadow (SHA512)
Implements #35
2019-02-27 17:53:00 +01:00
jsteube
5da1e4b872 Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
jsteube
b1a056f1b0 Add hc_lop_0x96 as template for eventual later use 2019-02-24 17:20:09 +01:00
jsteube
540b405e3a Replace IS_ROCM with HAS_VPERM and HAS_VADD3 2019-02-24 10:12:48 +01:00
jsteube
2c0c82c8af OpenCL Runtime: Workaround JiT compiler error on AMDGPU driver compiling WPA-EAPOL-PBKDF2 OpenCL kernel 2019-02-24 09:10:37 +01:00
jsteube
69c3ea2d27 Fixed invalid transfer from __constant to __local memory in -m 9100 2019-02-24 08:26:10 +01:00
jsteube
be365acef8 Remove some optimization in -m 18700 which ROCM doesn't like 2019-02-24 08:02:13 +01:00
jsteube
d0d4ce9f8c Added hash-mode 18800 Blockchain, My Wallet, Second Password (SHA256) 2019-02-23 17:45:02 +01:00
jsteube
684256022e Small fix for -m 18900 2019-02-22 16:00:08 +01:00
jsteube
29fedf2c41 Added hash-mode 18900 Android Backup 2019-02-22 15:49:47 +01:00
jsteube
3dd0a7140d Respect combs_mode in -a 1/6/7 attack in -m 18700 2019-02-22 12:43:22 +01:00
jsteube
a0fba5fb11 Improve -m 18700 cracking speed 2019-02-22 12:33:16 +01:00
jsteube
b4d52e412b Rename -m 18700 to Java Object hashCode() 2019-02-22 09:30:56 +01:00
jsteube
51eb9ebff7 Added hash-mode 18700 DJB 32 2019-02-21 13:52:01 +01:00
jsteube
9fc193ce47 Bitcoin Wallet: Be more user friendly by allowing a larger data range for ckey and public_key 2019-02-20 16:20:28 +01:00
jsteube
63fac132e3 Fix cracking streebog 256/512 hmac cracking with password length > 64 2019-02-19 17:17:01 +01:00
jsteube
f4e43da456 Fix whirlpool final() handling 2019-02-17 08:57:51 +01:00
jsteube
158b93832c Fixed cracking of Cisco-PIX and Cisco-ASA MD5 passwords in mask-attack mode if mask > length 16 2019-02-15 15:50:58 +01:00
jsteube
dd293f7a93 Fixed -m 600 in -a 3 mode for passwords > 16 2019-02-13 13:48:31 +01:00
jsteube
e571b890e9 Fixed length check for raw PBKDF2 modules 2019-02-13 10:03:07 +01:00
jsteube
c16a3feabc Add -m 16500 module 2019-02-11 13:11:51 +01:00
jsteube
57da64533c Add missing kernel in -m 1100 -a 3 -O mode 2019-02-10 10:26:35 +01:00
jsteube
3d203af066 Add module for -m 5700 and -m 5800 2019-02-09 10:03:58 +01:00
jsteube
0bd244c051 Undef some macros to avoid collisions 2019-02-07 16:59:10 +01:00
jsteube
c88a837196 Rename d_scryptVX_buf to d_extraX_buf 2019-01-04 11:21:42 +01:00
R. Yushaev
393916c0bf Allow cracking non-unique salts for Office 2013
With hash-mode 9600 (MS Office 2013) there can be multiple hashes with
the same salt but with different encryption verifiers in esalt_bufs.
This commit adds the functionality to execute _comp kernels for
different hashes after deriving their common key once.

Fixes #1826
2018-12-18 14:32:56 +01:00
R. Yushaev
b5a7e967c1 Add support for Open Document Format 1.1
Contains a kernel for the ODF 1.1 encryption implemented in OpenOffice.
The algorithm uses a SHA-1 checksum, a PBKDF2-HMAC-SHA1 key derivation
with 1024 iterations and Blowfish-CFB encryption.

Valid hashes can be extracted with the libreoffice2john.py script,
available from the John the Ripper Jumbo repository at
https://github.com/magnumripper/JohnTheRipper/blob/bleeding-jumbo/run/libreoffice2john.py

You have to remove the filename suffix at the end of the hash before
passing it to hashcat. Also see 'hashcat -m18600 --example-hashes'.

You can leave the filename prefix if you use the --username option to
process those hashes.

 - Add hash-mode 18600 (Open Document Format (ODF) 1.1 (SHA-1, Blowfish))
 - Tests: add hash-mode 18600 (Open Document Format (ODF) 1.1 (SHA-1, Blowfish))
2018-12-14 13:23:52 +01:00
Sein Coray
a70a0513bf
Added hash mode 18500 sha1(md5(md5($pass)))
closes hashcat/hashcat#1652
2018-12-10 16:11:11 +01:00
Jens Steube
15ece0902f
Merge pull request #1804 from Naufragous/odf-cracking
Add support for Open Document Format 1.2
2018-12-07 09:36:31 +01:00
Jens Steube
9d213147e8
Merge pull request #1805 from mcovalt/electrum_salt_type_2
Electrum Salt-Type 2
2018-12-07 09:33:13 +01:00
R. Yushaev
6a5b0c821e Add support for Open Document Format 1.2
Contains a kernel for the latest ODF 1.2 encryption implemented in
LibreOffice. The algorithm uses a SHA-256 checksum, a PBKDF2-HMAC-SHA1
key derivation with 100000 iterations and key stretching and AES-CBC
encryption.

Valid hashes can be extracted with the libreoffice2john.py script,
available from the John the Ripper Jumbo repository at
https://github.com/magnumripper/JohnTheRipper/blob/bleeding-jumbo/run/libreoffice2john.py

You have to remove the filename suffix at the end of the hash before
passing it to hashcat. Also see 'hashcat -m18400 --example-hashes'.

You can leave the filename prefix if you use the --username option to
process those hashes.

 - Add hash-mode 18400 (Open Document Format (ODF) 1.2 (SHA-256, AES))
 - Tests: add hash-mode 18400 (Open Document Format (ODF) 1.2 (SHA-256, AES))
2018-12-06 18:00:09 +01:00
Matt Covalt
bb9328f48b Add salt type 2 support for optimized functions 2018-12-05 10:42:23 -08:00
Matt Covalt
a913db6390 Add salt type 2 support for pure functions 2018-12-05 10:37:40 -08:00
Matt Covalt
36bdcf844a Add function to check if vector represents a Base58 string 2018-12-05 10:20:41 -08:00
Sein Coray
c941e55a35
Extended IKE PSK md5/sha1 (-m 5300/5400) to print hashes correctly 2018-12-05 12:57:54 +01:00
R. Yushaev
5efebb7b48 Cleanup VeraCrypt related code
Remove unnecessary constant variables by hardcoring values instead of
looking up. Precalculate swaps that are known at compile time. Hardcode
hashes_shown offset as zero for all TC / VC kernels.
2018-11-29 12:49:03 +01:00
R. Yushaev
baf47d409e Add Camellia support for VeraCrypt kernels
Adds suport for the Japanese cipher Camellia with 256-bit keys as used
by VeraCrypt.

 - Add Camellia header decryption checks to all VeraCrypt kernels
 - Add test containers for remaining cipher combinations
2018-11-28 14:21:14 +01:00
Jens Steube
65abccc93e Migrate inc_truecrypt_keyboard.cl into inc_common.cl 2018-11-25 18:34:57 +01:00
Jens Steube
fca4f7e8a6 Prepare to use --keyboard-layout-mapping for algorithms other than TC/VC 2018-11-25 18:21:07 +01:00
Jens Steube
ee2854ec2a Support multi-byte characters for TC/VC keyboard layout mapping tables 2018-11-25 13:31:37 +01:00
R. Yushaev
8b04be0e93 Add Kuznyechik support for VeraCrypt kernels
Adds support for the Russian cipher specified in GOST R 34.12-2015, also
known as Kuznyechik (Grasshopper).

 - Add Kuznyechik header decryption checks to all VeraCrypt kernels
 - Add test containers for available Kuznyechik cipher combinations
2018-11-22 16:07:45 +01:00
Jens Steube
c15f741dca Fixed out-of-boundary read in DPAPI masterkey file v2 OpenCL kernel 2018-11-21 14:55:22 +01:00
Jens Steube
e117e750fc Add restrict keyword to kernel declarations to help the compiler with caching optimizations 2018-11-21 13:00:30 +01:00
Jens Steube
64dfd40113 Give the compiler a hint for automatic optimizations based on password length 2018-11-20 15:44:24 +01:00
Jens Steube
53c8600089 Give the compiler a hint for automatic optimizations based on password length 2018-11-20 15:34:43 +01:00
Jens Steube
0e428b3c40 Give the compiler a hint for automatic optimizations based on password length 2018-11-20 15:32:41 +01:00
Jens Steube
c9da60c73a Fixed thread count maximum for pure kernels in straight attack mode 2018-11-20 15:29:24 +01:00
Jens Steube
2a6444c05a Give the compiler a hint for automatic optimizations based on password length 2018-11-20 15:26:46 +01:00
Jens Steube
ae577410d0 OpenCL Device: Do a real query on OpenCL local memory type instead of just assuming it 2018-11-20 10:06:34 +01:00
jsteube
240f6298be Fix some leftovers from switching kernel parameters to macros 2018-11-17 23:14:12 +01:00
jsteube
eec1fba4c3 Fix some leftovers from switching kernel parameters to macros 2018-11-17 17:57:15 +01:00
jsteube
a930c5c24e Do not use KERN_ATTR_VECTOR() if there is no SIMD 2018-11-16 23:35:58 +01:00
jsteube
c672182b44 Fix some leftovers from switching kernel parameters to macros 2018-11-16 23:04:20 +01:00
R. Yushaev
fbbe5f6282 Use macros in remaining kernel functions
The 7zip, scrypt and stdout kernels differ from the others in their
function declarations somewhat. Unify them and substitute with macros.
Also remove a few superfluous (bogus) consts which were introduced in
the previous PR.
2018-11-16 14:30:45 +01:00
Jens Steube
6d39fb1feb Make all kernel parameter macro helper a function 2018-11-16 14:17:01 +01:00
R. Yushaev
5de004103a Replace kernel parameter lists with macros
Substitute long parameter lists in ~2900 kernel function declarations
with macros. This cleans up the code, reduces probability of copy-paste
errors and highlights the differences between kernel functions. Also
reduces the size of the OpenCL folder by ~3 MB.
2018-11-16 11:44:33 +01:00
R. Yushaev
31dc7a3453 Add macros for kernel function declarations
Most of the kernel functions use nearly identical parameter lists.
Essentially, there are four parameters that vary, except for a dozen odd
kernel functions (e.g. stdout, zip, scrypt). This means that the function
declarations can be hidden behind a few simple macros with up to two
parameters.
2018-11-16 11:44:26 +01:00
R. Yushaev
b80ada1d65 Unify esalt_bufs parameter declarations
In preparation for the abstraction of long repetitive kernel function
declarations, rename the salt buffer pointers to *esalt_bufs. Also
declare them const where they are not.
2018-11-16 10:28:54 +01:00
R. Yushaev
3f0a3ef3f7 Unify kernel function parameter names
In preparation for the abstraction of long repetitive kernel function
declarations, adjust parameter names in a few deviating kernels.
2018-11-16 10:28:54 +01:00