Home AdminSDHolder
Post
Cancel

AdminSDHolder

AdminSDHolder

AdminSDHolder is a container that exists in every Active Directory domain for a special purpose. The Access Control List (ACL) of the AdminSDHolder object is used as a template to copy permissions to all “protected groups” in Active Directory and their members. Protected groups include privileged groups such as Domain Admins, Administrators, Enterprise Admins, and Schema Admins. Active Directory will take the ACL of the AdminSDHolder object and apply it to all protected users and groups periodically, in an effort to make sure the access to these objects is secure.

If an attacker is able to manipulate the ACL for AdminSDHolder, then those permissions will automatically be applied to all protected objects.

Note: This is a domain persistence technigue, therefore, assume we have compromised domain administrator's account and we are trying to achieve persistence in the domain.

Exploitation

Since we have compromised administrator account, we will manipulate acl of AdminSDHolder and give our user usman a GenericAll right on AdminSDHolder.

ma

1
2
3

add-objectacl -TargetIdentity AdminSDHolder -PrincipalIdentity usman -verbose -Rights All

ma

As you can see, usman has been given GenericAll right on AdminSDHolder. We will login to usman account and verify it.

ma

Great!. user usman has GenericAll on AdminSDHolder.

Now after 60+ minutes, the changes will automatically be applied to all protected objects. But we can force the changes to apply immediately via ldp.exe by Modifying DN like so.

ma

Now , let’s confirm that the user usman has GenericAll on the protected objects.

ma

As you can see, user usman has GenericAll on all protected objects.

Since usman has GenericAll on Domain Admins group, he can abuse it to obtain system shell of domain controller.

ma

References

This post is licensed under CC BY 4.0 by the author.