简介

ACL是Access Control List的缩写,是一种用于控制对对象(如文件、文件夹、注册表项等)访问权限的机制。在内网渗透中,ACL通常指代Windows环境下的访问控制列表,它由一系列访问控制条目(ACE)组成,用于定义用户或用户组对对象的访问权限。

ACM

Windows访问控制模型(Access Control Model、ACM)是Windows操作系统中用于管理和控制资源访问权限的基础组件。

它由访问令牌(Access Token)和安全描述符(Security Descriptor)组成:

  • 访问令牌:标识了用户或进程的身份(User SID,Group SIDS)、权限。
  • 安全描述符:被访问的安全对象(如文件、文件夹、注册表项等)的安全属性和访问规则。

通过ACL(Access Control List)和ACE(Access Control Entry),Windows访问控制模型允许管理员灵活地配置和管理资源的访问权限,以确保系统的安全性和完整性。

用通俗一点的话来说 ACM 就是一个判断你在一个档案馆(在这里可以理解为整个域)里是否有权限打开某个档案抽屉(用户对象、用户组对象、Computer对象),并且是否能在这个档案抽屉中取走、存放、修改档案(读、写、修改)的一个模型。

访问流程

对象A来访问B:

  • A会出示自己的Access Token,其中包含自己的用户sid,自己所在的组的sid,以及特权列表。
  • B首先判断是不是需要特权才能访问,如果需要特权,则查看A的Access Token是否有特权。
  • B通过A的Access Token,判断A的用户sid以及组sids,跟自己的ACL做比对,来判断是否让A进行访问。

ACL

主要有2个作用:

  1. 权限访问控制:一个用户能不能访问安全对象
  2. 日志记录功能:访问成功与否

根据2个作用,ACL分为DACL和SACL:

  1. DACL(Discretionary Access Control List):这种类型的ACL控制对象的访问权限,它决定了哪些用户或组对对象具有何种类型的访问权限。
  2. SACL(System Access Control List):这种类型的ACL用于审计目的。SACL允许您跟踪对对象的访问尝试,以便在安全事件发生时生成安全日志。

image-20240329上午102137780

ACE

DACL和SACL都是由一条条的ACE(Access Control Entry)构成,上面红色框中每一项都是一条ACE,ACE定义了针对特定用户或组的权限授予或拒绝的配置结构。

一条ACE可以分为4个关键点:

  1. 谁拥有权限:确定哪些用户或组具有访问权限。
  2. 允许或拒绝访问:确定是否允许访问。
  3. 权限的继承:指示权限是否可以被子对象继承。
  4. 授予了什么权限:指定允许的访问类型。

image-20240329上午103951335

SDDL

SDDL(Security Descriptor Definition Language)是一种文本格式,用于描述Windows系统中对象的安全描述符,它是 nTSecurityDescriptor 的一种可读形式。在内网渗透中,SDDL常用于描述权限和访问控制列表(ACL),以便于理解和修改系统对象的安全设置。渗透测试人员可能会使用SDDL来分析系统的权限配置,以发现潜在的安全漏洞或提升权限的机会。

nTSecurityDescriptor 是在Windows Active Directory(AD)中存储对象安全描述符的属性。它包含了对象的安全性信息,例如访问控制列表(ACL),定义了谁可以对对象执行哪些操作。

使用adfind查看sddl

AdFind.exe -b "CN=DESKTOP-9CAT508,CN=Computers,DC=org,DC=gm7" nTSecurityDescriptor  -rawsddl

image-20240329上午110052641

可以看到阅读难度还是蛮大的,其中一个括号就代表一条ACE。

优化adfind查询结果(+越多越容易阅读,网上说最多3个,但我这里最多只能2个)

AdFind.exe -b "CN=DESKTOP-9CAT508,CN=Computers,DC=org,DC=gm7" nTSecurityDescriptor  -sddl++

image-20240329上午110858716

参考

Copyright © d4m1ts 2023 all right reserved,powered by Gitbook该文章修订时间: 2024-03-29 16:26:04

results matching ""

    No results matching ""