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 对象具备域管理员特权(即完全控制或写权限),可以通过添加具有完全控制或者其他有趣的权限的用户,以实现后门或持久化访问。通过添加具有完全权限的用户。
通过PowerView实现 (以DA运行)
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