External Forest Domain - One-Way (Outbound)
このシナリオでは、あなたのドメインが異なるドメインからのプリンシパルに一部の特権を委任しています。
列挙
アウトバウンドトラスト
信頼アカウント攻撃
ドメイン A とドメイン B として識別される2つのドメイン間に信頼関係が確立されると、セキュリティ上の脆弱性が存在します。このセットアップでは、ドメイン B がドメイン A に対して信頼を拡張します。ここで、ドメイン B に関連付けられた特別なアカウントがドメイン A に作成され、両方のドメイン間での認証プロセスで重要な役割を果たします。この特別なアカウントは、両ドメイン間のサービスへのアクセスのためにチケットを暗号化するために使用されます。
ここで理解する重要な点は、この特別なアカウントのパスワードとハッシュを、ドメイン A のドメインコントローラからコマンドラインツールを使用して抽出できるということです。このアクションを実行するためのコマンドは次のとおりです:
この抽出は、そのアカウントが名前の後に $ が付いて識別され、ドメイン A の "Domain Users" グループに属しているため、このグループに関連付けられた権限を継承しているため可能です。これにより、個人はこのアカウントの資格情報を使用してドメイン A に対して認証できます。
警告: この状況を利用して、ユーザーとしてドメイン A に足場を築くことは可能ですが、権限は限られています。ただし、このアクセス権限はドメイン A で列挙を実行するのに十分です。
信頼するドメインが ext.local
であり、信頼されるドメインが root.local
であるシナリオでは、root.local
内に EXT$
というユーザーアカウントが作成されます。特定のツールを使用することで、Kerberos 信頼キーをダンプし、root.local
の EXT$
の資格情報を明らかにすることが可能です。これを達成するためのコマンドは次のとおりです:
以下では、別のツールコマンドを使用して、root.local
内のroot.local\EXT$
として認証するために抽出されたRC4キーを使用できます:
この認証ステップは、root.local
内のサービスを列挙したり、Kerberoast攻撃を実行してサービスアカウントの資格情報を抽出する可能性を開く。
クリアテキスト信頼パスワードの収集
前のフローでは、クリアテキストパスワード(また、mimikatzによってダンプされた)の代わりに信頼ハッシュが使用されました。
クリアテキストパスワードは、mimikatzからの[ CLEAR ]出力を16進数に変換し、ヌルバイト '\x00' を削除することで取得できます:
信頼関係を作成する際、ユーザーが信頼のためにパスワードを入力する必要がある場合があります。このデモンストレーションでは、キーは元の信頼パスワードであり、したがって人間が読めるものです。キーがサイクルする(30日間)、クリアテキストは人間が読めなくなりますが、技術的にはまだ使用可能です。
クリアテキストパスワードは、信頼アカウントのKerberosシークレットキーを使用してTGTを要求する代わりに、信頼アカウントとして通常の認証を実行するために使用できます。ここでは、ext.localからroot.localにDomain Adminsのメンバーを問い合わせています:
参考文献
Last updated