1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-26 18:08:20 +00:00
Commit Graph

1004 Commits

Author SHA1 Message Date
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