本文主要介绍了 WindowsAD域中基于访问控制列表(ACL)的攻击,在AD域的攻击手法中,基于ACL的攻击由于理解起来比较困难,现有的安全设备也很少有对ACL的监控,这种类型的攻击通常会被安全人员所忽视。
1.什么是ACL
在Windows访问控制模型中,有两个主要的组成部分:访问控制令牌(Access Token)和安全描述符(Security Descriptor),访问控制令牌由访问者持有,包含已登录用户的信息,安全描述符与访问对象相关联,主要有四个部分组成OWNER、GROUP、SACL、DACL,其中OWNER和GROUP分别表示对象的拥有者和对象所在的组,用SID的形式表示,SACL和DACL都是由若干条ACE组成,SACL的作用是控制对对象的某个属性访问日志的记录与否,DACL则控制着用户或者组是否对对象有访问权限,这也是我们主要关注的部分,AD域中的对象都是存储在LDAP数据库中,而对象的DACL就存储在nTSecurityDescriptor属性中,我们可以通过服务管理查看对象的ACL。

也可以通过Adfind工具来查询域内对象的ACL

可以看到图1中hackpc对象的ACL一目了然,而图2中OWNER和GROUP的SID还比较好理解,DACL和SACL的表示就完全不知所云了,其实这两者表示的意思是完全相同的,只不过Adfind查询的结果是ACL的原始存储形式,这种ACL表示的格式也就是SDDL(Security Descriptor Definition Language)。
2.SDDL

本文深入探讨了Windows AD域中基于ACL的攻击方式,包括重置密码、资源约束委派、DCSYNC和AdminSDHolder等场景,并提出如何防御这些攻击。通过理解ACL、SDDL,以及各种权限的含义,安全人员能更好地识别和防止潜在的威胁。
最低0.47元/天 解锁文章
456

被折叠的 条评论
为什么被折叠?



