Skip to content
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

Added hash-mode: Citrix NetScaler (PBKDF2-HMAC-SHA256) #3984

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

stumblebot
Copy link

@stumblebot stumblebot commented Apr 5, 2024

Here's code for a new hash-mode. It handles Citrix NetScaler's most recent (since 13.1) local system user password hashing scheme, PBKDF2-HMAC-SHA256 with 2500 rounds.

This is an extension of work done by my colleague @dru1d-foofus and I. You can find some additional background and documentation : here

As a quick summary, this is basically a re-worked implementation of the existing hash mode 10900. The kernel is essentially unchanged and the module has been modified to reflect the the different token parsing scheme and input type (hex instead of base64). I've also made some changes to buffer sizes to reflect the static length of the salt.

I've tested this on a handful of manually generated hashes pulled from a Citrix NetScaler appliance and it works as expected on an OpenCL cpu-based platform, as well as a CUDA-driven gpu-based platform.

Thanks!

@stumblebot
Copy link
Author

Reviewing some other modules that also use PBKDF2-HMAC-SHA256, I can see that creating a 'new' kernel for this is redundant.

The only reason I could see to actually implement and use a new kernel would be to take advantage of the fixed length of the salt/digest values but in my (admittedly amateur) attempts to make these changes I didn't see any performance benefits.

I'll push a change to use the existing 10900 kernel instead of adding a new one.

@stumblebot
Copy link
Author

Consolidated this to use the existing PBKDF2-HMAC-SHA256 kernel, 10900

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant