Shadow Credentials
イントロ
このテクニックに関するすべての情報については、元の投稿を確認してください。
要約: ユーザー/コンピューターのmsDS-KeyCredentialLinkプロパティに書き込むことができれば、そのオブジェクトのNTハッシュを取得できます。
この投稿では、公開-秘密鍵認証クレデンシャルを設定して、ターゲットのNTLMハッシュを含む一意のサービスチケットを取得する方法が概説されています。このプロセスには、PAC内の暗号化されたNTLM_SUPPLEMENTAL_CREDENTIALが含まれており、これを復号化できます。
必要条件
このテクニックを適用するには、特定の条件を満たす必要があります:
少なくとも1つのWindows Server 2016ドメインコントローラーが必要です。
ドメインコントローラーにはサーバー認証デジタル証明書がインストールされている必要があります。
Active DirectoryはWindows Server 2016機能レベルである必要があります。
ターゲットオブジェクトのmsDS-KeyCredentialLink属性を変更する権限を持つアカウントが必要です。
悪用
コンピューターオブジェクトのKey Trustの悪用には、TGT(Ticket Granting Ticket)とNTLMハッシュを取得する手順に加えて、次のオプションが含まれます:
特権ユーザーとして振る舞うRC4シルバーチケットを作成します。
S4U2Selfを使用してTGTを使用し、特権ユーザーを偽装します。この場合、サービスチケットにサービス名にサービスクラスを追加する必要があります。
Key Trustの悪用の重要な利点は、攻撃者が生成したプライベートキーに制限されていることであり、潜在的に脆弱なアカウントに委任されることなく、コンピューターアカウントを作成する必要がないため、削除が難しい場合があることです。
ツール
### Whisker
この攻撃に対するC#インターフェースを提供するDSInternalsに基づいています。WhiskerおよびそのPythonバージョンであるpyWhiskerは、msDS-KeyCredentialLink
属性を操作してActive Directoryアカウントを制御することを可能にします。これらのツールは、ターゲットオブジェクトからキークレデンシャルを追加、リスト、削除、クリアするなどのさまざまな操作をサポートしています。
Whiskerの機能には次のものがあります:
Add: キーペアを生成してキークレデンシャルを追加します。
List: すべてのキークレデンシャルエントリを表示します。
Remove: 指定されたキークレデンシャルを削除します。
Clear: すべてのキークレデンシャルを消去し、合法的なWHfBの使用を妨げる可能性があります。
それはImpacketとPyDSInternalsを活用して、UNIXベースのシステムにWhiskerの機能を拡張し、リスト、追加、削除KeyCredentials、およびそれらをJSON形式でインポートおよびエクスポートする包括的な攻撃能力を提供します。
ShadowSprayは、広範なユーザーグループがドメインオブジェクトに対して持っているGenericWrite/GenericAll権限を悪用して、ShadowCredentialsを広く適用することを目的としています。これには、ドメインにログインし、ドメインの機能レベルを確認し、ドメインオブジェクトを列挙し、TGT取得およびNTハッシュの明らかにするためにKeyCredentialsを追加しようとする作業が含まれます。クリーンアップオプションと再帰的な悪用戦術がその有用性を高めています。
参考文献
Last updated