
ADManager Plus Build < 7210 特権昇格の脆弱性
Modify Computers は、ADManager でコンピュータを管理するための定義済みロールです。テクニシャン ユーザーがコンピュータに対して Modify Computers 権限を持っている場合、そのコンピュータ オブジェクトの userAccountControl 属性と msDS-AllowedToDelegateTo 属性を変更できます。これにより、テクニシャン ユーザーは、委任された組織単位内の任意のコンピュータに対して制約付き Kerberos 委任 (Constrained Kerberos Delegation) を設定できます。
ADManager が主張する内容とは異なり、Modify Computers ロールを持つユーザーは、Active Directory 内のコンピュータ オブジェクトの権限を変更できます。制約付き Kerberos 委任は、CIFS、LDAP、HOST などの任意のサービスに対して設定できます。その後、ユーザーは制約付き Kerberos 委任を悪用してこれらのサービスにアクセスできます。さらに、userAccountControl 属性を変更することで、コンピュータ オブジェクトに対して無制約の Kerberos 委任 (Unconstrained Kerberos Delegation) を設定することもできます。通常、制約付き Kerberos 委任を設定できるのは、SeEnableDelegationPrivilege 権限を持つユーザーだけです。デフォルトでは、BUILTIN\Administrators グループのメンバーのみがこの権限を持ちます。組織単位に対して委任されたユーザーは、コンピュータ アカウントに対して GenericAll 権利を持っていても、制約付き Kerberos 委任を設定できません。そのため、Active Directory の委任プロセスではこの権限は付与されません。しかし、テクニシャン ユーザーは、Modify Computers ロールを介して SeEnableDelegationPrivilege 権限を利用できます。
ADMP Web アプリケーションの認可の問題: 定義済みの Modify Computers ロールを割り当てると、テクニシャン ユーザーが予期せずコンピュータのカスタム属性を変更できるようになります。UI ではこの権限が付与されていないように見えても、追加のカスタム属性プロパティが割り当てられ、これがアクセス制御の脆弱性につながります。
コンピュータ オブジェクトの userAccountControl 属性と msDS-AllowedToDelegateTo 属性の編集に対する制限はありません。ADMP アプリケーションは設計上、ドメイン管理者権限で変更を実行します。そのため、一部の制限(属性値の形式など)を回避できれば、リクエストはドメイン管理者権限で適用されます。これにより、userAccountControl 属性と msDS-AllowedToDelegateTo 属性を編集できます。
テクニシャン ユーザーは、ドメイン ユーザーからドメイン管理者に特権を昇格できます。コンピュータ上のドメイン コントローラの LDAP サービスに対して制約付き Kerberos 委任を構成した後、DCSync 攻撃を使用して krbtgt アカウントのハッシュを取得できます。 別の例として、ユーザーは CLIENT1$ に対して DC の CIFS サービスの制約付き Kerberos 委任を設定し、CIFS サービスにアクセスできます。その結果、ユーザーは CLIENT1$ を管理するように委任されていますが、予期せず別のユーザーを偽装してドメイン コントローラの CIFS サービスにアクセスできます。
攻撃者は、以下の前提条件のもとで LDAP サービスの制約付き Kerberos 委任を追加した後、DCSync 攻撃を実行できます。
Scenario 1: If the attacker has local admin right over a computer and can manage this computer with the “Modify Computers” role in ADManager Plus
Scenario 2: If the attacker adds a computer to Active Directory (MAQ, delegation) and manage this computer with the “Modify Computers” role
Scenario 3: If the attacker can dump NT hash of a computer account (dumping hash with mimikatz, secretsdump, etc.) and manage this computer with the “Modify Computers” role
この概念実証は ADManager Plus Build 7203 で実施されました。
https://github.com/user-attachments/assets/496b3bfd-a95f-4d69-8ee5-53ae0592ebdb