创建一个可隐秘接管AD中对象的后门

创建一个可隐秘接管AD中对象的后门

介绍

在AD(Active Directory)中,有不同的方法可以通过对象的DACL设置后门,例如OU、GPO、Group或User等。

我最近一直在进行这方面的研究,希望发现更多隐藏在其中的新方法,我也乐于和大家分享。

在详细了解了AD中的访问控制列表(ACL)后,我发现了一个很好的隐藏对象DACL的方法,此外还能在任何时候偷偷摸摸接管该对象。

总结

首先要说明的是,该文章的主要观点来自SpecterOps。我只是丰富了一些额外的细节,以便让读者更清楚。当你们使用这篇文章所描述的技术时,别忘了他们才是“幕后黑手”。

在下面的图片中,我们可以清楚看到域管理员组中的用户。

创建一个可隐秘接管AD中对象的后门

Martin是域管理员组的一员,同时也是本文的目标。

而在下面的图片中,我们可以看到用户Martin的DACL。
创建一个可隐秘接管AD中对象的后门

从图片可看到,域中的每个用户都可以使用诸如PowerView之类的工具来查找某个对象上的所有ACL。但是,当我们设置所有人都不能读取和修改Martin帐户信息时,会发生什么呢?
创建一个可隐秘接管AD中对象的后门

现在,当我们使用普通域用户的帐户登录时,再查看Martin的属性,可以发现有些东西不见了(Security选项卡不见了)。

创建一个可隐秘接管AD中对象的后门

确切地说,Martin的DACL已经“消失”了,除了Domain Admins、Enterprise Admins和Administrators组的用户,其他所有人都看不见。

现在,让我们再次使用域帐户登录,利用上述情景创建一个可悄悄接管账户的后门。

首先,我们可以看到Dumfries得到了Martin的WriteOwner权限。

创建一个可隐秘接管AD中对象的后门

因为我们已是域管理员,所以我们可以做任何事(本文定位是提权后的权限维持阶段),包括从域管理员组中删除用户Dumfries。

创建一个可隐秘接管AD中对象的后门

此时,Dumfries只是一个域中普通用户。

创建一个可隐秘接管AD中对象的后门

让我们回到Martin。

我们可以看到以下信息:
创建一个可隐秘接管AD中对象的后门

其他未被授予WriteOwner权限的用户(普通用户)是无法看到Martin的“Security”选项卡。

创建一个可隐秘接管AD中对象的后门

现在,让我们把Martin的拥有者改为Dumfries!
创建一个可隐秘接管AD中对象的后门

此时,我们现在可以修改Martin的安全性设置。

创建一个可隐秘接管AD中对象的后门

如前所述,这不仅限于用户的帐户。我们也可以对OU执行此操作。但记住,这一切操作都需要一个高权限用户。
创建一个可隐秘接管AD中对象的后门

在下面的示例中,我将针对OU=Users来创建后门。

在这里我们可以看到OU=Users的DACL。

创建一个可隐秘接管AD中对象的后门

现在禁止Everyone的读取和修改权限。

创建一个可隐秘接管AD中对象的后门

此时,一个普通的域用户是看不到OU=Users的DACL(下图中无Security选项卡)。

创建一个可隐秘接管AD中对象的后门

然后,与Martin不同的是,这里不是授予特定用户WriteOwner权限,而是授予每个域用户对OU的WriteOwner权限。

创建一个可隐秘接管AD中对象的后门

现在,如果某个域用户注意到了这一点(有改动OU的权限)。那么第一个发现的用户就可以完全控制OU=Users

好的!Memphis是最先发现这一点,并获得OU=Users控制权的人。
创建一个可隐秘接管AD中对象的后门

希望你喜欢我的文章!

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/2803.html
来源:https://medium.com/@huykha/create-a-backdoor-to-take-over-an-object-in-ad-d5df682a4022

上一篇:寻找第n个丑数


下一篇:编程将20元人民币换成1元、2元、5元、纸币,列出所有可能的兑换方案。