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
jsteube
2530f83029
Move LZMA SDK files into separate folder for compiling
2018-07-23 13:36:23 +02:00
jsteube
34bf28f9d4
Fix __add3 bitops in host code
2018-07-22 12:23:18 +02:00
jsteube
048298020e
All remaining parser functions have been rewritten to make use of input_tokenizer():
...
chacha20_parse_hash
crammd5_dovecot_parse_hash
electrum_wallet13_parse_hash
ethereum_pbkdf2_parse_hash
ethereum_presale_parse_hash
ethereum_scrypt_parse_hash
filevault2_parse_hash
filezilla_server_parse_hash
jks_sha1_parse_hash
jwt_parse_hash
mywalletv2_parse_hash
netbsd_sha1crypt_parse_hash
plaintext_parse_hash
tacacs_plus_parse_hash
tripcode_parse_hash
Removed old generic salt parser function parse_and_store_salt()
2018-07-20 11:00:39 +02:00
jsteube
85aef30dff
The following parser functions have been rewritten to make use of input_tokenizer():
...
opencart_parse_hash
des_parse_hash
win8phone_parse_hash
sha1cx_parse_hash
itunes_backup_parse_hash
skip32_parse_hash
2018-07-19 17:14:33 +02:00
jsteube
ed0ac581cd
The following parser functions have been rewritten to make use of input_tokenizer():
...
keepass_parse_hash
zip2_parse_hash
2018-07-18 17:59:44 +02:00
jsteube
558c2c4aa5
The following parser functions have been rewritten to make use of input_tokenizer():
...
ms_drsr_parse_hash
androidfde_samsung_parse_hash
rar5_parse_hash
krb5tgs_parse_hash
axcrypt_parse_hash
2018-07-17 16:13:55 +02:00
jsteube
a6b52d6faf
The following parser functions have been rewritten to make use of input_tokenizer():
...
ecryptfs_parse_hash
bsdicrypt_parse_hash
rar3hp_parse_hash
cf10_parse_hash
mywallet_parse_hash
2018-07-16 18:22:58 +02:00
jsteube
230ec5e004
Add TOKEN_ATTR_TERMINATE_STRING feature to input_tokenizer()
...
The following parser functions have been rewritten to make use of input_tokenizer():
bitcoin_wallet_parse_hash
sip_auth_parse_hash
crc32_parse_hash
oraclet_parse_hash
seven_zip_parse_hash
2018-07-15 18:10:04 +02:00
jsteube
39418571db
The following parser functions have been rewritten to make use of input_tokenizer():
...
prestashop_parse_hash
postgresql_auth_parse_hash
mysql_auth_parse_hash
2018-07-14 22:40:03 +02:00
jsteube
cd552eb54d
The following parser functions have been rewritten to make use of input_tokenizer():
...
pdf14_parse_hash
pdf17l8_parse_hash
pbkdf2_md5_parse_hash
pbkdf2_sha1_parse_hash
pbkdf2_sha256_parse_hash
pbkdf2_sha512_parse_hash
2018-07-14 12:48:54 +02:00
jsteube
6ee7709d27
The following parser functions have been rewritten to make use of input_tokenizer():
...
djangopbkdf2_parse_hash
siphash_parse_hash
crammd5_parse_hash
saph_sha1_parse_hash
pdf11_parse_hash
pdf11cm2_parse_hash
2018-07-13 09:59:59 +02:00
jsteube
bc8ed67a11
The following parser functions have been rewritten to make use of input_tokenizer():
...
oldoffice01_parse_hash
oldoffice01cm2_parse_hash
oldoffice34_parse_hash
oldoffice34cm2_parse_hash
2018-07-12 18:06:00 +02:00
jsteube
9f4655e131
The following parser functions have been rewritten to make use of input_tokenizer():
...
lotus8_parse_hash
cisco8_parse_hash
cisco9_parse_hash
office2007_parse_hash
office2010_parse_hash
office2013_parse_hash
2018-07-11 11:57:43 +02:00
jsteube
82457d2904
Fixed a missing check for errors on OpenCL device leading to invalid removal of restore file
2018-07-10 13:17:07 +02:00
jsteube
1b30a1d6c7
The following parser functions have been rewritten to make use of input_tokenizer():
...
nsec3_parse_hash
wbb3_parse_hash
racf_parse_hash
androidfde_parse_hash
scrypt_parse_hash
2018-07-09 12:49:42 +02:00
jsteube
f02e72425b
The following parser functions have been rewritten to make use of input_tokenizer():
...
sapb_parse_hash
sapg_parse_hash
drupal7_parse_hash
sybasease_parse_hash
netscaler_parse_hash
cloudkey_parse_hash
2018-07-08 12:55:31 +02:00
jsteube
1c121ef79c
The following parser functions have been rewritten to make use of input_tokenizer():
...
sha512macos_parse_hash
sha512grub_parse_hash
rakp_parse_hash
krb5pa_parse_hash
2018-07-07 11:25:25 +02:00
jsteube
0820fe4100
The following parser functions have been rewritten to make use of input_tokenizer():
...
sha1aix_parse_hash
agilekey_parse_hash
lastpass_parse_hash
fortigate_parse_hash
2018-07-06 13:48:39 +02:00
jsteube
18fed3053a
The following parser functions have been rewritten to make use of input_tokenizer():
...
md5aix_parse_hash
sha256aix_parse_hash
sha512aix_parse_hash
2018-07-05 11:11:24 +02:00
jsteube
7e18ab05be
The following parser functions have been rewritten to make use of input_tokenizer():
...
ikepsk_md5_parse_hash
ikepsk_sha1_parse_hash
2018-07-04 12:58:30 +02:00
jsteube
afd5fa760c
The following parser functions have been rewritten to make use of
...
input_tokenizer():
androidpin_parse_hash
chap_parse_hash
lotus5_parse_hash
lotus6_parse_hash
radmin2_parse_hash
gost2012sbog_256_parse_hash
gost2012sbog_512_parse_hash
2018-07-03 10:23:04 +02:00
jsteube
8b2478d744
The following parser functions have been rewritten to make use of input_tokenizer():
...
sha256crypt_parse_hash
sha512crypt_parse_hash
keccak_parse_hash
blake2b_parse_hash
juniper_parse_hash
oracleh_parse_hash
gost_parse_hash
2018-07-02 09:20:15 +02:00
jsteube
87be2e8cce
The following parser functions have been rewritten to make use of input_tokenizer():
...
sha224_parse_hash
sha256_parse_hash
sha256s_parse_hash
sha384_parse_hash
sha512_parse_hash
sha512s_parse_hash
ripemd160_parse_hash
whirlpool_parse_hash
hmacmd5_parse_hash
hmacsha1_parse_hash
hmacsha256_parse_hash
hmacsha512_parse_hash
mysql323_parse_hash
2018-07-01 10:49:30 +02:00
jsteube
c6eb269784
The following parser functions have been rewritten to make use of input_tokenizer():
...
mssql2000_parse_hash
mssql2005_parse_hash
mssql2012_parse_hash
oracles_parse_hash
episerver4_parse_hash
sha512b64s_parse_hash
hmailserver_parse_hash
phps_parse_hash
mediawiki_b_parse_hash
peoplesoft_parse_hash
skype_parse_hash
djangosha1_parse_hash
redmine_parse_hash
punbb_parse_hash
sha256b64s_parse_hash
atlassian_parse_hash
2018-07-01 09:49:33 +02:00
jsteube
06a34bd026
Convert sha1b64s_parse_hash() to make use of input_tokenizer()
2018-06-30 10:51:21 +02:00
jsteube
384fe1ba15
Add support for multiple valid signatures in input_tokenizer()
2018-06-30 10:39:28 +02:00
jsteube
5728933cd2
Convert sha1b64_parse_hash() to make use of input_tokenizer()
2018-06-30 10:25:10 +02:00
jsteube
d36e70b598
Convert pstoken_parse_hash() to make use of input_tokenizer()
2018-06-30 10:13:26 +02:00
jsteube
3caee75913
Remove some unused enums
2018-06-30 10:03:54 +02:00
jsteube
4991bb85d2
Remove the following obsolete functions and replace them with input_tokenizer():
...
dcc_parse_hash
ipb2_parse_hash
sha1sha1_parse_hash
smf_parse_hash
vb3_parse_hash
2018-06-29 20:31:52 +02:00
jsteube
10556b6324
The following parser functions have been rewritten to make use of
...
input_tokenizer():
descrypt_parse_hash()
md5pix_parse_hash()
md5asa_parse_hash()
netntlmv1_parse_hash()
netntlmv2_parse_hash()
joomla_parse_hash()
2018-06-28 14:24:52 +02:00
jsteube
9196f1ba55
Added rounds_count_length() function to detect optional rounds=
...
substring in *crypt hashes
The following parser functions have been rewritten to make use of
input_tokenizer():
phpass_parse_hash()
md5crypt_parse_hash()
md5apr1_parse_hash()
episerver_parse_hash()
2018-06-27 11:12:35 +02:00
jsteube
f574cbc88a
the following parser functions have been rewritten to make use of
...
input_tokenizer()
dcc2_parse_hash()
dpapimk_parse_hash()
2018-06-26 12:32:58 +02:00
jsteube
a2d99c5ac6
Rewrite several *_parse_hash() functions to use parse_and_store_generic_salt()
2018-06-25 16:30:40 +02:00
jsteube
50824a24c6
Rewrite parse_and_store_salt from scratch and rename original to parse_and_store_salt_legacy() for migration phase
...
Rewrite several *_parse_hash() functions to use parse_and_store_generic_salt()
2018-06-25 11:36:09 +02:00
jsteube
5f83dd8620
Convert cisco4_parse_hash() to make use of input_tokenizer()
...
Convert lm_parse_hash() to make use of input_tokenizer()
2018-06-24 14:04:05 +02:00
jsteube
2abe8caf24
Convert bcrypt_parse_hash() to make use of input_tokenizer()
...
Add more code to input_tokenizer()
2018-06-23 22:32:49 +02:00
jsteube
26dea37c9d
TEST CODE: tokenizer function in order to simplify parsing functions
2018-06-23 16:00:49 +02:00
jsteube
c28fdf7f44
Added hash-mode 16700 = FileVault 2
2018-06-18 14:38:35 +02:00
jsteube
547025ec47
HCCAPX management: Use advanced hints in message_pair stored by hcxtools about endian bitness of replay counter
...
Fixed missing code section in -m 2500 and -m 2501 to crack corrupted handshakes with a LE endian bitness base
2018-06-15 17:00:41 +02:00
jsteube
b88c956d97
Rule Engine: Add JtR compatible support for hex notations in rule engine
2018-06-14 15:08:00 +02:00
jsteube
469fece141
OpenCL Kernels: Abort session if kernel self-test failed
2018-06-13 12:22:54 +02:00
Mathieu Geli
4dbc1f4a87
Implement 7701/7801 SAP CODVN half-hashes
2018-03-06 16:42:53 +03:00
Jaroslav Škarvada
83ce54a736
Add support for building with system lzma-sdk
...
Fixes : #1528
Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2018-02-28 11:21:46 +01:00
Jens Steube
1af8e29a4b
Add round_up_multiple_32() and round_up_multiple_64()
2018-02-13 13:20:29 +01:00
Jens Steube
1361651730
Add OPTS_TYPE_PREFERED_THREAD marker
2018-02-13 10:27:43 +01:00
jsteube
fe4413797e
OpenCL Kernels: Use three separate comparison kernels (depending on keyver) for WPA instead of one
2018-02-13 09:13:35 +01:00
jsteube
91e522d094
Add special marker for speed only mode
2018-02-12 09:41:46 +01:00
jsteube
c4f30220a0
OpenCL Kernels: Refactored kernel thread management from native to maximum per kernel
2018-02-11 21:29:57 +01:00
Jens Steube
d38608b9bc
Add get_kernel_preferred_wgs_multiple() for future use
2018-02-11 16:22:24 +01:00
Jens Steube
1f442b5b0c
Add get_kernel_local_mem_size() for future use
2018-02-11 16:09:50 +01:00
jsteube
ce8f445ebe
Fix a few warnings and divide by zero (speed_pos)
2018-02-11 14:25:55 +01:00
Jens Steube
d656e9c3a4
OpenCL Kernels: Use the kernel local buffer size as additional reference in order to limit the thread-count
2018-02-11 10:56:08 +01:00
jsteube
a7a15df911
OpenCL Kernels: Improve performance preview accuracy in --benchmark, --speed-only and --progress-only mode
2018-02-10 20:44:13 +01:00
jsteube
088c45040b
Remove some redundant constants
2018-02-09 10:48:19 +01:00
Jens Steube
9b1e66d87c
Fixed a race condition in combinator- and hybrid-mode where the same scratch buffer was used by multiple threads
2018-02-09 09:50:13 +01:00
jsteube
05a01d3843
fix some datatypes
2018-02-08 19:13:29 +01:00
jsteube
bd9c17e49a
Add some missing function declarations
2018-02-06 13:06:10 +01:00
jsteube
a3a16f676f
OpenCL Kernels: Add a decompressing kernel and a compressing host code in order to reduce PCIe transfer time
...
For details see https://hashcat.net/forum/thread-7267.html
2018-02-05 17:18:58 +01:00
Jens Steube
fb00b528c4
Improve autotune and synchronize results on same OpenCL devices
2018-02-03 13:49:39 +01:00
jsteube
11b18512c7
Terminal: Add workitem settings to status display (can be handy for debugging)
2018-02-02 23:22:21 +01:00
jsteube
553668bb9f
Added hash-mode 16600 = Electrum Wallet (Salt-Type 1-3)
2018-01-25 15:28:21 +01:00
Jens Steube
7062425d2b
OpenCL Kernels: Use a special kernel to initialize the password buffer used during autotune measurements to reduce startup time
2018-01-23 20:33:26 +01:00
jsteube
7a8239b4c1
Fixed the maximum password length check in password reassembling function
...
Fixes #1492
2018-01-22 18:59:46 +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
ee9ec0f9a7
Add JWT esalt datatype
2018-01-21 15:32:37 +01:00
Jens Steube
bb806d777e
Merge pull request #1493 from mohemiv/master
...
added -m 16400 = CRAM-MD5 Dovecot
2018-01-19 10:13:46 +01:00
Arseniy Sharoglazov
928cf471fb
The hash-mode for "CRAM-MD5 Dovecot" changed from 10201 to 16400
2018-01-17 11:25:21 +03:00
Arseniy Sharoglazov
798f05355f
added -m 10201 = CRAM-MD5 Dovecot
2018-01-15 15:52:52 +03:00
Gabriele Gristina
03fab4a345
Fix clock_gettime() on OSX (v2)
2018-01-11 02:41:16 +01:00
Gabriele Gristina
43ce4f6135
Add checks for clock_gettime() support in Makefile
2017-12-26 14:09:30 +01:00
Gabriele Gristina
4f8343b8b1
Fix clock_gettime() on OSX
2017-12-26 13:49:17 +01:00
philsmd
bf656774bb
fixes #1279 : added -m 16300 = Ethereum Pre-Sale Wallet, PBKDF2-HMAC-SHA256
2017-12-20 11:41:46 +01:00
jsteube
838a71637a
Remove fixed iteration count for apple secure notes
2017-12-17 23:29:02 +01:00
jsteube
458fbcbce4
Merge branch 'master' of https://github.com/hashcat/hashcat
2017-12-13 12:40:31 +01:00
jsteube
d9c5c42966
Rename $SN$ signature to $ASN$ for apple secure notes
2017-12-13 12:36:01 +01:00
jsteube
0d89ddfcd9
Finish adding hash-mode 16200 = Apple Secure Notes
2017-12-13 12:32:38 +01:00
Rosen Penev
aece2cc4be
Get rid of hc_ctime too. Also fix some cppcheck confusion with nvapi.
...
Missed from last pull request.
2017-12-11 13:44:58 -08:00
Jens Steube
c41af948ba
Merge pull request #1471 from neheb/32to64
...
remove special time handling in hashcat.
2017-12-11 16:27:00 +01:00
jsteube
bbe9b723e1
Timer: Switch from gettimeofday() to clock_gettime() to workaround problems on cygwin
2017-12-10 14:02:43 +01:00
Rosen Penev
1c5915cae3
remove special time handling in hashcat.
...
There's a way to get 64-bit time_t and 64-bit stat in MinGW, so use that.
2017-12-09 16:40:45 -08:00
jsteube
494c2724f5
Add some types for later use
2017-12-09 21:39:10 +01:00
jsteube
ea795ef5ab
Move out code to check for hashfile or hash on commandline into dedicated function
2017-12-06 16:12:34 +01:00
jsteube
1184ae1cdd
Added option --benchmark-all to benchmark all hash-modes not just the default selection
2017-12-05 11:08:59 +01:00
jsteube
b864fa5ba7
Removed option --gpu-temp-retain that tried to retain GPU temperature at X degrees celsius, please use driver specific tools
...
Removed option --powertune-enable to enable power tuning, please use driver specific tools
2017-12-01 15:19:10 +01:00
jsteube
5847067c96
First working -m 16100 kernel
2017-11-29 17:00:14 +01:00
jsteube
04a30e6071
Show [r]esume in prompt in pause mode only and show [p]ause in prompt in resume mode only
...
Fixes https://github.com/hashcat/hashcat/issues/1459
2017-11-26 10:50:22 +01:00
philsmd
ef6b20cc30
increase HCBUFSIZ_LARGE and truncate too large strings when copied to old_buf in events
2017-11-18 12:18:56 +01:00
Rosen Penev
353d3c3008
Fix a bunch of cast-qual warnings
2017-11-13 20:46:26 -08:00
Rosen Penev
8458f07a57
Replace char[] with *char
...
The latter is more correct. The side effect is that filesize becomes smaller.
gcc clang
before
O2
756112 762120
Os
674192 680216
after
O2
748456 760728
Os
666536 674728
2017-11-13 12:12:44 -08:00
Jens Steube
5fa91ddbec
Merge pull request #1438 from Duncaen/musl
...
use fallback qsort implementation on linux systems without glibc
2017-11-13 09:06:34 +01:00
jsteube
1b312d14fd
Added hash-mode 16000 = Tripcode
2017-11-11 14:44:56 +01:00
Duncaen
24b8a838d4
use fallback qsort implementation on linux systems without glibc
2017-11-11 04:30:44 +01:00
jsteube
a5c79de43b
Update LZMA SDK files to latest (2017-08-28, 17.01 beta)
2017-11-07 12:27:27 +01:00
Jens Steube
b3b5f924dc
Merge pull request #1426 from neheb/patch-4
...
Fix clang compile under MSYS2
2017-11-05 12:00:16 +01:00
Rosen Penev
1fe16d3ee6
Fix clang compile under MSYS2
...
Clang does not define __WINNT__ under Windows. _WIN32 is the closest thing.
2017-11-04 23:50:00 -07:00
Rosen Penev
0555613305
Remove else statement after return
...
Suggested by clang tidy
2017-11-04 23:43:33 -07:00
Rosen Penev
496fc309fe
Add const to a few parameters.
...
Suggested by clang-tidy
2017-11-04 23:37:41 -07:00
Rosen Penev
707f28c723
partially fix compile for musl
2017-10-30 20:16:54 -07:00
philsmd
19504d6286
add missing function prototypes for the binary-search-tree-based pot sorting
2017-10-25 12:31:17 +02:00
Jens Steube
9568837b12
Revert "Replace PRIu64 with ju. Less verbose."
2017-10-20 12:19:33 +02:00
jsteube
980f04a7b6
Rename instances of OSX to MacOS
2017-10-20 11:58:31 +02:00
jsteube
bf112870a3
OpenCL Runtime: Improved detection for AMD and NV devices on OSX
2017-10-20 11:34:36 +02:00
jsteube
2e85972ec5
Add special detection for NVIDIA OpenCL devices on OSX
2017-10-20 08:39:23 +02:00
Rosen Penev
869b5fb522
Replace PRIu64 with ju. Less verbose.
2017-10-19 19:35:18 -07:00
jsteube
635b2bfd50
Do initial OpenCL device thread management a bit different
2017-10-19 14:54:03 +02:00
philsmd
276879b1ea
show/left: improve speed of --show/--left again by using a single malloc/free for all nodes and reduce RAM by using the first nodes hash information
2017-10-18 12:09:32 +02:00
philsmd
433513a47f
get rid of last_node in pot_tree_entry, we update the first node of the list instead of the last one
2017-10-18 08:54:21 +02:00
philsmd
6542331101
show/left: improved the performance by using a tree and linked node structure
2017-10-17 12:08:17 +02:00
jsteube
51aba5517f
Update some of the visual indicator of active options when benchmarking
2017-10-14 12:54:34 +02:00
jsteube
5e6d43107e
Startup: Check and abort session if outfile and wordlist point to the same file
2017-10-10 11:30:20 +02:00
philsmd
a10a8427cb
fixed the nanosecond access time problem, also working on macos now
2017-10-04 12:23:37 +02:00
jsteube
719f2656b1
Fix empty line check in _old_apply_rule()
2017-10-01 17:03:16 +02:00
philsmd
d8e7f5f05c
fixed problem with cached word lists (dictstat2): nanoseconds must be considered/ignored too
2017-09-29 12:13:29 +02:00
Jens Steube
a037ba0c73
Merge pull request #1375 from neheb/warning
...
Fix for clang and some cppcheck warnings
2017-09-29 11:20:35 +02:00
Rosen Penev
da621fa3be
fix some clang -Weverything warnings
2017-09-27 20:05:04 -07:00
Rosen Penev
ec55209254
remove hc_sleep and _msec.
...
MinGW defines sleep and usleep so just use those directly.
2017-09-23 13:02:34 -07: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
f55446b6f3
HCdict File: Renamed file from hashcat.hcdict to hashcat.hcdict2 and add header because versions are incompatible
2017-09-20 10:22:18 +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
7a278ef035
Fix overflow in out_push()
2017-09-17 12:14:52 +02:00
jsteube
5551337cf6
Show advice to use optimized kernels only if there's actually one for this hash-mode
2017-09-16 22:33:04 +02:00
Jens Steube
fcd20fbacb
OpenCL Runtime: Fall back to 64 threads default (from 256) on AMD GPU to prevent creating too many workitems
2017-08-29 17:36:50 +02:00
jsteube
a0be36d7b8
Fix compile error caused by __add3()
2017-08-27 19:46:17 +02:00
jsteube
688a580d6c
Fixed an integer overflow in innerloop_step and innerloop_cnt variables
2017-08-25 20:52:13 +02:00
jsteube
1d04de3a8e
Limit kernel-loops in straight-mode to 256, therefore allow rules to be stored in constant memory
2017-08-23 12:43:59 +02:00
jsteube
51372438fe
Allow OpenCL kernel inline assembly if ROCm drivers was detected
2017-08-22 18:47:53 +02:00
jsteube
12d95fd22c
Added option --example-hashes to show an example hash for each hash-mode
2017-08-22 11:09:46 +02:00
jsteube
6907981f08
Backport current state of optimized kernel rule engine to CPU
2017-08-20 12:50:24 +02:00
jsteube
f63df45fca
Backport current state of pure kernel rule engine to CPU
2017-08-20 12:27:19 +02:00
jsteube
58d1dedd1e
OpenCL Buffers: Do not allocate memory for amplifiers for fast hashes, it's simply not needed
2017-08-19 19:25:37 +02:00
jsteube
319799bbbf
Switch the datatypes of the variables responsible for work-item count and work-item size from u32 to u64
2017-08-19 16:39:22 +02:00
philsmd
e33e828bc6
replace all time_t/__time64_t with hc_time_t and all related functions
2017-08-16 19:43:41 +02:00
philsmd
1644ac30b5
use an overflow check instead of a hard coded value for ETA
2017-08-16 17:51:35 +02:00
jsteube
ac9bc55c9e
Fall back to 64 threads default (from 256) because modern GPU create too many workitems which then results in too less GPU memory available
2017-08-16 16:13:28 +02:00
philsmd
4a89172140
reformatting; replaced some tabs with spaces
2017-08-16 13:46:40 +02:00
jsteube
1cf6a078b0
Make tmp_size a real size_t as with latest GPU number can exceed 2^32
2017-08-16 13:03:52 +02:00
philsmd
bc1a101d2b
fixes #1321 : new option --wordlist-autohex-disable
2017-08-16 12:42:28 +02:00
jsteube
175931575c
Fixed the version number used in the restore file header
...
Fixes https://github.com/hashcat/hashcat/issues/1320
2017-08-14 12:10:42 +02:00
jsteube
0b0abb5c12
Prepare pure kernel rule engine for performance optimization
2017-08-12 13:04:52 +02:00
jsteube
e47506c610
Use pure kernel rule engine for --stdout
2017-08-12 12:11:48 +02:00
jsteube
f5ee3db5a6
Update cpu rule engine to support passwords up to length 256
2017-08-11 11:15:43 +02:00
jsteube
4f72c8bee6
Add pure kernels for SIP digest authentication (MD5)
2017-08-07 13:39:17 +02:00
jsteube
b847bbb274
Fix calculation of device_name_chksum; should be done for each iteration
2017-07-22 18:46:12 +02:00
jsteube
8f2cbb26de
Update some salt lengths in interface.h
2017-07-20 18:43:55 +02:00
jsteube
03bb234045
Preparation for WPA/WPA2 AES-CMAC: works till PMK
2017-07-20 12:46:18 +02:00
jsteube
f80d91aa94
Allow the skype parser to accept usernames of length SALT_MAX
2017-07-19 22:14:48 +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
f87ac21065
Some small corrections on salt length for MD5-ASA
2017-07-17 20:25:08 +02:00
jsteube
6c932e7ba1
Remove some unused macros
2017-07-14 17:35:53 +02:00
jsteube
967d7b9323
Rename SALT_TYPE_INTERN to SALT_TYPE_GENERIC
2017-07-14 14:57:31 +02:00
jsteube
f70da8a04c
Increase salt length for salt of generic hash types
...
Remove --hex-salt support for non-generic hash types
2017-07-13 11:03:57 +02:00
jsteube
af46a1560b
Vectorized Blockchain, My Wallet and added support for long passwords
2017-07-07 23:32:41 +02:00
jsteube
d3e6ae42f0
Added long passwords support for 7-Zip
2017-07-07 16:48:18 +02:00
jsteube
8abd7ae9d1
Fix some old GCC compiler warnings
2017-07-06 10:35:25 +02:00
jsteube
819b53eb1d
Added long passwords support for sha256crypt $, SHA256 (Unix)
2017-07-05 13:43:14 +02:00
jsteube
907b065e00
Vectorized TrueCrypt PBKDF2-HMAC-SHA512 and added support for long passwords
2017-07-04 12:19:40 +02:00
jsteube
fc100a852b
Added hash-mode 2501 = WPA/WPA2 PMK
...
Fixes https://github.com/hashcat/hashcat/issues/1287
Limited hash-mode 2500 to max length 63
Fixes https://github.com/hashcat/hashcat/issues/1286
2017-07-03 16:11:57 +02:00
jsteube
b9b2112b64
Add pure kernel for -m 1800
2017-07-02 23:27:54 +02:00
jsteube
f7a8e7c54b
Multiple changes:
...
* Added more preparations to support to crack passwords and salts up to length 256
* Added option --length-limit-disable to disable optimization based on password- and salt-length
* Added option --self-test-disable to disable self-test functionality on startup
2017-06-29 12:19:05 +02:00
jsteube
c918173fcf
Get rid of comb_t which can be safely replace with pw_t now
2017-06-25 00:56:25 +02:00
jsteube
a993395f28
Add code to read LZMA compressed hashcat.hcstat2
2017-06-23 14:43:43 +02:00
jsteube
c59432a760
Add hcstat2 support to enable masks of length up to 256, also adds a filetype header
2017-06-23 12:13:51 +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
jsteube
4174f06008
PoC using a length-independant MD4 hash processing in -m 2100
2017-06-18 23:31:40 +02:00
jsteube
a673aee037
Very hot commit, continue reading here:
...
This is a test commit using buffers large enough to handle both passwords and salts up to length 256.
It requires changes to the kernel code, which is not included in here.
It also requires some of the host code to be modified. Before we're going to modify kernel code to support the larger lengths I want to be
sure of:
1. Host code modification is ok (no overflows or underflows)
2. Passwords and Salts are printed correctly to status, outfile, show, left, etc.
3. Performance does not change (or only very minimal)
This is not a patch that supports actual cracking both passwords and salts up to length 256, but it can not fail anyway.
If if it does, there's no reason to continue to add support for both passwords and salts up to length 256.
2017-06-17 17:57:30 +02:00
jsteube
94a35ae50a
Add support for hooks in selftest function
2017-06-14 12:07:33 +02:00
Jens Steube
08fc0ec1fb
Added self-test funcionality for OpenCL kernels on startup
...
Fixed a parser error for mode -m 9820 = MS Office <= 2003 $3, SHA1 + RC4, collider #2
2017-06-13 19:07:08 +02:00
Jens Steube
7e5b8d3f25
Added hash-mode 15500 = JKS Java Key Store Private Keys (SHA1)
2017-06-09 09:56:06 +02: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
jsteube
018bb208d9
Refactor OPTS_TYPE_PT_UNICODE -> OPTS_TYPE_PT_UNICODE_LE and add OPTS_TYPE_PT_UNICODE_BE
2017-06-04 22:46:05 +02:00