DCShadow
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
ADに新しいドメインコントローラーを登録し、指定されたオブジェクトに属性(SIDHistory、SPNsなど)をプッシュするために使用しますが、変更に関するログを残さずに行います。DA権限が必要で、ルートドメイン内にいる必要があります。 間違ったデータを使用すると、かなりひどいログが表示されることに注意してください。
攻撃を実行するには、2つのmimikatzインスタンスが必要です。1つはSYSTEM権限でRPCサーバーを起動し(ここで実行したい変更を指定する必要があります)、もう1つのインスタンスは値をプッシュするために使用されます:
elevate::token
は mimikatz1
セッションでは機能しません。これはスレッドの特権を昇格させるためですが、私たちは プロセスの特権を昇格させる 必要があります。
また、"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 (書き込みではない)
ターゲットオブジェクト:
WriteProperty (書き込みではない)
Set-DCShadowPermissions を使用して、特権のないユーザーにこれらの権限を付与できます (これによりいくつかのログが残ることに注意してください)。これは DA 権限を持つよりもはるかに制限されています。
例えば: Set-DCShadowPermissions -FakeDC mcorp-student1 SAMAccountName root1user -Username student1 -Verbose
これは、ユーザー名 student1 がマシン mcorp-student1 にログインしているときに、オブジェクト root1user に対して 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=local")).psbase.ObjectSecurity.sddl
この場合、いくつかの変更を行う必要があることに注意してください。したがって、mimikatz1セッション(RPCサーバー)で、行いたい各変更に対して**/stack
パラメータを使用します。この方法で、すべてのスタックされた変更をルージュサーバーで実行するために/push
**を一度だけ実行する必要があります。
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)