Netwrix 1Secureは、データとアイデンティティ全体にわたる統合された可視性を提供します。14日間の無料トライアルでフルアクセス可能です。無料トライアルを開始

リソースセンターブログ

Golden Ticket 攻撃でドメインを完全に侵害する

Golden Ticket 攻撃でドメインを完全に侵害する

Mar 17, 2023

この ブログ記事シリーズでは、攻撃者が Active Directory のサービスアカウントを特定して侵害するために使用できる手法を扱います。まず、攻撃者が LDAP reconnaissance によりサービスアカウントを発見する方法を詳しく説明し、その後、 Kerberoasting によってアカウントのパスワードを抽出する方法を明らかにしました。そして次に、Silver Tickets を使用してアカウントの 権限を昇格し、追加のアクセスやアクティビティを可能にする方法を説明します。

この最終投稿では、あらゆる Active Directory 環境で最も強力なサービス アカウントである KRBTGT アカウントを取り上げます。KRBTGT アカウントは、IT システムやデータにアクセスするために必要な Kerberos チケットを発行する用途で使われます。攻撃者が Key Distribution Center (KDC) から当該アカウントのパスワード ハッシュを入手すると、Active Directory のすべてのアカウントを侵害でき、AD ネットワークに接続されたあらゆるシステムに対して、無制限かつ事実上検知不可能なアクセスを提供できるようになります。

AD における KRBTGT アカウントとは?

Image

Windows Active Directory ドメイン コントローラーは、Kerberos チケット要求を処理する役割を担っており、このチケットはユーザー認証や、コンピューターおよびアプリケーションへのアクセス許可に使用されます。KRBTGT アカウントのパスワードは、Kerberos チケットの暗号化および復号に使用されます。このパスワードはめったに変更されず、アカウント名はすべてのドメインで同一であるため、攻撃者にとって一般的な標的になっています。

ゴールデン チケットの作成

使用 Mimikatzすることで、KRBTGT アカウントのパスワードを悪用し、偽造した Kerberos Ticket Granting Tickets(TGTs)を作成できます。これらの TGTs を使って、ドメイン内の任意のコンピューター上で提供される任意のサービスについて Ticket Granting Server(TGS)チケットを要求することが可能です。

Kerberos Golden Ticketsを作成するには、攻撃者は次の情報を必要とします:

  • KRBTGT アカウントのパスワードハッシュ
  • KRBTGT アカウントが属するドメインの名前と SID

それでは、必要な情報を収集し、Kerberos の Golden Tickets を段階的に作成する方法を見ていきましょう。

ステップ 1. KRBTGT のパスワードハッシュとドメイン名および SID を取得します。

KRBTGT のパスワードハッシュを取得することは、ドメインコントローラーへの特権アクセスを獲得する必要があるため、攻撃の中で最も難しい部分です。攻撃者が DC に対して対話的またはリモートでログオンできるようになれば、次のコマンドを使用して Mimikatz で必要な情報を抽出できます:

      privilege::debug
lsadump::lsa /inject /name:krbtgt
      

これにより、パスワードハッシュに加えて、ドメイン名と SID も出力されます:

Golden Ticket_KRBTGT password hash

ステップ 2:Golden Tickets を作成します。

これで、ハッカーは任意のタイミングで Golden Tickets を作成できるようになります。Golden Tickets を作成する際に役立つ Mimikatz のパラメーターには、次が含まれます:

  • User— チケットが作成されるユーザーアカウント名。この値は有効なアカウント名である場合もありますが、そうである必要はありません。
  • ID— 攻撃者がなりすますアカウントの RID。これは、500 の既定の管理者 ID のような実在のアカウント ID の場合もあれば、偽の ID の場合もあります。
  • グループ— チケット内のアカウントが属するグループの一覧です。既定で Domain Admins が含まれているため、チケットは最大の権限で作成されます。
  • SID— これは、チケット内のアカウントの SIDHistory 属性に SID を挿入します。ドメイン間の認証に役立ちます。

次の例では、偽のユーザーのためのチケットを作成しますが、既定の管理者 ID を指定します。このチケットを使用するときに、これらの値がどのように効いてくるかについては、少し後で見ていきます。/ptt (Pass the Ticket)トリガーは、作成中の Golden Ticket を現在のセッションに注入します。

Golden Ticket_ticket

ステップ 3. チケットを渡す。

いま、現在のセッションにロードされた Golden Ticket を使用する時です。misc::cmd コマンドを使って、そのチケットのコンテキストでコマンドプロンプトを起動しましょう。

Golden Ticket_pass the ticket

コマンド プロンプトでは、攻撃者が通常のドメイン ユーザーとして動作しており、ドメイン グループのメンバーシップがないことが分かります。つまり、他のドメイン コンピューターに対する権限は持っていないはずです。

Golden Ticket_ticket2

ただし、Kerberos チケットはメモリ上にあるため、ドメイン コントローラーに接続して、そこに保存されているすべてのファイルにアクセスすることが可能です。

Golden Ticket_domain controller

PSExec を使用することで、攻撃者は対象のドメイン コントローラーでセッションを開くことができます。そのセッションによれば、攻撃者は現在 Administrator としてログインしています。

Golden Ticket_event

システムは、Golden Ticket を生成する際に攻撃者が使用した RID 500 により、攻撃者が Administrator であると考えます。ドメイン コントローラー上のイベント ログでも、システムが攻撃者を Administrator とみなしていることが示されますが、資格情報は Golden Ticket 攻撃中にスプーフ(spoof)されたものです。これは、検出を回避したり欺瞞的なセキュリティ ログを作成したりしたい攻撃者にとって、特に有用です。

Golden Ticket 攻撃への防御

Active Directory の Golden Ticket 攻撃は、Golden Ticket が完全に有効な TGT に見えるため、検出が非常に困難です。ただし多くの場合、チケットの有効期間として Active Directory のデフォルト値を大幅に上回る 10 年以上のライフスパンで作成されています。TGT のタイムスタンプは Kerberos 認証ログに記録されませんが、適切な Active Directory のセキュリティ ソリューション ならそれらを監視できます。組織内で Golden Ticket が使用されていることが確認できた場合は、KRBTGT アカウントを 2 回リセットする必要があります。これは影響が広範囲に及び得るため、慎重に進めてください。

Golden Ticket に対する最も重要な防御策は、ドメイン コントローラーへのログオン権限を制限することです。ドメイン管理者は、最小限の人数であるべきです。また、Print および Server Operators など、DC へのログオン権限を提供する他のグループのメンバー数も最小限にしてください。さらに、段階的なログオン プロトコルを使用して、ドメイン管理者がサーバーやワークステーションにログオンできないようにします。そこでは、パスワード ハッシュがメモリからダンプされ、DC にアクセスするために使われ、最終的に KRBTGT アカウント ハッシュを抽出されてしまう可能性があります。

共有する

もっと詳しく

著者について

Jeff Warren

チーフ・プロダクト・オフィサー

Jeff Warren は Netwrix のプロダクトポートフォリオを統括しており、安全に重点を置いたプロダクトマネジメントおよび開発の分野で10年以上の経験を持ちます。Netwrix に入社する前、Jeff は Stealthbits Technologies にてプロダクト組織を率いていました。そこで彼はソフトウェアエンジニアとしての経験を活かし、革新的でエンタープライズ規模のセキュリティソリューションの開発に取り組みました。手を動かす実践的なアプローチと、難しいセキュリティ課題を解決するのが得意な点を強みに、Jeff は「実際に機能する」実用的なソリューションの構築に注力しています。彼はデラウェア大学(University of Delaware)で情報システム(Information Systems)の学士号を取得しています。