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

683 Commits

Author SHA1 Message Date
Sein Coray
b09ccbfbb0
Added new test module for mode 18500 2018-12-22 21:10:00 +01:00
R. Yushaev
6365672c34 Add module_preprocess_hashlist hook for tests
Some algorithms have ambiguous hashes (e.g. case-insensetive usernames
in Net-NTLMv2 hashes). This optional function allows test modules to
unify the hashlist before the verification process starts.

Also update readme and minor code formatting.
2018-12-22 19:29:24 +01:00
jsteube
7396ce3273 Remove copy/paste left over 2018-12-21 15:20:16 +01:00
jsteube
864bd3451e Add test module for -m 1500 2018-12-21 14:16:31 +01:00
R. Yushaev
9f1749dce3 Add test modules and helper functions
Modularize mode 5600, add random_ helper functions, update readme.
2018-12-21 12:16:11 +01:00
jsteube
ae53dd3b85 Update other modules just for consistency 2018-12-21 09:53:41 +01:00
jsteube
73af860f43 Add functionality in test.pl to allow empty hash returns. This is required to enable hash-mode depending password length checks. NTLM supports just 27 characters in optimized mode, but single mode would produce 32, resulting in a non found password 2018-12-21 09:48:51 +01:00
jsteube
c5fb8ab2e8 Fix use of test.pl from test.sh 2018-12-21 09:20:16 +01:00
jsteube
c0e83dc471 Some minor test.pl fixes, added m01000.pm 2018-12-21 09:10:23 +01:00
R. Yushaev
444d11a74b Add test modules
Add tests for modes 0, 100, 110, 120, 18400, 18600. Update readme.
2018-12-20 19:18:06 +01:00
R. Yushaev
a92ab33ad5 Add modularized test.pl 2018-12-20 19:14:58 +01:00
R. Yushaev
d0478e4481 Rename test.pl to legacy_test.pl 2018-12-20 17:08:11 +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
R. Yushaev
875d6eb516 Fix selftest for hash-mode 18400 2018-12-14 13:09:54 +01:00
Jens Steube
478fd2c8cf
Merge pull request #1815 from s3inlc/test-compatibility
Changed cat -A to cat -vet in test.sh
2018-12-13 14:21:31 +01:00
Sein Coray
997a6cce87
Changed cat -A to cat -vet in test.sh 2018-12-10 16:33:56 +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
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
Jens Steube
72319875d8 Update version to 5.1.0 2018-12-02 11:58:48 +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
8fb93a7685 Add new layouts folder to binary package script 2018-11-26 09:17:24 +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
1a8c712452 Fix typo in test.pl 2018-11-21 08:54:20 +01:00
Jens Steube
2635331de3 Unify some global handling in test.pl 2018-11-19 09:30:20 +01:00
jsteube
63aae4d670 Fix missing perl modules in install_modules.sh 2018-11-18 20:48:01 +01:00
jsteube
b1d3e2d403 Add some missing perl modules to install_modules.sh 2018-11-18 08:55:49 +01:00
R. Yushaev
0134f5f018 Clean up test suite scripts
The test scripts have grown to be quite big (over 15000 lines) and
are hard to navigate. There are multiple if branches with over
40 conditional checks chained together. This commit solves some of
those issues.

 - Unite big repetetive if conditions into clean array lookups
 - Move 'install help' commands to a separate shell script
 - Adjust array lookup in test.sh to behave more intuitive
 - Add comments at key points to simplify navigation
 - Code formatting
2018-11-12 13:49:12 +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
RAN1
4e558e0fd8 Update code generator function names 2018-11-10 17:55:11 -05:00
Jens Steube
2aff01b20e Hardware Monitor: Renamed --gpu-temp-abort to --hwmon-temp-abort
Hardware Monitor: Renamed --gpu-temp-disable to --hwmon-disable
Fixed invalid warnings about throttling in case --hwmon-disable was used
Fixes https://github.com/hashcat/hashcat/issues/1757
2018-11-09 12:48:27 +01:00
R. Yushaev
34aa899a05 Add RIPEMD-160 test containers for VeraCrypt modes
- Tests: Add hash-mode 13711 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 512 bit)
 - Tests: Add hash-mode 13712 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 1024 bit)
 - Tests: Add hash-mode 13713 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 1536 bit)
2018-11-09 11:35:23 +01:00
R. Yushaev
5eaee33094 Add test containers for VeraCrypt modes
There were testing containers for TrueCrypt hash modes (62XY),
but none for the VeraCrypt ones (137XY). This commit adds test
cases for all currently attackable hash/cipher combinations,
except RIPEMD-160 and those with boot-mode.

RIPEMD-160 is considered deprecated in VeraCrypt since 2015.

 - Tests: Add hash-mode 13721 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 512 bit)
 - Tests: Add hash-mode 13722 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 1024 bit)
 - Tests: Add hash-mode 13723 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 1536 bit)
 - Tests: Add hash-mode 13731 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 512 bit)
 - Tests: Add hash-mode 13732 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 1024 bit)
 - Tests: Add hash-mode 13733 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 1536 bit)
 - Tests: Add hash-mode 13751 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 512 bit)
 - Tests: Add hash-mode 13752 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1024 bit)
 - Tests: Add hash-mode 13753 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1536 bit)
 - Tests: Add hash-mode 13771 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 512 bit)
 - Tests: Add hash-mode 13772 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1024 bit)
 - Tests: Add hash-mode 13773 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1536 bit)
2018-11-08 17:14:58 +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
dc39deba0f Update version to 5.0.0 2018-10-28 16:51:00 +01:00
unix-ninja
3705ebfbf6 Remove extra whitespace in test.pl 2018-10-19 16:00:26 -04:00
unix-ninja
4cb93ba9bf Add 18100 to test.sh 2018-10-18 14:34:28 -04:00
unix-ninja
db4ec8ed2c Fix formatting to comply with hashcat coding guidelines 2018-10-17 16:34:34 -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
1ecc5e5559 Add TOTP to test.pl 2018-10-16 15:06:39 -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
jsteube
4963357fac Update to v4.2.1 2018-08-07 14:04:04 +02:00
philsmd
883336089e test: fixed verify code for -m 16600 = Electrum Wallet 2018-08-04 19:26:42 +02:00
Michael Sprecher
3a321c8dce
Added hash-mode 16900 = Ansible Vault 2018-08-01 19:44:30 +02:00
jsteube
88ebca40b8 Added hash-mode 16800 = WPA-PMKID-PBKDF2
Added hash-mode 16801 = WPA-PMKID-PMK
Renamed lot's of existing WPA related variables to WPA-EAPOL in order to distinguish them with WPA-PMKID variables
Renamed WPA/WPA2 to WPA-EAPOL-PBKDF2
Renamed WPA/WPA2 PMK to WPA-EAPOL-PMK
2018-07-25 16:46:06 +02:00
jsteube
81f909e229 Prepare for v4.2.0 release 2018-07-23 12:12:33 +02:00
jsteube
c28fdf7f44 Added hash-mode 16700 = FileVault 2 2018-06-18 14:38:35 +02:00
jsteube
215063d0fc Fix some formating for -m 7701 and -m 7801 in test.pl 2018-06-12 16:40:20 +02:00
Mathieu Geli
48283cf473 Add tests for 7701/7801 2018-03-06 16:43:09 +03:00
jsteube
83f07febfc Initial v4.1.1 deverloper mode commit 2018-02-28 11:25:23 +01:00
jsteube
c99de3c22a Fix missing function export in test.pl 2018-02-04 14:01:11 +01:00
jsteube
09261dad0e Prepare for v4.1.0 release 2018-01-30 11:24:21 +01:00
jsteube
e877c30ebc OpenCL Kernels: Remove password length restriction to 16 for Cisco-PIX and Cisco-ASA hashes
Fixes #1488
2018-01-27 22:21:44 +01:00
Jens Steube
e1eab586fd Add some note for test.pl 2018-01-25 23:03:06 +01:00
Jens Steube
3b4c418b47 Prepare for -m 16600 2018-01-24 17:30:16 +01:00
jsteube
ce0cee0ac4 Stick to original JWT format from jwt.io 2018-01-21 19:57:24 +01:00
jsteube
0796c074c3 Added -m 16500 Kernels
Also changed function declaration of parser function from const hashconfig_t to just hashconfig_t
2018-01-21 18:53:55 +01:00
jsteube
5eeefb5506 More prepare for JWT 2018-01-21 15:29:17 +01:00
jsteube
6c86243b9b Prepare for JWT 2018-01-20 21:41:10 +01:00
Arseniy Sharoglazov
f84b2c52f8 Tests: added support for -m 16400 = CRAM-MD5 Dovecot 2018-01-18 19:24:27 +03:00
philsmd
bf656774bb
fixes #1279: added -m 16300 = Ethereum Pre-Sale Wallet, PBKDF2-HMAC-SHA256 2017-12-20 11:41:46 +01:00
jsteube
f21137a129 Switch from \r\n to \n line terminators in tools/securenotes2hashcat.pl 2017-12-13 12:56:20 +01:00
Jens Steube
a71288da74 Fix rename $SN$ signature to $ASN$ for apple secure notes 2017-12-13 12:47:54 +01:00
jsteube
d9c5c42966 Rename $SN$ signature to $ASN$ for apple secure notes 2017-12-13 12:36:01 +01:00
jsteube
dc58253703 Fix salt length for mode 16200 in test.pl 2017-12-12 16:44:04 +01:00
jsteube
94c668ce8a Prepare hash-mode 16200 (Apple Secure Notes) 2017-12-12 16:36:43 +01:00
jsteube
6671005fa2 Simplify code to verify cracked hash in test.pl for hash-mode 16100 2017-11-29 13:40:41 +01:00
jsteube
c9d352743c Unit tests for mode 16100 2017-11-29 13:29:08 +01:00
jsteube
1b312d14fd Added hash-mode 16000 = Tripcode 2017-11-11 14:44:56 +01:00
jsteube
f2ea05ca69 Final v4.0.1 commit 2017-11-07 10:15:03 +01:00
jsteube
d0f5c9f2b3 Rename MacOS to macOS 2017-10-20 13:36:47 +02:00
jsteube
980f04a7b6 Rename instances of OSX to MacOS 2017-10-20 11:58:31 +02:00
Fist0urs
e3cb3e9b4c test.pl ready and 0 error. Ready for PR 2017-09-21 16:55:30 +02:00
Fist0urs
a6294537fd Splitted DPAPI kernel in 2 to increase performances 2017-09-21 12:23:33 +02:00
jsteube
036d4874c7 Update version numbers to v4.0.0-RC1 2017-09-20 16:06:27 +02:00
jsteube
2517292ac1 Removed option --weak-hash-check (zero-length password check) to increase startup time, it also causes many Trap 6 error on OSX 2017-09-19 12:04:05 +02:00
jsteube
617dbb97ba Prepare migration -m 15800 into -m 2500 2017-09-18 13:21:00 +02:00
jsteube
0a0522cf76 Reset salt length limit in test.pl for mode 4520 to not run into errors in case the user specifies the -O mode 2017-09-04 15:57:57 +02:00
philsmd
9f097b473f
formatting: remove tabs in tools/package_bin.sh 2017-08-14 09:04:37 +02:00
jsteube
ae5a97a95b Remove -O from test.sh 2017-08-10 13:57:21 +02:00
jsteube
68a8f70edb Mix in pure kernel functions in various optimized kernels 2017-08-10 13:56:53 +02:00
jsteube
29e13d6b77 Add pure kernels for OpenCart 2017-08-09 13:17:15 +02:00
jsteube
6bafc385dc Use pure kernels in test.sh by default 2017-08-05 13:39:30 +02:00
jsteube
b9a1e84093 Fix test script for updated max password length of -m 9700 and -m 9800 2017-08-05 13:23:51 +02:00
jsteube
c9cae1f663 Add pure kernels for PrestaShop 2017-08-04 13:03:54 +02:00
philsmd
3bc217ddb7
tests: fix tests for -m 14000, 14100, 14900 and 15400 2017-07-20 23:40:11 +02:00
jsteube
03bb234045 Preparation for WPA/WPA2 AES-CMAC: works till PMK 2017-07-20 12:46:18 +02:00
philsmd
86db2ded03
test: fixed tests for -m 2410 in combinator mode 2017-07-20 08:15:00 +02:00
jsteube
335ed09478 Fix test script settings for -m 15400 with new settings from interface.c 2017-07-19 18:41:53 +02:00
jsteube
8c89ed9406 Fix test script settings for -m 2400 and -m 2410 with new settings from interface.c 2017-07-19 16:40:03 +02:00
jsteube
dae5d81a9c Update test.sh default options 2017-07-19 13:07:51 +02:00
jsteube
10d9918bb1 Remove password minimum length for -m 112 and -m 3100 2017-07-19 12:35:54 +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
967d7b9323 Rename SALT_TYPE_INTERN to SALT_TYPE_GENERIC 2017-07-14 14:57:31 +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
f03156b05e Add switch_buffer_by_offset_1x64_be_S() and code generators for later use 2017-07-13 18:46:24 +02:00
jsteube
c512e0c01a Add example -L kernel for algorithms with appended salt in utf16le 2017-07-13 00:16:29 +02:00
jsteube
6cbd2acd24 Added long passwords support for Drupal7 2017-07-06 11:02:43 +02:00
jsteube
a22da36a00 Add different code generators for truncate_block(), add results to inc_common.cl and make use of them in m01800-pure.cl 2017-07-03 10:41:09 +02:00
jsteube
fa950a30f3 Add code generators for switch_buffer_by_offset_8x4_carry_be_S() 2017-07-02 18:08:44 +02:00
jsteube
ae96851db2 Add code generators for switch_buffer_by_offset_4x4_carry_be_S() 2017-07-02 18:08:27 +02:00
jsteube
94103ec3d2 Add code generators for switch_buffer_by_offset_8x4_be_S() 2017-07-02 17:35:28 +02:00
jsteube
d861c0db8d Rename code generator filenames so that they match the function they are generator code for 2017-07-02 15:28:14 +02:00
jsteube
84bc2edd5b Add code generators for switch_buffer_by_offset_16x4_be_S() 2017-07-02 15:18:08 +02:00
jsteube
40e1992d08 Rename code generators for switch_buffer_by_offset_le_S to switch_buffer_by_offset_64x1_le_S() and add code generators for switch_buffer_by_offset_16x4_le_S() 2017-07-02 15:03:33 +02:00
jsteube
52c1e15f3f Move kernel-code for -L to standalone files with -pure suffix 2017-07-01 13:02:07 +02:00
jsteube
cb791aaf48 Add some code generator helper scripts 2017-06-25 00:45:22 +02:00
jsteube
83d5302256 Fix install makefile target for use with hashcat.hcstat2 2017-06-24 10:50:39 +02:00
jsteube
f9b7f1f758 Fix package_bin.sh script to use hashcat.hcstat2 2017-06-23 14:53:02 +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
jsteube
cea78024bf Fix -m 2100 cracking if (password length & 31) == 0 2017-06-21 16:21:12 +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
Jens Steube
c5c2760a2e Final v3.6.0 commit 2017-06-09 17:27:07 +02:00
Jens Steube
7e5b8d3f25 Added hash-mode 15500 = JKS Java Key Store Private Keys (SHA1) 2017-06-09 09:56:06 +02:00
philsmd
c5f88f1a60 test: added missing verify part for -m 15400 = chacha 2017-06-07 13:48:05 +02:00
Royce Williams
b9d68d2377 $chacha20$ (all lower case) per @magnumripper 2017-06-06 04:51:32 -08: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
72baa22337 tidy changes.txt and name normalizations 2017-06-04 14:00:22 -08:00
Royce Williams
3fc185a66b tidy changes.txt and name normalizations 2017-06-04 13:54:41 -08: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
mhasbini
bcecd67ced Add test case for position p 2017-05-24 17:21:24 +03:00
mhasbini
b1fee3b9f7 update test cases format for tools/test_rules.pl 2017-05-24 17:19:12 +03:00
jsteube
b3bf67a11d Remove test cases for test_rules.pl that are known not to work 2017-05-21 18:25:21 +02:00
mhasbini
1330424079 Add support for rejection rule _N 2017-05-19 15:13:07 +03:00
Jens Steube
932d82e4be Merge pull request #1248 from 0xbsec/rules-tests
Add tools/test_rules.pl script
2017-05-19 13:29:25 +02:00
DoZ10
5683df2e17 Fixed conflicts 2017-05-16 20:36:55 -04:00
mhasbini
791061f6d4 Add tools/test_rules.pl script 2017-05-16 19:20:40 +03:00
DoZ10
264ec951c2 Enhanced test.pl for 15400 and removed endianess confusion 2017-05-15 19:21:49 -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
DoZ10
0d3b5393ef Swapped mode 670 -> 15400 2017-05-14 06:52:14 -04:00
Fist0urs
80927f6f66 Fixed verify mechanism + cosmetic changes in global test.pl 2017-05-10 22:25:35 +02: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
3c67e0054c Implemented Perl test and fixed issues. Now have a working base. 2017-05-06 20:40:10 -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
4839335c8a Cleanup 2017-04-24 21:51:07 -04:00
DoZ10
58c1f46b19 Merge and conflict resolve. 2017-04-24 21:47:35 -04:00
DoZ10
8da56522f2 Added 600 to test.pl and test.sh.. 2017-04-24 21:41:23 -04:00
DoZ10
9ddd4596a0 Added 12700 to test.sh (lazy conflict fix). 2017-04-24 21:40:01 -04:00
DoZ10
f93426c8f8 Remove tmp 600. 2017-04-24 21:37:43 -04:00
DoZ10
327a509492 Fixed test files conflicts. 2017-04-24 21:33:20 -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
Jens Steube
086a07264a Switch from libiconv to win-iconv 2017-04-19 12:58:25 +02: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
jsteube
8caf3ba57f Remove some debugging printf() call 2017-04-05 12:34:25 +02:00
jsteube
ac99df6618 Versions: Changed version naming convention from x.yz to x.y.z 2017-03-31 15:28:20 +02:00
jsteube
b632d81212 Mark -m 15100 as slow hash 2017-03-23 16:47:17 +01:00
jsteube
d1b2fa0b31 Added hash-mode 15100 = Juniper/NetBSD sha1crypt 2017-03-23 16:44:32 +01:00
philsmd
eca544425e
tests: -m 13300 = AxCrypt in memory SHA1 output length fix 2017-03-08 12:19:29 +01:00
philsmd
870b05d91c
tests: minor fixes and cleanups 2017-03-07 22:23:28 +01:00
philsmd
fd2d553177 test: removed unused variables 2017-03-06 11:01:35 +01:00
philsmd
4a5684600d test: -m 15000 is salted, verify fixed 2017-03-05 22:10:43 +01:00
philsmd
a2708e1063
fixes #1160: parsing/displaying -m 7000 = Fortigate hashes 2017-03-05 17:14:55 +01:00
philsmd
22d1129818
added -m 12001 = Atlassian (PBKDF2-HMAC-SHA1) #611 2017-02-28 14:22:03 +01:00
jsteube
a509221868 Fix password candidate generation for test.pl for mode 14000 and 14100 2017-02-28 11:56:27 +01:00
philsmd
f314ad0926
tests: minor, always run -m 99999 last 2017-02-26 18:56:19 +01:00
philsmd
86ea878755
tests: fixed timeout values 2017-02-26 18:19:16 +01:00
jsteube
9b08d4af0f Update hccapx format to version 4 2017-02-21 20:07:18 +01:00
jsteube
778f568d91 Prepare for v3.40 release 2017-02-17 18:28:16 +01:00
philsmd
227c0be95e
resolves #1018: added -m 3910 = md5(md5($pass).md5($salt)) 2017-02-12 18:12:17 +01:00
philsmd
2436972623
always use the native sed (not gsed) for OSX, #1036 2017-02-11 14:18:42 +01:00
philsmd
7466ea941a
tests: added support for .hccapx to the tests 2017-02-07 19:00:36 +01:00
philsmd
15a9644f2a
fixes #943: added -m 15000 = FileZilla Server >= 0.9.55 2017-02-03 00:07:31 +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
philsmd
3611b299c4
tests: fixed for -m 4520 (with long salts) 2017-01-31 14:46:33 +01:00
philsmd
ed74ce1aca
fixes #928: new mode -m 1411 = SSHA-256(Base64), LDAP {SSHA256} 2017-01-31 12:40:43 +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
jsteube
1b8c2a29f1 Added hash-mode 14900 = Skip32 2017-01-29 16:43:08 +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
jsteube
8257883ec1 Added hash-mode 14600 = LUKS 2017-01-21 15:37:44 +01:00
Jens Steube
e9a34bd708 Update tc_tests/hashcat_ripemd160_aes_boot.tc for reference 2017-01-05 14:02:51 +01:00
jsteube
dca74af23f Prepare for v3.30 release 2017-01-02 10:14:07 +01:00
Gabriele Gristina
3b5dfb06e9 Fix test.sh -m all bug & truecrypt tests 2016-12-29 01:08:09 +01:00
Gabriele Gristina
496c749b2b Add missings requirements for SHA-224 support 2016-12-17 19:09:52 +01:00
Gabriele Gristina
3e682052db Add truecrypt support in test.sh 2016-12-03 17:25:50 +01:00
jsteube
0f5dae539e Removed rules_test/ subproject: Would require total rewrite but not used in a long time 2016-11-16 10:07:36 +01:00
jsteube
8805ca169b Prepare for v3.20 release 2016-11-14 15:07:58 +01:00
jsteube
2bda020c83 Added new hash-mode 14400 = SHA1(CX)
Details: https://github.com/hashcat/hashcat/issues/554
2016-11-12 11:39:38 +01:00
jsteube
f3626fa082 Added new hash-mode 99999 = Plaintext 2016-11-03 19:02:55 +01:00
jsteube
578f6816c6 Fix some uint datatype leftovers 2016-10-04 11:22:08 +02:00
jsteube
3daf0af480 Added docs/credits.txt
Added docs/team.txt
2016-09-11 22:20:15 +02:00
jsteube
6aee697112 Cleanup some macro values 2016-09-08 12:17:56 +02:00
jsteube
71a8459d85 Two new modes added:
* Added new hash-mode 14000 = DES (PT = $salt, key = $pass)
* Added new hash-mode 14100 = 3DES (PT = $salt, key = $pass)
This patch initial was created out of this PR: https://github.com/hashcat/hashcat/pull/452 which is now no longer required
I've replace the -a 3 kernel with a bitsliced version which is around 10 times faster
I've also added test.sh and test.pl patches, but some of the test scripts need to be fixed
2016-08-30 17:44:14 +02:00
jsteube
d9e5224cfe Fix version string in package script 2016-08-19 11:45:29 +02:00
Michael Sprecher
7593db9483
Added new hash-mode 13900 = OpenCart 2016-08-02 15:00:58 +02:00
philsmd
567923966b
test: fixed verify for -m 13100, -m 13200, -m 13300 and -m 13400 2016-06-30 18:40:36 +02:00
Jens Steube
8298cd4926 Drop -m 190, no reason to keep it 2016-06-23 18:20:55 +02:00
jsteube
b9eefd9b20 Added new hash-mode 13800 = Windows 8+ phone PIN/Password 2016-06-10 09:46:41 +02:00
Jens Steube
9f45ceb128 Fix includes for kernel2cpu_rule_test 2016-05-26 12:21:08 +02:00
Jens Steube
d64083e946 Fix package script 2016-05-25 23:18:20 +02:00
Jens Steube
2899f53a15 Move files from include/ to OpenCL/ if they are used within kernels
Rename includes in OpenCL so that it's easier to recognize them as such
2016-05-25 23:04:26 +02:00
philsmd
9ac762c2c7 test fix: ArubaOS salts are 8 hexadecimal chars long (4 binary), not 10 (4 binary), because '01' will be appended afterwards (total length is 10) 2016-05-13 19:02:57 +02:00
Jens Steube
d0123e63b1 Add WinZip test.pl and test.sh 2016-05-12 22:15:44 +02:00
jsteube
e47030ed7d Prepare to rename project into hashcat
This release markes the fusion of "hashcat" and "oclHashcat" into "hashcat".
It combines all features of all hashcat projects in one project.
2016-05-10 19:07:07 +02:00
jsteube
16af77af18 Extended password length up to 32 for 7zip 2016-05-08 14:39:44 +02:00
Jens Steube
3d508f9122 Fix test.sh 2016-05-04 11:21:20 +02:00
jsteube
c7b67376a8 Fix -m 200 multihash and benchmark 2016-05-03 10:39:09 +02:00
Jens Steube
74fa4c1886 Fix missing mode 133 in test.pl 2016-04-30 11:04:43 +02:00
Jens Steube
abce366d00 Fixed -m 13500 kernels and tests 2016-04-28 22:23:02 +02:00
Francois Gaudreault
909d7ab636 Adding final code to test.pl 2016-04-27 07:40:13 -04:00
Jens Steube
aef8dc2b01 First working version of -m 13500 2016-04-26 22:45:23 +02:00
Francois Gaudreault
04be81a9fc Cleanup to remove unused mode 134 2016-04-22 19:45:01 -04:00
Francois Gaudreault
f76b9d0013 Adding Tests, fix one compile warning 2016-04-22 19:36:07 -04:00
Martin Lemay
f0535b1a52 ascii_digest additions. 2016-04-22 16:21:55 -04:00
Michael Sprecher
0dcb762a8e
Added new hash mode -m 125 = ArubaOS 2016-04-10 00:58:28 +02:00
Fist0urs
34b8d89422 Added support of keyfiles within Keepass 1.x and Keepass 2.x 2016-04-06 16:05:09 +02:00
Fist0urs
d01ba8efe4 Remove commented parts -m 13400 2016-04-02 15:44:41 +02:00
Fist0urs
52b17a602f New format -m 13400, Keepass 1 (AES/Twofish) and Keepass 2 (AES) 2016-04-02 14:45:05 +02:00
Jens Steube
0fdebf904d Replace BUFSIZ with HCBUFSIZ and move them from stack to heap 2016-03-26 10:37:59 +01:00
philsmd
5174de48c9 fixed -m 133 = PeopleSoft (-a 0/-a 1 problem only) + added to test.sh 2016-03-16 09:11:54 +01:00
Jens Steube
5e73330c5b Merge pull request #252 from Fist0urs/AxCrypt_RawSHA1_format
New format -m 13300 AxCrypt in memory SHA1
2016-03-02 15:58:49 +01:00
Fist0urs
b0f1cb8a98 New format -m 13300 AxCrypt in memory SHA1 2016-03-02 14:35:10 +01:00
Fist0urs
bb15bdf897 -m 13200 Fix test.pl split 2016-03-02 13:55:24 +01:00
Fist0urs
ad17fba9b6 New format -m 13200 AxCrypt 2016-03-01 19:11:13 +01:00
Jens Steube
7190dcf855 Prepare NEW_SIMD_MODE for -a 1 kernels 2016-02-20 16:13:06 +01:00
Fist0urs
233cdd009c Fix test.pl verify 2016-02-20 01:39:58 +01:00
Fist0urs
62bed36638 Add verification of checksum for -m 13100
This avoid collisions by arc4'ing all data then hmac-md5
when valid ASN1 structures headers are found.
Performance should not be impacted.
2016-02-19 23:12:46 +01:00
magnum
a5be8a75ed Allow and support vector-width 16, which is current maximum for
OpenCL. Closes #226.
2016-02-18 08:51:45 +01:00
philsmd
8298afa462 minor: some formatting fixes re: #225 (-m 13100 = Kerberos 5 TGS-REP etype 23) 2016-02-17 11:02:40 +01:00
Fist0urs
c3dabdd69e Initial commit 2016-02-16 16:34:46 +01:00
Jens Steube
02ad834c7f Added new concept of a tuning database; tryout phase 2016-02-10 20:40:21 +01:00
Gabriele 'matrix' Gristina
57407b1640 Fix -V (vector width) handling 2016-02-06 16:33:37 +01:00
Gabriele 'matrix' Gristina
9c19adfbce Fix vector width default values handling 2016-02-05 18:09:33 +01:00
Gabriele 'matrix' Gristina
d9bcf7fe97 Enabled all vector-width 2016-02-05 17:55:28 +01:00
Gabriele 'matrix' Gristina
f020dfd55f Set default vector-width to 1,4 in test.sh 2016-02-05 17:51:47 +01:00
Jens Steube
2381af313d Some cleanups 2016-02-04 15:47:52 +01:00
Jens Steube
e01038083c Update Makefile and BUILD.md 2016-02-04 09:44:52 +01:00
Jens Steube
977202d9db We don't need all VECTOR_WIDTH tests by default 2016-01-31 18:51:46 +01:00
Gabriele 'matrix' Gristina
ec2f78d6dd Add -V all in test.sh 2016-01-31 18:45:05 +01:00
Gabriele 'matrix' Gristina
23b996b46c Added options set OpenCL vector-width (--opencl-vector-width) and OpenCL device-types (--opencl-device-types) 2016-01-31 00:37:53 +01:00
Gabriele 'matrix' Gristina
2fae850926 Select bash from env (very useful on osx) 2016-01-29 15:36:15 +01:00
Jens Steube
2232b1632e Merge pull request #169 from magnumripper/onetwenty
Drop dependencies on non-distributable ADL/NVML headers.
2016-01-27 19:15:31 +01:00
magnum
115d2b6a5a Drop dependencies on non-distributable ADL/NVML headers. The needed glue
is copied into our respective local headers. Should close #120.
2016-01-27 18:48:54 +01:00
Gabriele 'matrix' Gristina
fed3af1d4a Cosmetic fix 2016-01-24 17:54:13 +01:00
Gabriele 'matrix' Gristina
f00617f992 Updated test.sh (support for osx and some fixes) 2016-01-24 17:31:31 +01:00
Gabriele 'matrix' Gristina
71b09e55f2 Upgrade AMD Display Library SDK from 8.0 to 9.0 2016-01-24 16:39:51 +01:00
Jens Steube
1d3795a3ab Converted _a3 kernels, use SIMD for CPU and GPU 2016-01-23 15:32:31 +01:00
Jens Steube
4c0e520fd8 Test convert for -m 1000 with -a 0 for SIMD, speed is now on par or faster than hashcat 2016-01-21 16:47:38 +01:00
jsteube
e3c0c80b6f Prepare new SIMD code for kernel, -m 0, 10, 20, 1000 should work in -a 3 mode and other hopefully stay unaffected 2016-01-17 22:17:50 +01:00
Jens Steube
63e06f582b Prepare fix for datatypes, not final 2016-01-15 17:16:43 +01:00
jsteube
3cdee2e06e We need an esalt to hold the unused IV otherwise the unique salt count becomes incorrect in multihash sitations 2016-01-09 21:35:29 +01:00
jsteube
f0a84a2410 Added new hash mode -m 13000 = RAR5 2016-01-09 20:34:12 +01:00
jsteube
332b3c35e5 Added new hash mode -m 12900 = Android FDE (Samsung DEK) 2016-01-09 00:49:54 +01:00
jsteube
16294fe94e Next release version will be v2.10 2016-01-05 08:30:18 +01:00
jsteube
331188167c Replace the substring GPU to a more appropriate "device" or "kernel" substring depending on the context 2016-01-05 08:26:44 +01:00
philsmd
a9e7cc3e20 updated rp_gpu_on_cpu rules test script, we do not need the cpp extension anymore 2016-01-03 20:15:52 +01:00
jsteube
0428514f61 Extended support from 14 to 255 functions calls per rule on GPU 2016-01-03 19:49:47 +01:00
Jens Steube
8cf367fb9e Merge pull request #49 from philsmd/pr-patch-examples
the example*.sh files should now also use the native binary
2016-01-03 18:47:39 +01:00
philsmd
23db5c9737 the example*.sh files should now also use the native binary, only when we use the packaging we need to use .bin 2016-01-03 18:34:38 +01:00
philsmd
2d11066052 using oclHashcat instead of oclHashcat64.bin also in tools/test.pl 2016-01-03 18:13:32 +01:00
philsmd
fcc3aca640 fixed typo in tools/deps.sh 2016-01-03 14:32:50 +01:00
jsteube
11bf28745a Generate folders for cached kernels for the binary distribution in runtime, too 2016-01-03 13:49:07 +01:00
Jens Steube
dc13c2fc71 Switched to Khronos OSS OpenCL reference implementation for building
For detailed information see: https://github.com/hashcat/oclHashcat/issues/40
2016-01-03 13:17:14 +01:00
jsteube
3fce66bd8c Use native oclHashcat for test.sh 2016-01-03 02:14:27 +01:00
jsteube
2be8f5f982 - Added Makefile target for native compilation
- Moved rules_optimize tool to hashcat-utils
2016-01-02 17:42:47 +01:00
philsmd
fc65b6fd44 issue #38: NVIDIA SDK is not needed anymore, the lib is dynamically loaded on NVidia systems 2016-01-01 17:41:03 +01:00
Jens Steube
cb6247956f Merge branch 'GetRidOfCUDA' of https://github.com/hashcat/oclHashcat into GetRidOfCUDA 2015-12-27 10:37:32 +01:00
Jens Steube
eb7e096956 Fix bug in test.pl, did not handle zero length passwords in -m 7700 2015-12-27 10:37:13 +01:00
philsmd
286bde422b limit the salt length of -m 22 = Juniper Netscreen/SSG (ScreenOS) to 10 2015-12-27 09:48:52 +01:00
jsteube
806f73b685 Fix package script 2015-12-21 12:40:34 +01:00
jsteube
e2412c9b10 We do not depend on CUDA any longer, so get rid of it :) 2015-12-21 12:20:08 +01:00
jsteube
141d5740ac update packages for source kernel distribution 2015-12-15 19:28:27 +01:00
jsteube
88284108b3 More cleanup 2015-12-15 13:23:32 +01:00
Jens Steube
586441fa25 Revert "Fixed a bug where oclHashcat rejected to load a rule which calls 15 functions although it is supported"
This reverts commit f230ed73dc.

Some kernel require too much constant memory and do not compile anymore
2015-12-13 18:46:21 +01:00
Jens Steube
f230ed73dc Fixed a bug where oclHashcat rejected to load a rule which calls 15 functions although it is supported 2015-12-13 14:54:39 +01:00
philsmd
c15f0d6146 issue #16: use just "deps" instead of "hashcat-deps" as directory name 2015-12-09 15:55:06 +01:00
Jens Steube
6ea6f6ae6e Remove unneeded gcc version requirement 2015-12-09 13:20:16 +01:00
philsmd
29547c4f9b issue #14: move /opt/hashcat-deps/ to [git_clone_dir]/hascat-deps/ 2015-12-09 13:33:21 +01:00
philsmd
6108b21841 remove trailing spaces 2015-12-06 19:01:22 +01:00
philsmd
ef548d3088 fixes issue #5: formatting problem with tabs vs spaces 2015-12-06 11:29:29 +01:00
Jens Steube
490ff03fe1 It's important to release a fixed version of v2.00 because of the issue #1 even if AMD is not affected 2015-12-05 13:42:02 +01:00
Jens Steube
5065474b4e Initial commit 2015-12-04 15:47:52 +01:00