-
Notifications
You must be signed in to change notification settings - Fork 14.5k
Update the ldap_esc_vulnerable_cert_finder to check enrollment permissions #20471
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
Update the ldap_esc_vulnerable_cert_finder to check enrollment permissions #20471
Conversation
Looks great, testing was as expected 🎉 Testing Run with
Now the certificates that are not vulnerable and cannot be enrolled into by the user authenticating are no longer displayed:
We can now see that ESC16 is flagged as being potentially vulnerable:
|
Release NotesAdds an enhancement to the ldap_esc_vulnerable_cert_finder module. The module will now check for enrollment permissions on both the template and CA server, meaning users can filter their results to only show templates that are vulnerable and that they have the necessary permissions to enroll in; this can be done using the new REPORT datastore option. |
This is a draft but the Tl;Dr is that the
ldap_esc_vulnerable_cert_finder
will now check for enrollment permissions on both the template and CA server. This means users can filter their results to only show templates that are vulnerable and that they have the necessary permissions to enroll in. See theREPORT
datastore option's new documentation.The new permissions allow us to detect when a particular user can enroll in a certificate and issue it, enabling us to call this out to the operator since it's actionable. Previously, operators would see templates that have a misconfiguration and are published but that they may or may not have permissions to issue. This is still the default behavior due to the default setting of
REPORT=vulnerable-and-published
.The
REPORT
setting is divided up into levels of increasingly strict filtering which can be used based on what information the operator wants:Verification
REPORT=all
and see all certificate templates, regardless of whether or not they have a misconfiguration or are even published.REPORT=vulnerable-and-enrollable
and only see certificate templates with vulnerabilities you can exploit. Templates that are "vulnerable" but that you don't have the permissions to should now be hidden.REPORT=vulnerable-and-published
see pretty much the same results as the old behavior. The noteable changes are that we check for ESC16 and flag it as potentially vulnerable, and the permissions for the template object are displayed