Open
Conversation
ToDo Items; 1. Support alternative authentication methods such as NTLM hashes and ccache files 2. Automatically run "certipy find" to find and grab templates vulnerable to ESC1 3. Add jitter and sleep options to avoid detection 4. Add type validation for all variables
Author
|
Also changed the README.md to include updated output, and removed the ToDo section. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi JP, spent some downtime I had and took a shot at implementing everything you had in your To-Do list. I'm not in a position to test these updates in a lab environment sadly, but I tried to do as much fuzzing as I could.
Before you try to merge, I highly recommend you give all the options a shot in a test environment.
Support alternative authentication methods such as NTLM hashes and ccache files
Added three new options and changed
--passwordtorequired=False:Added additional logic to differ between the chosen authentication method:
Please test in a lab environment to ensure this runs/works properly
Automatically run "certipy find" to find and grab templates vulnerable to ESC1
I changed
-template's parameter torequired=False, so that if a user does not supply a known vulnerable template, it'll attempt to run the newfind_vulnerable_templates()function. This function will runcertipy findthroughsubprocessand attempt to mark any templates that have ESC1 vulnerabilities. This section requires double checking in a real environment, since I don't have any Certipy output on hand to test the extrapolation with. If I need to rewrite this logic please lmk. I tried to use this site to get a feel for the output.Add jitter and sleep options to avoid detection
I added two additional options for users:
These options then play into this logic:
So with this, if a user entered the parameters of
-s 2 -j 50, it would have a jitter range of -50% to +50% (mult 0.5-1.5), so the sleep time would vary between ~1-3sec.Add type validation for all variables
Within the
@clickinstance(s), all parameters have atype=definition. With this, I also created a new function ofvalidate_inputs()to help try and reduce clutter withinmain().