技术分享 | 域渗透AdminSDHolder

发布者:广州锦行科技
发布于:2021-03-11 10:12


AdminSDHolder是一个特殊的AD容器,通常作为某些特权组成员的对象的安全模板。Active Directory将采用AdminSDHolder对象的ACL并定期将其应用于所有受保护的AD账户和组,以防止意外和无意的修改并确保对这些对象的访问是安全的。

本文由锦行科技的安全研究团队提供,旨在从攻击者的视角还原AdminSDHolder的渗透过程。

图片


一、配置


1、添加:

在域控上操作AdminSDHolder对象的ACL

添加用户test对AdminSDHolder的完全访问权限

powerview:

Add-DomainObjectAcl -TargetIdentity AdminSDHolder -PrincipalIdentity test -Rights All

图片

*由于SDPROP的原因,默认等待60分钟之后生效



2、验证:

Powerview:

Get-DomainObjectAcl adminsdholder | ?{$_.SecurityIdentifier -match "S-1-5-21-363618500-3918876104-3124729890-1139"} | select objectdn,ActiveDirectoryRights |sort -Unique

图片


ADSI:

图片



3、删除:

Remove-DomainObjectAcl -TargetSearchBase "LDAP://CN=AdminSDHolder,CN=System,DC=test,DC=com" -PrincipalIdentity test -Rights All -Verbose

图片




  二、SDPROP

为了将可继承ACE的更改传播到后代对象,域控制器运行一个称为安全描述符传播器(SDPROP)的后台任务。通过修改对象的安全描述符或移动对象时触发此任务。当修改了AdminSDHolder的ACL之后默认等待60分钟以后生效,原理是SDPROP进程在PDC模拟器上每60分钟运行一次,并使用AdminSDHolder设置的安全权限重新标记ACL。


1、注册表SDPROP运营频率: 

修改成等待60秒

reg add hklm\SYSTEM\CurrentControlSet\Services\NTDS\Parameters /v AdminSDProtectFrequency /t REG_DWORD /d 60


2、手动触发SDPROP进程: 

运行->LDP.exe->菜单>连接->连接->服务器输入当前的机器名,端口默认为389

然后连接->绑定凭证->作为当前登录的用户绑定->然后浏览->修改,在属性选项卡中输入FixUpInheritance。在值字段中输入Yes。操作选择添加,然后单击输入,最后运行即可,运行。

图片


三、利用场景


已经获得域控权限,利用AdminSDHolder来进行权限维持,或者寻找受保护AD账户为目标。


枚举受保护AD账户

Get-NetUser -AdminCount |select samaccountname

图片


登录test用户,可以看到test非域管组,却能执行域管权限的命令。

图片




声明:该文观点仅代表作者本人,转载请注明来自看雪