Jens Steube
5a768138e5
Merge pull request #1889 from sharmony/hash-mode-plugin
...
add -m 12 module
2019-01-25 00:58:30 +01:00
sharmo
049d514d60
add -m 12 module
2019-01-24 22:33:06 +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
Jens Steube
e1234a4bbc
Merge pull request #1881 from 0xbsec/m17300_module
...
Add -m 17300 module
2019-01-21 22:14:34 +01:00
mhasbini
9aeb4f602e
Migrate correct parsing function
2019-01-21 20:50:03 +02:00
jsteube
8ad3333d2a
Add module and unit test for hash-mode 3200
2019-01-21 15:22:58 +01:00
jsteube
4b9b59a3cb
Add module 5500
2019-01-21 13:28:52 +01:00
jsteube
b2154b7ed9
Fix use-after-free of hash_name
2019-01-21 10:00:44 +01:00
mhasbini
cc59de6538
Add -m 17300 module
2019-01-20 21:11: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
35265d43f3
Update outfile_check
2019-01-20 10:28:54 +01:00
jsteube
06a5e736b9
Add -m 500 unit test
2019-01-19 20:09:32 +01:00
jsteube
da413b4eaa
Add -m 5100 module
2019-01-18 22:56:37 +01:00
jsteube
1e31b3b271
Add -m 14000 module
2019-01-16 19:55:54 +01:00
jsteube
47f78199f8
Add -m 600 module
2019-01-15 17:12:13 +01:00
jsteube
bc1dd699e3
Add -m 1500 module
2019-01-15 11:53:59 +01:00
jsteube
2915266205
Add -m 18500 module
2019-01-15 10:35:49 +01:00
jsteube
79c8618025
Fix cross-compiled binaries and modules
2019-01-14 15:15:21 +01:00
jsteube
083d6e1fb2
Refresh dynloader management
2019-01-14 10:11:23 +01:00
jsteube
02fe28fe6c
Preparation for -m 501
2019-01-12 23:42:31 +01:00
jsteube
3c794b370b
Add -m 500 module
2019-01-12 21:48:18 +01:00
jsteube
676dd1c410
Clean up some migrated code from interface_migrated.c
2019-01-12 21:30:21 +01:00
jsteube
c3c665a338
Add -m 400 module
2019-01-12 15:33:46 +01:00
jsteube
bc22bfee2e
Some cleanup
2019-01-12 15:05:33 +01:00
jsteube
17bd76ee62
Use settings from selftest hash for benchmark unless overriden by module hooks
2019-01-12 01:59:18 +01:00
jsteube
74265307fe
Automate module interface version management
2019-01-12 00:39:13 +01:00
jsteube
26033e5787
Make use of return length from ascii_digest instead of calling strlen()
2019-01-11 23:11:56 +01:00
jsteube
fcfd07ceb2
Move parse_and_store_generic_salt to shared.c
2019-01-10 20:51:38 +01:00
jsteube
0ae955c5ba
With this commit, all hash_mode depending branches from core files are converted into hooks which can be registered on a module level
2019-01-08 15:55:11 +01:00
jsteube
86819c070f
Add module_hash_save_binary() and module_hash_init_selftest()
2019-01-07 10:05:50 +01:00
jsteube
54edd16746
Clean up some code
2019-01-06 13:48:41 +01:00
jsteube
0186f025d3
Add support for hash modules to usage.c
2019-01-06 13:23:45 +01:00
jsteube
4c133c4567
Prepare hash_category
2019-01-05 21:02:19 +01:00
jsteube
bbcc8fea29
Use MODULE_DEFAULT in module_init to reference a global default function
2019-01-05 20:17:12 +01:00
jsteube
888da50aad
Get rid of hash_mode depending branches in status.c
2019-01-05 19:18:30 +01:00
jsteube
e0deb3f825
Add module_deep_comp_kernel()
2019-01-05 18:44:43 +01:00
jsteube
6cbb5e4992
Refactor kernel_accel, kernel_loops and kernel_threads management in combination with modules
2019-01-05 18:24:37 +01:00
jsteube
9190be8d44
Add forced_kernel_accel function
2019-01-05 17:01:16 +01:00
jsteube
e17c3a54d8
Add hook for unstable_warning
2019-01-04 11:55:06 +01:00
jsteube
5633d6808f
Move hash_mode specific code which enforce the use of the JiT compiler to modules
2019-01-04 11:23:48 +01:00
jsteube
e537197184
Add module_build_plain_postprocess()
2019-01-03 15:43:19 +01:00
jsteube
a81a566121
Remove hashcat_ctx requirement in ascii_digest()
2018-12-21 15:58:15 +01:00
jsteube
0421cc6782
Add OPTS_TYPE_PT_ALWAYS_HEXIFY
2018-12-20 16:12:29 +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
ac55386553
Get rid of hash_mode in selftest.c
2018-12-19 10:58:06 +01:00
jsteube
ea22065b9c
Get rid of hash_mode in user_options.c
2018-12-19 10:13:51 +01:00
jsteube
e56c5035aa
Get rid of hash_mode in wordlist.c
2018-12-19 09:51:25 +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
bd37903131
Add hook_size, tmp_size, hook_salt_size
2018-12-14 17:18:17 +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
ec3f3cd7b6
Switch from size_t to int
2018-12-14 12:21:14 +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
72319875d8
Update version to 5.1.0
2018-12-02 11:58:48 +01:00
Jens Steube
0b2ffec379
Fixed selection of OpenCL devices (-d) if there's more than 32 OpenCL devices installed
2018-11-30 22:59:43 +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
e770449702
OpenCL Runtime: Use our own yielding technique for synchronizing rather than vendor specific
...
Parameter: Rename --nvidia-spin-damp to --spin-damp (now accessible for all devices)
2018-11-20 12:32:24 +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
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
06b39dc3d5
Startup: Show OpenCL runtime initialization message (per device)
2018-11-12 20:45:05 +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
Jens Steube
a5818facf2
Brain: Set --brain-client-features default from 3 to 2
2018-11-11 10:13:38 +01: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
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
2a366741a5
Added new option --kernel-threads to manually override the automatically calculated number of threads
2018-11-06 16:06:06 +01:00
Jens Steube
3eab677bdf
Move the system include where it belongs to
2018-11-04 14:26:19 +01:00
Jens Steube
344ea5b36d
Memory: Reduced default maximum bitmap size from 24 to 18 and give a notice to use --bitmap-max to restore
2018-11-04 10:07:45 +01:00
Jens Steube
83632a83e4
Memory: Limit maximum host memory to allocate depending on bitness
2018-11-03 18:16:49 +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
philsmd
dbb81fb48e
fixes #1744 : added --stdin-timeout-abort to allow a custom time (in seconds) to wait before abort (use 0 to disabled it)
2018-10-31 11:37:06 +01:00
Jens Steube
61ded2bd54
Fixed missing call to WSAStartup() and client indexing in order to start the brain server on windows
2018-10-31 10:50:16 +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
915da5fee3
Some fixes for macOS
2018-10-28 17:29:39 +01:00
Jens Steube
dc39deba0f
Update version to 5.0.0
2018-10-28 16:51:00 +01:00
Jens Steube
d6fe2c7cd4
The hashcat brain
2018-10-28 16:47:13 +01: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
jsteube
d96b649751
Add support for -a 1 in -S mode
2018-10-20 18:00:42 +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
Jens Steube
a4ac370496
Test fix for plain_t in 32 bit mode
2018-10-20 09:46:24 +02:00
Jens Steube
4a9171ca5d
Fix use of select() on stdin on windows
...
Fixes #1705
2018-10-18 11:20:01 +02:00
philsmd
73ed017daf
stdin: add read timeout checks (abort if no input for a long time)
2018-10-17 10:55:47 +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
Jens Steube
6f8b90a11a
Add support for latest OpenCL headers from Khronos
2018-10-14 12:39:11 +02:00
Rosen Penev
77daf05dd0
Add HC_API_CALL to a few functions
...
On 32-bit MinGW, clang was throwing errors about this.
64-bit MinGW and regular MSYS does not throw warnings after the change.
2018-09-18 16:34:00 -07: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
d6ed195db9
Add -a 1 support for slow candidates mode
2018-09-01 23:12:56 +02:00
jsteube
5f797147fb
Link ws2_32 in order to make use of select()
2018-09-01 14:09:24 +02:00
jsteube
fd71da8ade
Add timeout to fgets() for later use
2018-09-01 13:19:29 +02:00
jsteube
52c52836e3
Add new option --slow-candidates which allows hashcat to generate passwords on-host
2018-09-01 12:31:17 +02:00
philsmd
2933f3320a
outfile check: performance improvement by using binary instead of linear search
2018-08-31 12:55:05 +02:00
philsmd
0f449b6440
hcstat2: allow to use option --markov-hcstat2 instead of just --markov-hcstat
2018-08-23 09:10:54 +02:00
jsteube
067ffa9d64
Add more tracker for amplifier and iterations to status screen
2018-08-18 02:17:42 +02:00
jsteube
27db8ced7e
Add a tracker for salts, amplifier and iterations to status screen
2018-08-18 01:41:07 +02:00
jsteube
6092308324
Add sempaphore macros for later use
...
Switch from CriticalSection to regular Mutex on windows
2018-08-16 14:57:10 +02:00
Michael Sprecher
5536ab9917
Getting rid of OPTS_TYPE_HASH_COPY for Ansible Vault
2018-08-15 23:32:58 +02:00
jsteube
4963357fac
Update to v4.2.1
2018-08-07 14:04:04 +02:00
jsteube
afd1efd59c
Fixed a buffer overflow in precompute_salt_md5() in case salt was longer than 64 characters
2018-08-06 15:35:35 +02:00
jsteube
e67195aa11
Try to evaluate available OpenCL device memory and use this information instead of total available OpenCL device memory for autotune
2018-08-05 23:29:54 +02:00
jsteube
13151996bc
Update version number for restore
2018-08-01 22:32:12 +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
jsteube
c1ebfe486f
Refactor --progress-only and --speed-only calculation
2018-07-31 14:41:25 +02:00
jsteube
cd0923f1b8
General file handling: Abort if a byte order mark (BOM) was detected in a wordlist, hashlist, maskfile or rulefile
2018-07-30 13:23:48 +02:00
jsteube
9d43111730
Fix broken hex notation
2018-07-26 11:41:56 +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
cc8fa3ee80
Remove TOKEN_ATTR_TERMINATE_STRING from input_tokenizer() and replace with equalivalent code where it's needed
2018-07-24 13:55:23 +02:00
philsmd
2e1845ec11
fixes #1624 : increase esalt/nonce buffer to 1024 for -m 11400 = SIP
2018-07-23 15:51:39 +02:00