Commit Graph
219 Commits
Author SHA1 Message Date
jsteube a81a566121 Remove hashcat_ctx requirement in ascii_digest() 2018-12-21 15:58:15 +01:00
jsteube cfc9772e0e Add module_hash_decode_zero_hash() 2018-12-20 12:59:56 +01:00
jsteube 3ad6fab63e Add module_potfile_disable() 2018-12-20 11:04:37 +01:00
jsteube da30151b70 Get rid of hash_mode in outfile_check.c 2018-12-20 10:43:57 +01:00
jsteube 6928e5bfbe Get rid of hash_mode in outfile_check.c 2018-12-20 10:33:29 +01:00
jsteube 4028bae578 Use dynloader.c instead of dlopen() directly 2018-12-19 16:09:28 +01:00
jsteube 7e1e1d34f8 Use real dlopen() to load the module 2018-12-19 13:43:45 +01:00
jsteube fa0b8e643d Fix pwdump column names 2018-12-19 11:15:18 +01:00
jsteube ea22065b9c Get rid of hash_mode in user_options.c 2018-12-19 10:13:51 +01:00
jsteube abbfc3d10b Get rid of hash_mode in hlfmt.c 2018-12-18 16:59:00 +01:00
jsteube 4993a85b27 Get rid of hash_mode in dictstat.c 2018-12-18 15:00:00 +01:00
jsteube 3c37daf94b Get rid of hash_mode in autotune.c 2018-12-17 18:49:07 +01:00
jsteube e2899aa83c Move code to migrate into separate files 2018-12-17 14:47:34 +01:00
jsteube 074947c6db Get rid of hashconfig_get_kernel_threads() and hashconfig_get_kernel_loops() 2018-12-17 13:03:32 +01:00
jsteube af22a9d1d9 Remove hashconfig_forced_kernel_threads() 2018-12-17 12:42:07 +01:00
jsteube 6e794841e3 Add default_benchmark_esalt(), default_benchmark_hook_salt(), default_benchmark_salt() 2018-12-17 11:16:53 +01:00
jsteube e79fa9c22f Simplify use of default functions 2018-12-16 19:01:05 +01:00
jsteube ca169a890c Add more global default value functions 2018-12-15 19:46:55 +01:00
jsteube 1d8c31a7e2 Add more global default value functions 2018-12-15 19:04:05 +01:00
jsteube a4fb31e8f7 Add more global default value functions 2018-12-15 16:24:37 +01:00
jsteube 3848c73f80 Add decoder_apply_optimizer ()
Add encoder_apply_optimizer ()
Add decoder_apply_options ()
Add encoder_apply_options ()
2018-12-15 15:22:40 +01:00
Jens Steube 9cf5d9cd6b Merge pull request #1823 from hashcat/master
Backports from master
2018-12-14 15:33:53 +01:00
Jens Steube 3aecd150f9 Call module_hash_encode() in ascii_digest() 2018-12-14 15:29:57 +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
Jens Steube 222d76f01e Replace parse_func() with module_hash_decode() 2018-12-14 12:22:13 +01:00
Jens Steube 42c3ab0485 Merge pull request #1820 from hashcat/master
backports from master
2018-12-13 14:22:28 +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 c6dcb1b8ae Merge pull request #1809 from hashcat/master
Backports from master
2018-12-09 20:41:00 +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 55add7c60e The goal of this branch to develop a plugin like interface for hashcat kernels.
The modification of existing core source files to add new hashcat kernels conflicts with the idea of having private hashcat kernel repositories especially when backporting latest hashcat core changes and new features.
The final outcome of this should be a plugin format that does not require modifications on the core soruce files.
Also convert all existing hash-modes to hashcat modules.
We'll start with dynamic loading the modules at runtime rather than linking them at compile time.
This will require some extra code for different OS types but should beneficial on a long term.
This commit add some first ideas of how such modules could look like, however there's no dynamic loading interface yet.
Next steps will be removing all hash-mode depending special code from source files and move them to the modules.
Finally merge with master.
2018-12-06 14:02:10 +01:00
Sein Coray c941e55a35 Extended IKE PSK md5/sha1 (-m 5300/5400) to print hashes correctly 2018-12-05 12:57:54 +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
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
Jens Steube 3eab677bdf Move the system include where it belongs to 2018-11-04 14:26:19 +01: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
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
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
unix-ninja 37983de4b2 Fix compile warnings in totp_parse_hash() 2018-10-16 17:39:46 -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 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
Michael Sprecher 5536ab9917 Getting rid of OPTS_TYPE_HASH_COPY for Ansible Vault 2018-08-15 23:32:58 +02:00
Michael Sprecher 3a321c8dce Added hash-mode 16900 = Ansible Vault 2018-08-01 19:44:30 +02:00
jsteube bdec457951 TrueCrypt/VeraCrypt cracking: Do an entropy check on the TC/VC header on start 2018-07-31 16:18:45 +02:00