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

592 Commits

Author SHA1 Message Date
mhasbini
dec7e25a63 Add -m 1722 unit test 2019-02-10 13:30:54 +02:00
mhasbini
7c67346bfc Add unit tests for -m 1421 -m 1441 -m 1450 -m 1460 -m 1711 2019-02-10 13:21:20 +02:00
mhasbini
c3f7c30eea Remove debug lines from -m 1411 unit test 2019-02-10 13:12:01 +02:00
jsteube
b9365b8961 Disable combinator constraint in -m 1100 2019-02-10 10:27:29 +01:00
mhasbini
dabbc521cb Update -m 1100 unit test constraints 2019-02-10 03:33:41 +02:00
mhasbini
99c14b4d5f Add -m 1411 unit test 2019-02-10 03:01:12 +02:00
mhasbini
54cfc60c57 Add -m 1100 unit test 2019-02-10 02:49:36 +02:00
mhasbini
3df9a862f3 Add -m 124 unit test 2019-02-10 02:44:39 +02:00
mhasbini
76ec0268a7 Add unit test for -m 1410 -m 1420 -m ...
-m 1440 -m 1710 -m 1720 -m 1730 -m 1740 -m 4300 -m 4400 -m 4500 -m 4520 -m 4700
2019-02-10 02:20:03 +02:00
mhasbini
be4ab7320b Add -m 2600 unit test 2019-02-10 01:56:42 +02:00
mhasbini
438b74da56 Add -m 4010 & -m 4110 unit tests 2019-02-10 01:54:17 +02:00
mhasbini
08118bedcc Add unit test for -m 3800 and -m 3910 2019-02-10 01:15:05 +02:00
jsteube
c9e796fcf0 Add some more modules converted 2019-02-08 13:00:40 +01:00
jsteube
f53b846cb7 Add some VeraCrypt boot-mode test header 2019-02-07 17:00:17 +01:00
mhasbini
bd39edc8a2 Add unit test for -m 18100 2019-01-28 20:29:48 +02:00
mhasbini
f142651f15 Fix salt encoding 2019-01-27 23:09:54 +02:00
mhasbini
86d7f0a95b Add -m 11500 module & unit test 2019-01-27 19:58:20 +02:00
jsteube
fa5d122fa0 Add unit test for -m 5500 2019-01-25 17:15:53 +01:00
jsteube
e1e1ac5341 Add module and unit test for -m 13000 2019-01-25 16:35:54 +01:00
jsteube
b729fe04b7 Add module and unit test for -m 11600 2019-01-25 11:24:17 +01:00
Jens Steube
280cc63369
Merge branch 'hash-mode-plugin' into m17600_m18000_modes 2019-01-25 01:03:49 +01:00
mhasbini
c2fdf6172d Add module and unit test for -m 18000
Add -m 17600
2019-01-24 22:31:14 +02:00
mhasbini
48b710e73e Add module and unit test for -m 17900
Add -m 17500
2019-01-24 22:18:02 +02:00
jsteube
83229acd6b Add module and unit test for hash-mode 7100 2019-01-24 15:25:07 +01:00
jsteube
c67287e754 Add module and unit test for hash-mode 15000 2019-01-24 14:05:49 +01:00
jsteube
fc90bfc00c Add module and unit test for hash-mode 15300 2019-01-24 13:43:07 +01:00
jsteube
67627607be Add module and unit test for hash-mode 18200 2019-01-24 12:34:02 +01:00
jsteube
81c3edede3 Add module and unit test for hash-mode 13100 2019-01-24 12:07:24 +01:00
Jens Steube
17fdf8754d
Merge pull request #1885 from 0xbsec/m17400_m17800_modes
Add module and unit test for -m 17800 (& -m 17400 module)
2019-01-24 09:47:46 +01:00
mhasbini
2f89c47ee1 Add module and unit test for -m 17800
Add -m 17400
2019-01-23 23:57:46 +02:00
jsteube
4951816a30 Add module and unit test for hash-mode 7500 2019-01-23 16:29:14 +01:00
jsteube
fcebe9fadb Add module and unit test for hash-mode 1800 2019-01-23 15:05:22 +01:00
jsteube
748a1aac22 Add module and unit test for hash-mode 12000 2019-01-23 11:05:40 +01:00
mhasbini
5497154a89 Add module and unit test for hash-mode 17700 2019-01-22 21:32:31 +02:00
jsteube
8ad3333d2a Add module and unit test for hash-mode 3200 2019-01-21 15:22:58 +01:00
jsteube
de690abfa6 Add unit test modules 1600, 6300 2019-01-20 23:26:40 +01:00
mhasbini
3de0b294a0 Add 17300, 17400, 17500 & 17600 module unit tests 2019-01-20 17:06:15 +02:00
jsteube
0bec0cfb89 Add -m 3000 module and unit test 2019-01-20 12:04:06 +01:00
jsteube
f859fbea66 Add -m 16800 module and unit test 2019-01-20 11:17:48 +01:00
jsteube
355ae342f7 Add -m 2501 module 2019-01-20 10:41:16 +01:00
jsteube
06a5e736b9 Add -m 500 unit test 2019-01-19 20:09:32 +01:00
jsteube
6a39617949 Add -m 600 unit test 2019-01-18 23:25:30 +01:00
jsteube
4550f2f771 Add -m 500 unit test 2019-01-18 23:18:05 +01:00
jsteube
73966d29e7 Add -m 400 unit test 2019-01-18 23:09:19 +01:00
jsteube
da413b4eaa Add -m 5100 module 2019-01-18 22:56:37 +01:00
jsteube
02bdf8dda3 Add unit test modules for -m 14000 and -m 14100 2019-01-16 21:01:24 +01:00
jsteube
2c47c03e26 the idea of having guaranteed mixed password and salt lengths is not working.
fixed size password (as in DES) will always produce length 8 but only the first would get accepted.
the same logic basically also applies if the range is less than 8.
2019-01-16 20:56:40 +01:00
jsteube
036e4eba2c Use -rdynamic instead of including sources of depencies for module compilation 2019-01-13 19:16:00 +01:00
Jens Steube
e0a630d5a5
Merge pull request #1864 from matrix/hash-mode-plugin-2400
Add Cisco-PIX MD5 module
2019-01-09 16:10:52 +01:00
jsteube
2e61d9d0b8 Authenticated hashes (HMAC) use separate buffers for password and salt, therefore no combination constraints required 2019-01-09 11:24:39 +01:00
Jens Steube
e08cca8eee
Merge pull request #1863 from s3inlc/test-plugin-150_160
Added test modules for mode 150 and 160
2019-01-09 11:17:45 +01:00
Jens Steube
d2dfc75d11
Merge pull request #1862 from matrix/hash-mode-plugin-md4
Add MD4 module
2019-01-09 11:17:04 +01:00
Jens Steube
1f398f7626
Merge pull request #1861 from s3inlc/test-plugin-133_140_141
Added test modules for mode 133, 140 and 141
2019-01-09 11:14:16 +01:00
Jens Steube
0f4eac3339
Merge pull request #1859 from s3inlc/test-plugin-130_131_132
Added test modules for mode 130, 131 and 132
2019-01-09 11:07:55 +01:00
Sein Coray
2638052daa
Fixed spacing 2019-01-09 10:51:26 +01:00
Sein Coray
a1fa4aa12f
Fixed spacing 2019-01-09 10:50:26 +01:00
jsteube
31822a9bea Fix spacing 2019-01-09 10:11:50 +01:00
Jens Steube
ebd4fcbbc2
Merge pull request #1856 from s3inlc/test-plugin-121_122_125
Added test modules for mode 121, 122 and 125
2019-01-09 10:10:10 +01:00
Jens Steube
0394df1faf
Merge pull request #1855 from matrix/hash-mode-plugin-sha384
Add SHA384 module
2019-01-09 10:07:21 +01:00
Gabriele Gristina
6fb999a505 Add Cisco-PIX MD5 module 2019-01-08 23:57:58 +01:00
Sein Coray
f16f04ac17
Added test modules for mode 150 and 160 2019-01-08 23:46:44 +01:00
Gabriele Gristina
6fc74a2bdb Add MD4 module 2019-01-08 23:32:17 +01:00
Sein Coray
4d1c53b3e5
Added test modules for mode 133, 140 and 141 2019-01-08 23:27:20 +01:00
Sein Coray
e12ce123c9
Added test modules for mode 130, 131 and 132 2019-01-08 23:00:23 +01:00
Sein Coray
3b629e9c12
Added test modules for mode 121, 122 and 125 2019-01-08 22:35:12 +01:00
Gabriele Gristina
2068f88371 Add SHA384 module 2019-01-08 22:03:07 +01:00
Gabriele Gristina
aa15ae9fb5 Add SHA224 module 2019-01-08 21:46:10 +01:00
Gabriele Gristina
9f6a27e8b6 Add SHA256 module 2019-01-08 20:28:25 +01:00
jsteube
105c0ce0cb Add unit test for SHA512 2019-01-08 20:10:25 +01:00
Jens Steube
fb938970d8
Merge pull request #1844 from s3inlc/test-plugin-101_111_112
Added test modules for mode 101, 111 and 112
2019-01-03 17:06:56 +01:00
Sein Coray
7b033a58ae
Fixed test module constraints 2019-01-03 16:35:41 +01:00
Sein Coray
c959d1bb34
Added test modules for mode 101, 111 and 112 2019-01-03 13:43:05 +01:00
jsteube
958d89872a Remove old code 2019-01-03 13:41:54 +01:00
jsteube
55ff8fe729 Guarantee to have used the minimum and maximum length of both password and salt to be used at least once 2019-01-03 13:37:15 +01:00
jsteube
620bd693c5 Guarantee output of 8 entries in single mode in test.pl 2019-01-03 13:19:36 +01:00
jsteube
0baf8fc2f9 Fix constraints in -m 30 and -m 40 and return array in -m 40 2019-01-03 12:51:45 +01:00
jsteube
9ee247c6f8 Fix password length for optimized mode in constraints for hash-mode 22: 55 - (1 + 20 + 1) 2019-01-03 11:03:35 +01:00
Jens Steube
3516fd70a4
Merge pull request #1843 from s3inlc/test-plugin-22_30_40
Added test modules for mode 22, 30 and 40
2019-01-03 10:56:49 +01:00
Sein Coray
a4b7a052b8
Added test modules for mode 22, 30 and 40 2019-01-03 00:12:39 +01:00
Sein Coray
50cac0a43b
Changed regex to read hash modes from test modules 2019-01-02 20:38:16 +01:00
jsteube
8613e2fc81 test.sh fix packaged hash types 2018-12-29 19:50:27 +01:00
jsteube
3b43bd6d03 Automatically fill HASH_TYPES in test.sh 2018-12-29 18:51:21 +01:00
jsteube
ac0560fd4a Make use of module_constraints more easy and fix some modes 2018-12-29 16:23:29 +01:00
jsteube
eeff037365 Fix test.sh in non-optimized mode 2018-12-28 22:32:54 +01:00
jsteube
f721f23d39 Update test modules to max password length 255 not 256 2018-12-28 22:31:03 +01:00
jsteube
92828910fe Added test_module for -m 300 2018-12-28 21:12:04 +01:00
jsteube
14cda9b33c Added test_module for -m 200 2018-12-28 21:04:31 +01:00
jsteube
9b572d3faa Add remaining updates for test.sh 2018-12-28 20:50:59 +01:00
jsteube
925c089035 test.sh -a 6 fixes 2018-12-28 17:30:52 +01:00
jsteube
813977e419 test.sh first changes 2018-12-28 16:51:40 +01:00
jsteube
bcbaef3853 Fix maximum password and salt length in -m 23 2018-12-28 13:20:20 +01:00
jsteube
e137794555 Fix random_number() and -m 12 contraints 2018-12-28 12:30:57 +01:00
jsteube
e8029cdc5c Generate more reasonable pw and salt length in test.pl mode single 2018-12-28 11:53:41 +01:00
jsteube
062e539b02 Workaround old salt length problem 2018-12-28 10:56:45 +01:00
jsteube
22da2407e9 Make sure word length in test.pl single mode only increases or stays equal to previous one 2018-12-28 00:09:25 +01:00
jsteube
10a7c5df3d Improve test.pl functionality a bit 2018-12-27 19:54:12 +01:00
jsteube
fcaa7d5336 Fix test_modules 2018-12-27 19:43:51 +01:00
jsteube
2afb4e0f36 Fix test.pl single mode if password is '0' 2018-12-27 16:31:36 +01:00
jsteube
7538e82b72 Bring back comparison of hashlist in crackfile 2018-12-27 15:49:18 +01:00
jsteube
97fc147aec Do not try passwords > length 31 in optimized mode, because this works only in -a 3 mode 2018-12-24 14:21:45 +01:00
Jens Steube
5717fcd1a6 Update test_modules and test.pl to respect valid password and salt length ranges per hash mode 2018-12-23 18:15:53 +01:00
Jens Steube
b20591fb89
Merge pull request #1840 from s3inlc/test-plugin-50_60
Added test modules for mode 50 and 60
2018-12-23 15:18:04 +01:00
Jens Steube
ec96c5128f
Merge pull request #1839 from s3inlc/test-plugin-20_21_23
Added test modules for mode 20, 21 and 23
2018-12-23 15:17:49 +01:00
Sein Coray
c15b095088
Added test modules for mode 50 and 60 2018-12-22 23:20:06 +01:00
Sein Coray
b3c29c9412
Added test modules for mode 20, 21 and 23 2018-12-22 22:50:37 +01:00
Jens Steube
1091feb85d
Merge pull request #1838 from s3inlc/test-plugin-10_12
Added test modules for mode 10 and 12
2018-12-22 22:27:58 +01:00
Sein Coray
f476ccc548
added new test module for mode 10 and 12 2018-12-22 22:18:49 +01:00
Jens Steube
146acbd79f
Merge pull request #1837 from s3inlc/test-plugin-18500
Added new test module for mode 18500
2018-12-22 21:19:45 +01:00
jsteube
8bb28837ef Limit single mode to 31 in general as in old test.pl 2018-12-22 21:13:34 +01:00
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