Skip to main content

AdminSDHolder

当我们对整个域乃至森林实现了支配之后,如同前期章节提到的主机持久化,我们也需要对域实现持久化访问。实现域的持久化访问也是有多种方式,现在我们先来讨论 AdminSDHolder。

AdminSDHolder 是一个 DACL 模板,用于保护敏感主体不被更改。我们可以通过修改域管理员组的 DACL 来进行测试,例如让一普通域用户完全控制该分组。 但在约 1 小时后,该实体会消失。受保护的对象列表如下:

Account Operators
Backup Operators
Server Operators
Print Operators
Domain Admins
Replicator
Enterprise Admins
Domain Controllers
Read-only Domain Controllers
Scheme Admins
Administrators

在以上的列表中,一些分组可以在 DC 上本地访问,因此诞生出一些利用手法,例如:

Account Operators:不可以直接修改 Domain Admins、Enterprise Admins 等域组,但是可以更改这些域组的内嵌分组,例如将较低权限的分组添加到Domain Admins 分组

Backup Operators:备份 GPO,编辑以将受控帐户的 SID 添加到特权组并还原

Server Operators:以 SYSTEM 权限执行命令

Print Operators:拷贝 ntds.nit 备份,加载设备驱动


但是,AdminSDHolder 本身不受保护,因此如果我们修改作用于它的 DACL,这些更改将被复制到后续对象。 因此,即使管理员在 DA 等组上看到了恶意 DACL 并将其删除,它也会再次被还原以及重新应用。

对 AdminSDHolder 对象具备域管理员特权 (即完全控制或写权限),可以通过添加具有完全控制或者其他有趣的权限的用户,以实现后门或持久化访问。通过添加具有完全权限的用户。

image.pngimage.png

通过 PowerView实现:

Add-DomainObjectAcl -TargetIdentity 'CN=AdminSDHolder,CN=System,dc=us,dc=techcorp,dc=local' -PrincipalIdentity
studentuser1 -Rights All -PrincipalDomain us.techcorp.local -TargetDomain us.techcorp.local -Verbose