Skip to main content

DACL的利用

概念

随着我们危害越来越多的用户和计算机,我们发现其中一些对其他域对象具有特定权限。 例如,一个受损的用户帐户可以在不知道原始密码的情况下重置另一个用户的密码。 如果我们故意利用它,我们将危及更多用户。 为了理解这种类型的攻击,让我们介绍一下 DACL 的概念。 在 Active Directory 的上下文中,DACL(自由访问控制列表)是访问控制条目 (ACE) 的列表,它指定允许或拒绝哪些用户或组访问特定资源,例如计算机、SMB 共享或用户帐户 . DACL 作为对象的属性存储,用于对对象实施访问控制。

DACL 中的每个 ACE 指定授予或拒绝特定用户或组的访问权限以及适用于这些权限的权限。 在我们的例子中,用户 svc_sql 可以在不知道 David 原始密码的情况下重置 David 的密码。 我们可以在下图中看到 David 上的 DACL。

从 DACL 来看,这个 ACE 明确指出 svc_sql 可以重置 David 的密码。

 

在 Active Directory 中可以通过多种方式利用 ACL,包括:

1:使用特权帐户修改 DACL:如果特权帐户遭到破坏,例如域管理员帐户,它可以修改目录中的任何对象。

2:缺乏职责分离:如果不同的组或用户被授予对 Active Directory 中不同对象的访问权限,但没有适当的职责分离,攻击者可能会通过访问他们通常不会拥有的对象来提升他们的特权 访问权限。

3:不受限制地访问对象:如果 Active Directory 中的某些对象没有得到充分保护,攻击者可能会在不被发现的情况下访问和修改它们。

4:权限配置错误:如果权限配置不正确,攻击者可能会未经授权访问域中的主体。

我们将分别讨论这个活动目录中一些常见的 DACL 滥用。 为了发现潜在的可利用 DACL,我们主要使用 BloodHound,因为它有一个简单的 GUI。

ForceChangePassword

 

GenericAll

 

GenericWrite

 

AllExtendedRights

 

其他