1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-07-24 15:38:47 +00:00
Commit Graph

2964 Commits

Author SHA1 Message Date
Jens Steube
a53e05c8f7 Update -m 33400 to latest hashcat base 2025-07-15 09:52:35 +02:00
hashcat-bot
b324177172
Merge pull request #3940 from c0rs/racf-kdfaes-support
Added plugin for RACF KDFAES hashes
2025-07-15 09:50:33 +02:00
Jens Steube
ef0c23f2fb Updated -m 32800 to latest hashcat base
Fixed -m 32800 false negative in -a 3 multihash cracking in optimized mode
2025-07-15 09:35:37 +02:00
hashcat-bot
29691c31d8
Merge pull request #3977 from PenguinKeeper7/md5sha1md5
Added hash-mode: md5(sha1(md5($pass)))
2025-07-15 09:19:43 +02:00
Jens Steube
24fcb3d656 Renamed -m 32800 to -m 21900 2025-07-15 09:18:51 +02:00
hashcat-bot
ca87b1008c
Merge pull request #3945 from ventaquil/code-cleanup-veracrypt
VeraCrypt code cleanup
2025-07-15 07:18:36 +02:00
Gabriele Gristina
8f389bb205
Fix the same Apple Intel bug with Metal on inc_rp_optimized, this time on Apple Silicon 2025-07-15 02:06:35 +02:00
Gabriele Gristina
f39f7cc877
cleanup 2025-07-14 16:09:09 +02:00
Gabriele Gristina
4444aa9eea
Fix HC_INLINE_RP macro on inc_rp_optimized.h 2025-07-14 00:30:12 +02:00
Gabriele Gristina
867b3d4df1
Fixed bug in inc_rp_optimized.cl on Apple Intel with Metal
Fixed old/critical bug on Apple Intel with Metal by patching inc_rp_optimized.cl.
Tested on Apple Intel and Silicon with Metal/OpenCL and on Linux with CUDA, HIP, OpenCL GPU/CPU

Metal Backend: parallelize pipeline state object (PSO) compilation internally

Set unexported setting, setShouldMaximizeConcurrentCompilation, to boost kernel build process on Apple Metal (only >= 3)
2025-07-14 00:25:58 +02:00
hashcat-bot
4e93d23d04
Merge pull request #4074 from magnumripper/pdf13
Added m10510 for PDF 1.3 - 1.6 using RC4-40
2025-07-13 19:23:37 +02:00
hashcat-bot
558f9b859d
Update 10510 kernel to latest hashcat base 2025-07-13 19:14:56 +02:00
hashcat-bot
7320dcd90e
Merge branch 'master' into whitespace_indentation_fix 2025-07-13 18:47:40 +02:00
hashcat-bot
ec6a8b5f81
Merge pull request #4017 from fin3ss3g0d/master
Add Apache Shiro 1 algorithm (12150)
2025-07-13 15:24:54 +02:00
Jens Steube
b7aabe4cb4
It's possible to implement the kernel entirely in registers, since all offsets are known throughout the algorithm's lifetime 2025-07-13 15:23:18 +02:00
Gabriele Gristina
a40e9e07b5
Metal Backend: define USE_BITSELECT and USE_SWIZZLE for Apple Intel 2025-07-13 12:14:01 +02:00
Jens Steube
725528058c Fix funnelshift usage on AMD and NV platforms
While HIP doesn't have funnelshift emulation, it's better to use the
native __builtin_amdgcn_alignbit() on AMD. For NVIDIA, we need to make
sure the target matches a supported SM version and fall back to
byte_perm() otherwise.

Fix hash-mode 6900 in optimized mode and attack mode 3

This hash-mode doesn't use any stopbit, and if the password length is
exactly 16 or 32, then hashcat selects the next higher kernel, e.g., s16
for password length 32. For such corner cases, we must copy s08 code to
s16. It doesn't seem other algorithms are affected. Some have the s16
body left empty, but they have a password length limit < 32.

Add test_edge* to .gitignore
2025-07-13 08:59:52 +02:00
Jens Steube
16b75ed2de Fixed -m 20800 with OPTS_TYPE_PT_ADDBITS14 2025-07-12 14:06:01 +02:00
Jens Steube
0a3be95445 Added ARGON2_G() for CPU, improving performance from 91 H/s to 97 H/s.
This works because CPUs support hardware 64-bit rotate.

Added hc_umullo() and rewrote trunc_mul() for Argon2. No performance
impact, but trunc_mul() is now easier to read.

Re-enabled USE_BITSELECT, USE_ROTATE, and USE_SWIZZLE for OpenCL. We
have a new unit test script; let's see if OpenCL runtimes have
improved.

Previous fix for -m 21800 in multihash mode was incomplete. Now
shows the correct cracked hash.

Re-enabled --hwmon-disable for users. While it's important for SCRYPT
and Argon2 performance, a warning is now shown when it affects
speed.

Updated hash modes with OPTS_TYPE_NATIVE_THREADS:
1376x, 1377x, 1378x, 14800, 19500 and 2300x.
2025-07-12 13:47:37 +02:00
hashcat-bot
900bd0b74e
Merge branch 'master' into fix_7801 2025-07-12 06:56:20 +02:00
Gabriele Gristina
dc3418eaa4
Fixed bug in module_constraints and kernel for hash-mode 7801 2025-07-12 01:49:22 +02:00
Gabriele Gristina
dbd41ca750
Fixed bug in module_constraints and kernel for hash-mode 7800 2025-07-12 01:35:25 +02:00
hashcat-bot
3003a23909
Merge branch 'master' into fix/mode-m21310 2025-07-11 20:08:53 +02:00
hashcat-bot
24fc384e6b
Merge pull request #4108 from matrix/cast-cleanup
Kernel: Renamed multiple defines in CAST cipher to fit expected naming convention of the C++ language standard
2025-07-11 20:05:41 +02:00
hashcat-bot
5322bec828
Merge pull request #4112 from matrix/issue_3652_v2
Added hash-mode: md5(md5(md5($pass.$salt1)).$salt2)
2025-07-11 19:58:16 +02:00
Jens Steube
d7fb2ffa06 Fixed both a false positive and a false negative in -m 21800. Previously,
only the first hash in a multihash list was marked as cracked, regardless
of which hash was actually cracked. For example, if the second hash was
cracked, it incorrectly marked the first as cracked and left the second
uncracked. This issue only affected beta versions and only in multihash
cracking mode.

Added deep-comp kernel support for Kerberos modes 28800 and 28900,
enabling multihash cracking for the same user in the same domain, even if
the password was changed or the recording was bad.

Added a rule ensuring that device buffer sizes for password candidates,
hooks, and transport (tmps) must be smaller than 1/4 of the maximum
allocatable memory. If not, hashcat now automatically reduces kernel-accel
down to 1, then halves the number of threads and restores kernel-accel up
to its maximum, repeating until the size requirement is met.

Fixed salt length limit verification for -m 20712.

Fixed password length limit for -m 14400.

Fixed unit test salt generator for -m 21100, which could produce duplicate
hashes under certain conditions.

Added the OPTS_TYPE_NATIVE_THREADS flag to the following hash modes
(after benchmarking): 7700, 7701, 9000, 1375x, 1376x, 14800, 19500, 23900.
2025-07-11 15:02:58 +02:00
Ewald Snel
e61066f10b Added CPU support for argon2 (34000 plugin).
- Used blake2b_transform() instead of blake2b_update() to avoid compiler problems
   on Intel OpenCL and segfaults on POCL (still unsure of exact cause but possibly
   related to the shuffle functions in combination with these OpenCL drivers).
 - Remove 'bug' comments (these are resolved now).
 - Added implementation of 'argon2_hash_block()' for non-warped (CPU) case.
 - Introduced 'LBLOCKSIZE' for the size of an argon2 block per thread in u64.
   Most of the code should now be able to support any warp/wavefront size.
2025-07-11 11:20:59 +02:00
hashcat-bot
11677e218e
Merge pull request #4307 from PenguinKeeper7/electrum-fix
Search for more Electrum prv key prefixes
2025-07-11 07:45:48 +02:00
PenguinKeeper7
d4cefed0a7 Search for more Electrum prv key prefixes 2025-07-10 21:24:44 +01:00
hashcat-bot
c63b810e86
Merge pull request #4301 from matrix/fix_33800
fix build errors with 33800
2025-07-10 18:45:13 +02:00
hashcat-bot
3085addca0
Merge pull request #4302 from matrix/fix_32500
fix build errors with 32500 on Metal
2025-07-10 18:44:32 +02:00
hashcat-bot
ff76cdc3e7
Merge pull request #4303 from matrix/fix_32700
fix build errors with 32700 on Metal
2025-07-10 18:43:59 +02:00
Jens Steube
06344910a4 Refactored HIP kernel code for improved performance and cleanup
- Replaced inline asm in hc_byte_perm() with __builtin_amdgcn_perm()
- Replaced inline asm in hc_bytealign() with __builtin_amdgcn_alignbyte()
- Defined HC_INLINE as default for HIP, significantly boosting kernel performance of pure kernels
- Removed IS_ROCM from inc_vendor.h as it's no longer needed
- Removed backend-specific code from several hash-modes and inc_rp_optimized.cl, as hc_bytealign_S() is now available on all backends
2025-07-10 13:31:00 +02:00
Gabriele Gristina
3ed45d4e83
fix build errors with 32700 on Metal 2025-07-09 22:37:59 +02:00
Gabriele Gristina
3d6ebd00b7
fix build errors with 32500 on Metal 2025-07-09 22:34:05 +02:00
Gabriele Gristina
a590ce8351
fix build errors with 33800 2025-07-09 22:19:02 +02:00
Jens Steube
5ffbc5edc4
Merge pull request #4123 from PenguinKeeper7/metamask-false-positive
Raise Metamask false positive rate
2025-07-09 16:15:55 +02:00
hashcat-bot
470954de71
Merge pull request #4296 from matrix/argon2_metal_moreStable
got stable cracking with argon2 on Apple Metal
2025-07-09 09:46:07 +02:00
hashcat-bot
b5856d793c
Merge pull request #4149 from Sc00bz/totp
Added support for multiple TOTP codes
2025-07-09 09:44:43 +02:00
Jens Steube
290360ee55 Merge PR #4189 with minor edits 2025-07-09 09:14:21 +02:00
luke
5f41bfa3f4 Updated to latest hashcat base 2025-07-09 09:14:09 +02:00
Jens Steube
c4c4a9fdc5 Merge PR #4194 2025-07-09 09:10:33 +02:00
Gabriele Gristina
adbf9d175b
using simd_shuffle on Apple Metal for argon2 2025-07-09 08:16:00 +02:00
Gabriele Gristina
5210ccd50d
got more stable cracking with argon2 on Apple Metal 2025-07-08 22:44:23 +02:00
Jens Steube
853b149561 Argon2: add early support for multihash mixed mode cracking
This commit introduces initial support for mixed mode multihash cracking
in Argon2. Although I was skeptical at first, the final solution turned
out better than expected with only a minimal speed loss (1711H/s ->
1702H/s).

Unit tests have been updated to generate random combinations of
Argon2-I/D/ID with randomized m, t, and p values. So far, results look
solid.

Note: This is a complex change and may have undiscovered edge cases.

Some optimization opportunities remain. JIT-based optimizations are not
fully removed. We could also detect single-hash scenarios at runtime
and disable self-tests to re-enable JIT. Currently, the kernel workload
is sized based on the largest hash to avoid out-of-bound memory access.
2025-07-08 20:46:16 +02:00
Jens Steube
b98d5d5f8a Fixed out-of-boundary read for -a 9 when using the new OPTS_TYPE_THREAD_MULTI_DISABLE parameter. This only affected Argon2.
Fixed compiler warnings in inc_hash_argon2.cl.
Moved argon2_tmp_t and argon2_extra_t typedefs from argon2_common.c back to the module to allow plugin developers to modify them when using Argon2 as a primitive.
Slightly improved autotune behavior for edge cases such as 8700 and 18600, where some algorithms started with theoretical excessively high value, leaving no room for proper tuning.
Removed argon2_module_kernel_threads_min() and argon2_module_kernel_threads_max() from argon2_common.c. Switched to using OPTS_TYPE_NATIVE_THREADS instead. Plugin developers can still use it. This simplifies CPU integration, as CPUs typically run with a single thread.
Updated plugins 15500 and 20510. Added a thread limit to prevent autotune from selecting an excessively high thread count. The issue originated from the runtime returning an unrealistically high ideal thread count.
2025-07-08 13:21:10 +02:00
Jens Steube
9457c62ef0 Removed redundant casts in inc_hash_blake2b.cl and inc_hash_blake2s.cl.
Fixed parameter types in inc_hash_blake2b.cl and inc_hash_blake2s.cl for FINAL value.
Added kernel code for -m 15400 to s04/s08/m04/m08, even if not needed, to help autotune find optimal workitem settings.
Fixed a rare autotune case (e.g. in mode 18600) where threads_min was not a multiple of kernel_preferred_wgs_multiple, and changes it so that as long as it only threads_min is affected and not threads_max, we now ensure at least kernel_preferred_wgs_multiple.
Improved autotune logic for best thread count: double thread count until reaching the device's preferred multiple, then increase in steps of that multiple while comparing efficiency vs. runtime, and select the configuration with best efficiency, not highest thread count.
Always set funnelshift support to true for HIP devices, as it always reports false.
Set minimum loop count to 250 for all VeraCrypt modes with PIM brute-force support.
2025-07-05 19:44:31 +02:00
Jens Steube
6150fd5d37
Merge branch 'master' into totp 2025-07-04 21:30:33 +02:00
Gabriele Gristina
80803e2ea5
fix -a9 by add missing get_global_id() in m34000_loop 2025-07-04 08:04:44 +02:00
Gabriele Gristina
bcc351068f
Metal Backend:
- added support to 2D/3D Compute
- improved compute workloads calculation
Makefile:
- updated MACOSX_DEPLOYMENT_TARGET to 15.0
Unit tests:
- updated install_modules.sh with Crypt::Argon2

Argon2 start works with Apple Metal
2025-07-03 22:06:32 +02:00