本文主要介绍了 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一目了然