-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Add generic support for Iterated-SHA256 hashes #5948
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: bleeding-jumbo
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds support for cracking Cisco-ISE Hashed Password (SHA256) format to John the Ripper. The implementation follows the established conventions for John the Ripper format plugins and correctly implements the algorithm: SHA256(salt || password) repeated 128 times.
Changes:
- Added new format plugin
cisco_ise_sha256_fmt_plug.cwith OpenMP support - Implemented the Cisco-ISE SHA256 algorithm with 128 iterations
- Included test vectors for validation
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
magnumripper
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Good to see you Dhiru!
|
For what it's worth I believe adding a generic "iterated-sha256" format trivially modelled after iterated-sha1 would crack these hashes (after adding a tag). That would also give OpenCL support with very little work. We'd have to implement this format's optimization in set_salt(). It may not add a huge performance boost but it would add support for arbitrary length salts while keeping the "single limb" optimizations in iterated-shaXX. EDIT: There is no sha_final() in set_salt so it doesn't buy as arbitrary length salt. We'd have to limit plaintext length to 23. Or add slightly more logic. |
80a3952 to
6e36602
Compare
|
@magnumripper Neat idea! I have modified the whole PR now to implement your |
|
Cool, I'll review it as soon as I can |
Tests:
It has been a while... ;)
PS: I am trying out
Codex CLIto auto-generate the code.