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

1606 Commits

Author SHA1 Message Date
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
Jens Steube
49fc7d45b7 - Keymaps: Added hashcat keyboard mapping us.hckmap (can be used as template)
- Keymaps: Added hashcat keyboard mapping de.hckmap
2018-11-15 22:29:03 +01:00
Jens Steube
5d5ac1c935 Prepare for on-the-fly keyboard layout substituations required to crack booting TrueCrypt/VeraCrypt volumes 2018-11-15 14:35:51 +01:00
Jens Steube
a4200ba167 Added hash-mode 18300 (Apple File System)
Fixes https://github.com/hashcat/hashcat/issues/1686
2018-11-12 11:37:01 +01:00
R. Yushaev
47bd838e25 Add VeraCrypt Streebog support
VeraCrypt added the possibility to use Streebog-512 as hashing algorithm
for the key derivation. This commit adds the necessary VeraCrypt kernels
as well as additional HMAC-Streebog kernels.

 - Add hash-mode 13771: VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 512 bit
 - Add hash-mode 13772: VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1024 bit
 - Add hash-mode 13773: VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1536 bit
 - Add hash-mode 11750: HMAC-Streebog-256 (key = $pass), big-endian
 - Add hash-mode 11760: HMAC-Streebog-256 (key = $salt), big-endian
 - Add hash-mode 11860: HMAC-Streebog-512 (key = $salt), big-endian
 - Add test suite for hash-modes 11750, 11760 and 11860
 - Improve pure Streebog kernels
2018-11-08 11:46:31 +01:00
Royce Williams
6053f473eb trailing whitespace 2018-11-01 11:17:02 -08:00
R. Yushaev
a8eb611b1c Add HMAC-Streebog-512 (pure kernels)
Implement HMAC based on GOST 34.11-2012 Streebog-512 as well as a test
case for it. Both the PyGOST + hmac python module and the VeraCrypt HMAC
for Streebog-512 were used as references. The kernels expect the digests
to be in big-endian order according to the RFC examples for Streebog.

Fix two bugs from commit 224315dd62.

 - Add hash-mode 11850: HMAC-Streebog-512 (key = $pass), big-endian
 - Add test case for hash-mode 11850
 - Bugfix for a3-pure Streebog kernels (modes 11700 and 11800)
 - Rename a few Streebog constants in interface.h
2018-10-31 14:42:02 +01:00
Arseniy Sharoglazov
ee873da300 Added hash-modes 18200 (Kerberos 5 AS-REP etype 23) 2018-10-30 19:05:44 +03:00
R. Yushaev
224315dd62 Add pure kernels and tests for Streebog hashes
Complete Streebog support with pure kernels that allow for passwords
longer than 64 characters. Provide generic inc_hash_streebog files
for future Streebog-based hash modes (HMAC, PBKDF2, VeraCrypt).

Include streebog support in the test suite. For this, python module
PyGOST is needed. Also add clarification to hash mode description
stating that Streebog hashes are expected in big-endian byte order.
There are several implementations, including PyGOST, which default
to little-endian byte order, while the RFC examples are big-endian.

 - Add pure kernels for hash-mode 11700 (Streebog-256)
 - Add pure kernels for hash-mode 11800 (Streebog-512)
 - Tests: Add hash-modes 11700 (Streebog-256) and 11800 (Streebog-512)
2018-10-29 10:33:30 +01:00
Jens Steube
5eca3f5316 Fix kernel names in -a 1 kernels of -m 7701 and 7801 2018-10-25 11:12:26 +02:00
Jens Steube
48cf3f722b
Merge pull request #1725 from unix-ninja/master
Cleanup unused register definitions
2018-10-23 09:43:06 +02:00
unix-ninja
6196e23069 Cleanup unused register definitions 2018-10-22 15:23:41 -04:00
Jens Steube
e2a9409413
Merge pull request #1710 from unix-ninja/master
Add support for TOTP (RFC 6238)
2018-10-22 20:49:31 +02:00
unix-ninja
8c5c225d8f Optimize performance on NVIDIA GTX 2018-10-22 13:27:35 -04:00
Jens Steube
b0077860c7 Workaround some padding issues with host compiler and OpenCL JiT on 32 and 64 bit systems 2018-10-20 12:41:41 +02:00
Jens Steube
a4ac370496 Test fix for plain_t in 32 bit mode 2018-10-20 09:46:24 +02:00
Jens Steube
6d03da369b Fix gid datatype in mark_hash() 2018-10-20 02:19:39 +02:00
unix-ninja
fddfd835d2 Support 64 bit timestamps properly 2018-10-19 15:35:52 -04:00
unix-ninja
7904b9ae05 Fix kernel types to align with style guide 2018-10-19 07:56:51 -04:00
Jens Steube
0a74f058ac Synchronize salt_t datatypes in types.h and inc_types.cl 2018-10-19 10:20:13 +02:00
unix-ninja
0e5704c77e Disable NEW_SIMD_CODE for 18100 (it's not compatible) 2018-10-18 15:58:21 -04:00
unix-ninja
b657c75583 Explicity cast otp_offset 2018-10-18 09:36:57 -04:00
unix-ninja
3869ce9246 More coding style fixes 2018-10-18 08:55:55 -04:00
unix-ninja
24ab7cae2a Add a1 kernel for mode 18100 2018-10-17 16:47:58 -04:00
unix-ninja
db4ec8ed2c Fix formatting to comply with hashcat coding guidelines 2018-10-17 16:34:34 -04:00
unix-ninja
1d43540fc4 Simplify alignment masks for mode 18100 2018-10-17 11:03:20 -04:00
unix-ninja
b29b7b8188 Convert arithmetic ops to logical ops in byte alignment 2018-10-17 08:54:52 -04:00
unix-ninja
3c3b05d1e5 Resolve conflicts 2018-10-16 15:48:20 -04:00
unix-ninja
6cda8f7077 Change TOTP index from 17300 to 18100 2018-10-16 15:33:09 -04:00
unix-ninja
73aae1a734 Add a0 kernel for TOTP 2018-10-16 15:07:41 -04:00
unix-ninja
2249ab4c13 Cleanup debug code 2018-10-16 15:05:21 -04:00
unix-ninja
977b560bb4 Add support for TOTP (RFC 6238) 2018-10-16 15:05:14 -04:00
R. Yushaev
5c87720acc Add SHA3 and Keccak
The previous hash-mode 5000 covered Keccak-256 only. FIPS changed one
padding byte while adopting Keccak as the SHA3 standard, which gives us
different digests. Now we have separate kernels for SHA3 and Keccak.

 - Added hash-mode 17300 = SHA3-224
 - Added hash-mode 17400 = SHA3-256
 - Added hash-mode 17500 = SHA3-384
 - Added hash-mode 17600 = SHA3-512
 - Added hash-mode 17700 = Keccak-224
 - Added hash-mode 17800 = Keccak-256
 - Added hash-mode 17900 = Keccak-384
 - Added hash-mode 18000 = Keccak-512
 - Removed hash-mode 5000 = SHA-3 (Keccak)
2018-10-15 16:06:31 +02:00
Michael Sprecher
1892b842d7
Increased the maximum size of edata2 in Kerberos 5 TGS-REP etype 23 2018-09-12 12:25:02 +02:00
jsteube
6e1aec0563 Fix kernel name in 16801 kernel source 2018-09-02 12:43:53 +02:00
Jens Steube
466ea8eaba Fixed detection of unique ESSID in WPA-PMKID-* parser 2018-08-31 15:47:48 +02:00
Michael Sprecher
5536ab9917
Getting rid of OPTS_TYPE_HASH_COPY for Ansible Vault 2018-08-15 23:32:58 +02:00
jsteube
a5746548e8 Allow use of hash-mode 7900, 10700 and 13731 on AMD devices after workaround 2018-08-13 13:41:43 +02:00
jsteube
6469357c74 Remove SCR_TYPE macro from OpenCL code
Disable REAL_SHM access to AMD platform devices
2018-08-13 12:10:03 +02:00
jsteube
68bff94980 Workaround rocm OpenCL runtime bug when copy data from constant to local memory 2018-08-12 18:04:33 +02:00
jsteube
188a9568ce Replace double MAYBE_VOLATILE 2018-08-09 19:44:54 +02:00
jsteube
dad05d9f69 Testing: Workaround some AMD OpenCL runtime segmentation faults 2018-08-09 13:03:22 +02:00