Windows原理深入学习系列-访问控制列表

这是[信安成长计划]的第 19 篇文章0x00 目录0x01 介绍0x02 DACL0x03 创建DACL0x04 文件读取测试0x05 进程注入测试0x06 原理分析 Win10_x64_20H20x07 参考文章在最后分析的时候纠正一下网上大批分析文章中的一个错误,东西只有自己实践了才知道0x01 介绍在上一篇讲强制完整性控制的时候提到过,在权限检查的时候,会先进行强制完整性检查,然后再进行 DACL 检查,DACL 就是包含在这次要提到的 ACL 当中的。访问控制列表(Acce
摘要由CSDN通过智能技术生成

这是[信安成长计划]的第 19 篇文章

0x00 目录

0x01 介绍

0x02 DACL

0x03 创建DACL

0x04 文件读取测试

0x05 进程注入测试

0x06 原理分析 Win10_x64_20H2

0x07 参考文章

在最后分析的时候纠正一下网上大批分析文章中的一个错误,东西只有自己实践了才知道

0x01 介绍

在上一篇讲强制完整性控制的时候提到过,在权限检查的时候,会先进行强制完整性检查,然后再进行 DACL 检查,DACL 就是包含在这次要提到的 ACL 当中的。

访问控制列表(Access Control List,ACL),其中的每一项叫做访问控制条目(Access Control Entries,ACE)。

访问控制列表是属于安全对象的安全描述符的,根据文档可以看出来,安全描述符中包含了两个跟 ACL 相关的信息,DACL(discretionary access control list)和 SACL(system access control list)

DACL 可以对发起请求的用户或者组进行权限控制,允许或者拒绝它们的访问

SACL 使监视对受保护对象的访问成为可能,其信息会在安全日志中被记录

图片

那所谓的安全对象又是什么,根据微软提供的文档可以发现,文件、目录、进程、线程、注册表、服务、管道、打印机、网络共享等等都属于安全对象,也就意味着它们都拥有 DACL 和 SACL,也就说明了所有这些内容都是可以进行权限控制和日志记录的。

说了这么多,那到底 DACL 和 SACL 都是什么东西,这其实就是我们平时最常见的安全属性界面

图片

DACL、SACL、ACE 分别对应的就是下面这些

图片

接下来我们重点来说一下 DACL

0x02 DACL

对于 DACL 的不同情况,Windows 也会有不同的处理方式

如果安全描述符中没有 DACL,即 DACL 为 NULL,Windows 会允许任何用户的完全访问权限。

如果有 DACL,但是 DACL 为空,即没有 ACE,Windows 将不允许任何用户的任何访问

如果有 DACL,也有 ACE,Windows 将会依次检查 ACE,直到找到一个或多个 ACE 允许所有请求的访问权限,或者直到任何请求的访问权限被拒绝

对于前两种就不必多说了,主要来说一下第三种情况,这里就借用微软的图来说一下

图片

Thread A 拥有 Andrew 的访问令牌,当 Thread A 访问 Object 对象的时候,会从 DACL 中的第一个 ACE 开始检查,第一个权限是 Access denied,用户名是 Andrew,刚好与 Thread A 相同,就发生了拒绝访问。

Thread B 拥有 Jane 的访问令牌,当 Thread B 访问 Object 对象的时候,也会从第一个 ACE 开始检查,第一个并不满足;然后检查第二个,Group A 的允许写,而 Jane 是属于 Group A 的,所以获得了写的权限;然后检查第三个,Everyone 有读和执行权限,所以 Thread B 就有了读、写、执行权限。

根据上面这个例子也能够看出来,ACE 顺序的重要性,如果第一个不是对 Andrew 的禁止的话,Thread A 就已经获取到权限了。

同时 ACE 也是可以被继承的,在每个 ACE 中都有一个专门标记与继承相关信息的标志位,一般最常见的就是全继承,父对象与子对象具有相同的权限控制和审计设置。

需要注意的是,继承而来的 ACE,在子对象中是不能进行修改的,找两个例子就可以看出来了

这一项是没有被继承的,权限位是可以进行修改的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值