创建一个可隐秘接管AD中对象的后门
介绍
在AD(Active Directory)中,有不同的方法可以通过对象的DACL设置后门,例如OU、GPO、Group或User等。
我最近一直在进行这方面的研究,希望发现更多隐藏在其中的新方法,我也乐于和大家分享。
在详细了解了AD中的访问控制列表(ACL)后,我发现了一个很好的隐藏对象DACL的方法,此外还能在任何时候偷偷摸摸接管该对象。
总结
首先要说明的是,该文章的主要观点来自SpecterOps。我只是丰富了一些额外的细节,以便让读者更清楚。当你们使用这篇文章所描述的技术时,别忘了他们才是“幕后黑手”。
在下面的图片中,我们可以清楚看到域管理员组中的用户。
Martin是域管理员组的一员,同时也是本文的目标。
而在下面的图片中,我们可以看到用户Martin的DACL。
从图片可看到,域中的每个用户都可以使用诸如PowerView之类的工具来查找某个对象上的所有ACL。但是,当我们设置所有人都不能读取和修改Martin帐户信息时,会发生什么呢?
现在,当我们使用普通域用户的帐户登录时,再查看Martin的属性,可以发现有些东西不见了(Security选项卡不见了)。
确切地说,Martin的DACL已经“消失”了,除了Domain Admins、Enterprise Admins和Administrators组的用户,其他所有人都看不见。
现在,让我们再次使用域帐户登录,利用上述情景创建一个可悄悄接管账户的后门。
首先,我们可以看到Dumfries得到了Martin的WriteOwner权限。
因为我们已是域管理员,所以我们可以做任何事(本文定位是提权后的权限维持阶段),包括从域管理员组中删除用户Dumfries。
此时,Dumfries只是一个域中普通用户。
让我们回到Martin。
我们可以看到以下信息:
其他未被授予WriteOwner权限的用户(普通用户)是无法看到Martin的“Security”选项卡。
现在,让我们把Martin的拥有者改为Dumfries!
此时,我们现在可以修改Martin的安全性设置。
如前所述,这不仅限于用户的帐户。我们也可以对OU执行此操作。但记住,这一切操作都需要一个高权限用户。
在下面的示例中,我将针对OU=Users
来创建后门。
在这里我们可以看到OU=Users
的DACL。
现在禁止Everyone
的读取和修改权限。
此时,一个普通的域用户是看不到OU=Users
的DACL(下图中无Security选项卡)。
然后,与Martin
不同的是,这里不是授予特定用户WriteOwner权限,而是授予每个域用户对OU的WriteOwner权限。
现在,如果某个域用户注意到了这一点(有改动OU的权限)。那么第一个发现的用户就可以完全控制OU=Users
。
好的!Memphis是最先发现这一点,并获得OU=Users
控制权的人。
希望你喜欢我的文章!
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://medium.com/@huykha/create-a-backdoor-to-take-over-an-object-in-ad-d5df682a4022
最新评论