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

iso60001  1963天前

22.png

介绍

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

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

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

总结

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

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

33.png

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

而在下面的图片中,我们可以看到用户Martin的DACL。

44.png

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

55.png

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

66.png

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

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

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

77.png

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

88.png

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

99.png

让我们回到Martin。

我们可以看到以下信息:

100.png

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

110.png

现在,让我们把Martin的拥有者改为Dumfries!

120.png

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

130.png

如前所述,这不仅限于用户的帐户。我们也可以对OU执行此操作。但记住,这一切操作都需要一个高权限用户。

140.png

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

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

150.png

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

160.png

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

170.png

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

180.png

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

好的!Memphis是最先发现这一点,并获得OU=Users控制权的人。

190.png

希望你喜欢我的文章!

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

最新评论

昵称
邮箱
提交评论