《重新审视 RODC 的滥用.pdf》由会员分享,可在线阅读,更多相关《重新审视 RODC 的滥用.pdf(49页珍藏版)》请在三个皮匠报告上搜索。
1、Revisiting a Abuse of Read-Only Domain Controllers(RODCs)WHOAMI|wh0amitz Researcher XIAORANG.LAB Enthusiast in Offensive Security Web Security Kerberos Active Directory Post Exploitation KRBUACBypass|PetitPotato|S4UTomato Blog:whoamianony.top Twitter&Github:wh0amitz只读域控制器(Read-Only Domain Controller
2、,RODC)是 Windows Server 操作系统中,可以在无法保证物理安全性的地方轻松部署的一种域控制器。“只读域控”托管 Active Directory 的只读分区。通常用于分支办公室的身份验证。Read-Only Domain ControllerRead-only AD DS databaseUnidirectional replicationCredential cachingAdministrator role separationRead-only Domain Name System(DNS)New Functionality RODCs Provide除了帐户密码之外,
3、“只读域控”保存了可写域控制器持有的所有 Active Directory 对象和属性。然而,在存储在“只读域控”上的数据库上不能进行更改。必须在可写域控制器上进行更改,然后将更改复制回“只读域控”。请求对“只读域控”目录进行读取访问的本地应用程序可以获得访问权限。请求写访问权限的 LDAP 应用程序会收到 LDAP 引用响应。此响应将它们定向到可写域控制器(通常位于中心站点)。Read-only AD DS Database由于没有任何更改直接写入“只读域控”,因此没有任何更改源自“只读域控”。因此,作为复制伙伴的可写域控不必从“只读域控”中复制更改。这意味着恶意用户在分支位置进行的任何更改
4、或损坏都无法从只读域控复制到林的其余部分。Unidirectional Replication默认情况下,只读域控不存储用户或计算机凭据。除只读域控的计算机账户和每个只读域控拥有的特殊 Krbtgt 帐户外,域内其他用户或计算机凭据在只读域控上默认存储为空。当“只读域控”提供服务的站点中的用户或计算机尝试向域进行身份验证时,“只读域控”默认情况下无法验证其凭据。然后,“只读域控”将身份验证请求转发到可写域控制器。帐户成功通过身份验证后,“只读域控”尝试联系中心站点上的可写域控制器并请求相应凭据的副本,此时可写域控将查阅对该“只读域控”有效的“密码复制策略”,并确定用户的或计算机的凭据是否可以从
5、可写域控制器复制到“只读域控”。如果密码复制策略允许,可写域控制器会将凭据复制到“只读域控”并且缓存它们。Credential Caching默认情况下,在“只读域控”上不缓存账户密码。这得益于“只读域控”中“密码复制策略(PRP,Password Replication Policy)”的默认设置:Account Operators:拒绝Administrators:拒绝Allowed RODC Password Replication Policy:允许Backup Operators:拒绝Denied RODC Password Replication Policy:拒绝Server O
6、perators:拒绝此外,还存在一个“Denied RODC Password Replication Group”组,用于明确拒绝将其帐户密码复制到“只读域控”,默认包含以下成员:Cert PublishersDomain AdminsDomain ControllersEnterprise AdminsGroup Policy Creator OwnersKrbtgtRead-only Domain Controllers(RODC 的计算机帐户密码存储在其本地)Schema Admins“密码复制策略”确保了,如果“只读域控”被破坏,只有缓存的凭证才有可能被盗。但这会导致所有身份验证请