Any of the following rights, when misconfigured, comprise an ESC4 vulnerability:
ESC4 Vulnerable Rights
ESC4 Vulnerable Rights
| Right | Description |
|---|---|
Owner | The principal has implicit full control of the object and can edit any property. |
Full Control | The principal has full control of the object and can edit any property. |
Write Property | The principal has generic write on the object and can edit any property. |
Write Owner | The principal can change the owner of the object. |
Write Dacl | The principal can modify the access controls of the object. |
enum-templates --filter-vulnerable command from Certify. For more information about the command and its parameters, please refer to the Command Overview page.
Full Control / Write Property
If a principal hasFull Control or Write Property rights, they have the ability to edit any property on the certificate template domain object, making it fairly straight forward to obtain the desirable abuse scenario conditions.
Steps to Enable ESC1 Abuse Scenario
Steps to Enable ESC1 Abuse Scenario
We need to perform the following steps to modify the certificate template to allow the ESC1 abuse scenario:
- Ensure that our principal has enrollment rights. This can be granted/revoked using the following Certify command:
Certify.exe manage-template --template <template> --enroll <sid>
- Ensure that manager approval is disabled. This can be toggled on/off using the following Certify command:
Certify.exe manage-template --template <template> --manager-approval
- Ensure that authorized signatures are disabled. This can be set using the following Certify command:
Certify.exe manage-template --template <template> --authorized-signatures 0
- Ensure that the template supports client authentication. This can be toggled on/off using the following Certify command:
Certify.exe manage-template --template <template> --client-auth --pkinit-auth --smartcard-logon
- Ensure that the enrollees can supply subject details. This can be toggled on/off using the following Certify command:
Certify.exe manage-template --template <template> --supply-subject
manage-template command and its parameters, please refer to the Command Overview page.
Once the template fits the abuse criteria for ESC1, it is possible to carry out the respective abuse scenario.
Owner / Write Dacl
If a principal hasOwner or Write Dacl rights, they can modify the access controls of the certificate template domain object.
This can be leveraged to grant a principal the Write Property right using the following Certify command:
Certify.exe manage-template --template <template> --write-property <sid>
Now that we have obtained
Write Property rights, we can circle back to Full Control / Write Property.Write Owner
If a principal hasWrite Owner rights, they can modify the owner of the certificate template domain object.
This can be leveraged to grant a principal the Owner right using the following Certify command:
Certify.exe manage-template --template <template> --owner <sid>
Now that we have obtained
Owner rights, we can circle back to Owner / Write Dacl.