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)
6 years ago
Sein Coray
591c1db0f6
Changed separator for certain hash algorithms to be static
6 years ago
R. Yushaev
831075b532
Fixed the byte order of digest output for hash-mode 11800 (Streebog-512)
6 years ago
Jens Steube
e2a9409413
Merge pull request #1710 from unix-ninja/master
...
Add support for TOTP (RFC 6238)
6 years ago
unix-ninja
55d56baaa5
Fix digest to allow auto optimized code by compiler
6 years ago
Jens Steube
99709a32a3
Allow keepass iteration count to be larger than 999999
6 years ago
unix-ninja
cef3c1cb06
Use C99 format specifier
6 years ago
unix-ninja
fddfd835d2
Support 64 bit timestamps properly
6 years ago
unix-ninja
770e21e5ee
Support 64 bit timestamps properly
6 years ago
unix-ninja
8b2af6b207
More code style changes
6 years ago
R. Yushaev
4d457ca141
Fix conflicts caused by PR GH-1717
6 years ago
unix-ninja
3869ce9246
More coding style fixes
6 years ago
unix-ninja
db4ec8ed2c
Fix formatting to comply with hashcat coding guidelines
6 years ago
unix-ninja
23ee9379c1
Fix zero-padding on token output for matches
6 years ago
unix-ninja
27366c3eff
Don't duplicate existing functionality
6 years ago
unix-ninja
d66200a406
Force --keep-guessing on mode 18100
6 years ago
unix-ninja
83c78cdf0b
Cleanup unused code
6 years ago
unix-ninja
37983de4b2
Fix compile warnings in totp_parse_hash()
6 years ago
unix-ninja
3c3b05d1e5
Resolve conflicts
6 years ago
unix-ninja
6cda8f7077
Change TOTP index from 17300 to 18100
6 years ago
unix-ninja
977b560bb4
Add support for TOTP (RFC 6238)
6 years ago
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)
6 years ago
Jens Steube
8452930795
Allow hashfile for -m 16800 to be used with -m 16801
6 years ago
Jens Steube
6afe989bed
Fixed the tokenizer configuration in postgres hash parser
6 years ago
Jens Steube
1b980cf010
Allow hashfile for -m 16800 to be used with -m 16801
6 years ago
Michael Sprecher
1892b842d7
Increased the maximum size of edata2 in Kerberos 5 TGS-REP etype 23
6 years ago
jsteube
52c52836e3
Add new option --slow-candidates which allows hashcat to generate passwords on-host
6 years ago
Jens Steube
466ea8eaba
Fixed detection of unique ESSID in WPA-PMKID-* parser
6 years ago
Jens Steube
3e149843ae
Fixed detection of unique ESSID in WPA-PMKID-* parser
6 years ago
Michael Sprecher
e975612f82
Fixed the ciphertext max length in Ansible Vault parser
6 years ago
Michael Sprecher
5536ab9917
Getting rid of OPTS_TYPE_HASH_COPY for Ansible Vault
6 years ago
Jens Steube
ce9b56e06c
Allow bitcoin master key length not be exactly 96 byte a multiple of 16
6 years ago
jsteube
634dd71384
Remove some suppressed warnings
6 years ago
jsteube
afd1efd59c
Fixed a buffer overflow in precompute_salt_md5() in case salt was longer than 64 characters
6 years ago
Jens Steube
4a856b1149
Merge pull request #1643 from hops/master
...
Added hash-mode 16900 = Ansible Vault
6 years ago
Michael Sprecher
3a321c8dce
Added hash-mode 16900 = Ansible Vault
6 years ago
jsteube
d11070729b
Fix Token Length Exception on NetNTLMv2 hashes
6 years ago
jsteube
39af031ced
Fix Token Length Exception on NetNTLMv1 hashes
6 years ago
jsteube
bdec457951
TrueCrypt/VeraCrypt cracking: Do an entropy check on the TC/VC header on start
6 years ago
jsteube
b1788a934e
Fix missing TOKEN_ATTR_VERIFY_SIGNATURE in phpass_parse_hash()
6 years ago
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
6 years ago
jsteube
cc8fa3ee80
Remove TOKEN_ATTR_TERMINATE_STRING from input_tokenizer() and replace with equalivalent code where it's needed
6 years ago
magnum
f5e9f4dc85
Fix a couple of gcc-6 -Wpointer-sign build warnings.
6 years ago
philsmd
2e1845ec11
fixes #1624 : increase esalt/nonce buffer to 1024 for -m 11400 = SIP
6 years ago
Jens Steube
eb563f5a10
Fix minimum line length for token 3 in saph_sha1_parse_hash()
6 years ago
Jens Steube
a33af21642
Fix some output formats after refactorization with input_tokenizer()
6 years ago
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()
6 years ago
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
6 years ago
jsteube
ed0ac581cd
The following parser functions have been rewritten to make use of input_tokenizer():
...
keepass_parse_hash
zip2_parse_hash
6 years ago
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
6 years ago
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
6 years ago
jsteube
e1fd84255b
Some fixes for seven_zip_parse_hash() using input_tokenizer()
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
jsteube
18fed3053a
The following parser functions have been rewritten to make use of input_tokenizer():
...
md5aix_parse_hash
sha256aix_parse_hash
sha512aix_parse_hash
6 years ago
jsteube
7e18ab05be
The following parser functions have been rewritten to make use of input_tokenizer():
...
ikepsk_md5_parse_hash
ikepsk_sha1_parse_hash
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
jsteube
06a34bd026
Convert sha1b64s_parse_hash() to make use of input_tokenizer()
6 years ago
jsteube
384fe1ba15
Add support for multiple valid signatures in input_tokenizer()
6 years ago
jsteube
5728933cd2
Convert sha1b64_parse_hash() to make use of input_tokenizer()
6 years ago
jsteube
d36e70b598
Convert pstoken_parse_hash() to make use of input_tokenizer()
6 years ago
jsteube
ea6fd41c01
Merge branch 'master' of https://github.com/hashcat/hashcat
6 years ago
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
6 years ago
Jens Steube
07b49c17f8
Merge pull request #1605 from magnumripper/master
...
Mute another -Wpointer-sign warning.
6 years ago
jsteube
6817876324
Do not increase output length in parse_and_store_generic_salt() if OPTS_TYPE_ST_ADD80 or similar is used
6 years ago
magnum
35a4972bb3
Mute another macOS -Wpointer-sign warning.
6 years ago
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()
6 years ago
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()
6 years ago
jsteube
f574cbc88a
the following parser functions have been rewritten to make use of
...
input_tokenizer()
dcc2_parse_hash()
dpapimk_parse_hash()
6 years ago
jsteube
a2d99c5ac6
Rewrite several *_parse_hash() functions to use parse_and_store_generic_salt()
6 years ago
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()
6 years ago
jsteube
5f83dd8620
Convert cisco4_parse_hash() to make use of input_tokenizer()
...
Convert lm_parse_hash() to make use of input_tokenizer()
6 years ago
jsteube
2abe8caf24
Convert bcrypt_parse_hash() to make use of input_tokenizer()
...
Add more code to input_tokenizer()
6 years ago
jsteube
26dea37c9d
TEST CODE: tokenizer function in order to simplify parsing functions
6 years ago
jsteube
c28fdf7f44
Added hash-mode 16700 = FileVault 2
6 years ago
Jens Steube
fee4cb42cc
Merge pull request #1541 from erpscanteam/master
...
POC for cracking SAP "half hashes" CODVN B+F/G
6 years ago
philsmd
7d6c0d746c
7-Zip: increase the crc length to parse
...
Similar to the increase done with this commit: d382400805
we need to increase the crc length again such that hashcat can load hashes corresponding to some very highly compressed files within the 7-Zip archive.
For reference, this problem was first reported here: https://hashcat.net/forum/thread-7378.html :
as you can see
```
...$1059026$5d00001000): Salt-value exception
```
The value 1059026 is about 1MB of decrypted and decompressed data that needs to be checksummed.
7 years ago
Mathieu Geli
4dbc1f4a87
Implement 7701/7801 SAP CODVN half-hashes
7 years ago
jsteube
63defd1cea
Remove unused variable
7 years ago
jsteube
ca1115a1ee
No longer need to use 32 threads on second dimension for bitsliced algorithms
7 years ago
Jens Steube
872f82ab8d
Get rid of thread limit for bitsliced kernels
7 years ago
Jens Steube
e79feb0b6f
Add more reqd_work_group_size attributes to kernels
7 years ago
Jens Steube
7674c3a556
Revert "Thread limits on bitsliced kernels no longer required"
...
This reverts commit ba5f23474e
.
7 years ago
Jens Steube
ba5f23474e
Thread limits on bitsliced kernels no longer required
7 years ago
jsteube
b8b816eada
Fix 64 marker for -m 11300 and -m 15900
7 years ago
Jens Steube
aa82d8d34d
Re-enable CPU optimizations and some CPU case in thread management
7 years ago
jsteube
dfb95024bc
Fix temporary datatype in wpapmk kernels
7 years ago
Jens Steube
f75accef59
Update -m 2501 selftest hash in order to succeed with new AUX kernels
7 years ago
Jens Steube
6cd6b08229
Other format that base on md5crypt should also use OPTS_TYPE_PREFERED_THREAD
7 years ago
Jens Steube
413ade76fb
Add OPTS_TYPE_PREFERED_THREAD flag for -m 500
7 years ago
Jens Steube
1361651730
Add OPTS_TYPE_PREFERED_THREAD marker
7 years ago
jsteube
fe4413797e
OpenCL Kernels: Use three separate comparison kernels (depending on keyver) for WPA instead of one
7 years ago
jsteube
91e522d094
Add special marker for speed only mode
7 years ago
jsteube
c4f30220a0
OpenCL Kernels: Refactored kernel thread management from native to maximum per kernel
7 years ago
jsteube
ce8f445ebe
Fix a few warnings and divide by zero (speed_pos)
7 years ago
Jens Steube
d656e9c3a4
OpenCL Kernels: Use the kernel local buffer size as additional reference in order to limit the thread-count
7 years ago
Jens Steube
75c4d09301
CPU threads still work better on a single local work item
7 years ago
Jens Steube
b0ff625844
OpenCL Kernels: Thread-count is switched from native to maximum - as a consequence we assume host memory pool of 2GB per GPU
7 years ago
jsteube
088c45040b
Remove some redundant constants
7 years ago
jsteube
05a01d3843
fix some datatypes
7 years ago
jsteube
cdc4f3828b
Reduce max kernel threads from 256 to 64 in -w 4 to save host and GPU memory
7 years ago
jsteube
2f30e5e929
Fixed invalid support for SIMD in -m 400
7 years ago
Jens Steube
3d2c0018fc
Limit the maximum OpenCL thread count to 256
...
If an OpenCL device allows a very high thread count (for example 1024 on nvidia), the host memory required is 32 times as high with 32 (It jumps from 128MB to 4GB device memory requirement). since there's no device with that much device memory (because of 1/4 memory rule) it has to limit the kernel_accel_max to be a very low number because the pws buffer will be so large otherwise. therefore autotune will be unable to calculate a good kernel_accel multiplier. currently there's no OpenCL device known that needs result in a better performance with 1024 threads compared to 256. as a result, we limit the number of threads to 256, which turns out to be a general good value.
7 years ago
jsteube
e877c30ebc
OpenCL Kernels: Remove password length restriction to 16 for Cisco-PIX and Cisco-ASA hashes
...
Fixes #1488
7 years ago
jsteube
553668bb9f
Added hash-mode 16600 = Electrum Wallet (Salt-Type 1-3)
7 years ago
jsteube
7a8239b4c1
Fixed the maximum password length check in password reassembling function
...
Fixes #1492
7 years ago
jsteube
ce0cee0ac4
Stick to original JWT format from jwt.io
7 years ago
jsteube
0796c074c3
Added -m 16500 Kernels
...
Also changed function declaration of parser function from const hashconfig_t to just hashconfig_t
7 years ago
Arseniy Sharoglazov
928cf471fb
The hash-mode for "CRAM-MD5 Dovecot" changed from 10201 to 16400
7 years ago
Arseniy Sharoglazov
798f05355f
added -m 10201 = CRAM-MD5 Dovecot
7 years ago
philsmd
bf656774bb
fixes #1279 : added -m 16300 = Ethereum Pre-Sale Wallet, PBKDF2-HMAC-SHA256
7 years ago
jsteube
838a71637a
Remove fixed iteration count for apple secure notes
7 years ago
jsteube
535945b03a
Fix rename $SN$ signature to $ASN$ for apple secure notes
7 years ago
jsteube
d9c5c42966
Rename $SN$ signature to $ASN$ for apple secure notes
7 years ago
jsteube
0d89ddfcd9
Finish adding hash-mode 16200 = Apple Secure Notes
7 years ago
jsteube
1184ae1cdd
Added option --benchmark-all to benchmark all hash-modes not just the default selection
7 years ago
jsteube
4414b520c8
remove unused variables
7 years ago
jsteube
829ea605c5
Self Test: Skip self-test for mode 8900 user-configurable scrypt settings are incompatible to fixed settings in the self-test hash
...
Self Test: Skip self-test for mode 15700 because settings are too high and create a too long startup time
7 years ago
jsteube
f573c1d96d
Add optimized -m 16100 kernels
7 years ago
jsteube
0fbaff8b90
Revert: Have -m 16100 always running in keep-guessing mode
7 years ago
jsteube
cda0d7dd35
Have -m 16100 always running in keep-guessing mode
7 years ago
jsteube
5847067c96
First working -m 16100 kernel
7 years ago
philsmd
9d58ddd9f6
fixed strtok_r () calls, could prevent memory crashes
7 years ago
philsmd
d382400805
fixes #1450 : allow longer crc32 data length field for -m 11600
7 years ago
Rosen Penev
353d3c3008
Fix a bunch of cast-qual warnings
7 years ago
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
7 years ago
Jens Steube
ea5425b344
Merge pull request #1439 from neheb/master
...
Change atoi family to strtol family
7 years ago
jsteube
1b312d14fd
Added hash-mode 16000 = Tripcode
7 years ago
Royce Williams
59701ee7ed
change wording when user tries -O, but not needed
7 years ago
Rosen Penev
1109017a53
Change atoi family to strtol family
...
Suggested by clang tidy
7 years ago
Rosen Penev
3ba84f17f1
More clang tidy fixes
7 years ago
Jens Steube
77f3eb2864
OpenCL Kernels: Thread-count is set to hardware native count except if -w 4 is used then OpenCL maximum is used
7 years ago
jsteube
d0f5c9f2b3
Rename MacOS to macOS
7 years ago
jsteube
980f04a7b6
Rename instances of OSX to MacOS
7 years ago
jsteube
b99eb92b56
Re-enable amdgpu-pro, do some warm-up in benchmark mode
7 years ago
jsteube
635b2bfd50
Do initial OpenCL device thread management a bit different
7 years ago
jsteube
0d192df517
Run integreted GPU at 8 threads max
7 years ago
Jens Steube
a037ba0c73
Merge pull request #1375 from neheb/warning
...
Fix for clang and some cppcheck warnings
7 years ago
Rosen Penev
148c4335aa
fix printf formats.
7 years ago