Kerberoastingは、Active Directory内のサービスアカウントを標的とする攻撃手法です。本ガイドでは、Kerberoastingの仕組み、潜在的な影響、効果的な予防策について解説します。
サービスアカウントの監視と強力なパスワードポリシーの実施の重要性について学びましょう。Kerberoastingを理解することは、組織がActive Directory環境を保護するために不可欠です。
 
 Kerberoasting攻撃とは?
Kerberoasting(カーボロースト攻撃)とは、Windowsネットワークでユーザーやデバイスの認証を安全に行うために広く使用されているKerberos認証プロトコルを標的としたサイバー攻撃です。攻撃者は専用のツールを使用してネットワークから暗号化されたKerberosチケットを抽出し、その暗号を解読して機密情報やネットワークリソースへのアクセスを試みます。
Kerberoasting攻撃とその仕組みを深く掘り下げる前に、サービスアカウントのアーキテクチャを理解しておく必要があります。
- サービスアカウントのパスワードは固定長で有効期限がありません。
- ほとんどのサービスアカウントは昇格された権限を持ち、ドメイン管理者などの特権の高いグループのメンバーであることが多く、ADへの完全な管理者権限を提供します。
- サービスアカウントのパスワードを解読することで、攻撃者はKerberosメカニズムを悪用し、ADドメイン全体を侵害することが可能になります。
Kerberos認証プロトコルとは?
Kerberosは、Windowsネットワークでユーザーやデバイスを安全に認証するために広く使用される認証プロトコルです。Kerberosプロトコルは、ネットワーク上で平文パスワードを送信することなく、チケットを使用してユーザーとデバイスを安全に認証します。これらのチケットは、ユーザーと認証サーバー間で共有される秘密鍵を使用して暗号化されます。Kerberoasting攻撃では、攻撃者はネットワークからこれらの暗号化されたチケットを抽出し、ブルートフォース攻撃や辞書攻撃を用いて暗号化を解読し、チケットがアクセスを許可する機密情報やリソースへのアクセス権を取得しようと試みます。
Kerberoastingはサービスチケットを悪用して認証情報を窃取する攻撃です。高度な脅威検知についてはSingularity XDRで高度な脅威検出について詳しくご覧ください。
Kerberoasting攻撃が蔓延する理由とは?
Kerberoasting攻撃が蔓延しているのは、検知や防止が困難なためです。Kerberosプロトコルは安全性と効率性を兼ね備えて設計されていますが、認証プロセスにおけるチケットの暗号化・復号に使用される秘密鍵の機密性に依存しています。攻撃者がこれらの秘密鍵を入手できれば、チケットを抽出して復号し、機密情報やネットワークリソースへのアクセス権を取得するために利用することが可能になります。
さらに、Kerberosプロトコルは企業ネットワークで広く利用されている。このためWindowsネットワークは攻撃者にとって特に魅力的な標的となり、企業ネットワークへのKerberoasting攻撃が成功すれば、攻撃者は多数の機密リソースや情報へのアクセス権を潜在的に獲得できる。
加えて、この攻撃は攻撃者が認証サーバーや標的となるネットワークリソースと直接やり取りする必要なく、遠隔で実行可能です。この特性により、防御側が攻撃を成功前に検知・阻止することは困難となります。全体として、これらの要因が相まって、Kerberoasting 攻撃は、安全な認証のために Kerberos プロトコルに依存している組織にとって、蔓延し、潜在的に損害を与えるものとなっています。
Kerberoasting 攻撃の仕組み
1.アカウント認証
Kerberoasting攻撃では、攻撃者はまずKerberos認証サービスからサービスチケットを要求するために必要な権限を取得します。これは、適切な権限を持つ正当なユーザーのアカウントを侵害することで実現可能です。攻撃者は、チケットがアクセスを許可するネットワークリソースへのアクセス権を、チケットが属するユーザーやデバイスの実際のパスワードを知らなくても取得することに成功します。
Kerberoasting技術は、ターゲットシステムにパケットを送信することなく、通常のユーザーとしてADからサービスアカウントの認証情報を抽出する効果的な方法です。
2. Kerberosサービスチケット
Kerberoasting攻撃では、攻撃者はKerberos認証サービスから大量のサービスチケットを取得し、それらを利用してチケットに関連付けられたアカウントのパスワード解読を試みます。この手法では、攻撃者は有効なKerberosチケット付与チケット(TGT)を悪用するか、ネットワークトラフィックを傍受してチケット付与サービス(TGS) チケットを入手することができ、これは 総当たり攻撃 の対象となる可能性があります。
3.パスワードクラッキング
攻撃者は、適切な権限を持つ正当なユーザーのアカウントを使用して、Kerberos認証サービスにサービスチケットを要求することで、それらを取得できます。攻撃者がサービスチケットを取得すると、専用のツールを使用して、それらのチケットに関連付けられたパスワードの解読を試みることができます。攻撃者は、脆弱なサービスアカウントのパスワードをオフラインで解読するために、以下のプロセスを使用します。
4. 攻撃のエスカレーション
攻撃が成功した場合、攻撃者はサービスチケットに関連付けられたアカウントへのアクセス権を取得し、機密情報への不正アクセスやその他の悪意のある活動を実行できるようになります。これはKerberos認証プロトコルを使用する組織にとって深刻なセキュリティ脅威となり得ます。最初のステップはサービスプリンシパル名(SPN)の発見です。攻撃者はActive Directory PowerShellモジュールを使用して特定のタイプの全SPNを容易に発見できます。攻撃者がスキャンする最も有用なSPNタイプは「SQL」です。例えば、下記のGet-ADObjectコマンドレットはActive Directoryに登録された全SQLサーバーを検出します。
"get-adobject -filter {serviceprincipalname -like "*sql*"} -prop serviceprincipalname"&
下図に示すように、攻撃者は有効なドメインユーザーの認証チケット(TGT)を提示し、ドメインコントローラー(DC)から任意のサービスプリンシパル名(SPN)に対する1つ以上のKerberosチケット発行サービス(TGS)チケットを要求します攻撃者は、NTLMパスワードハッシュがこの暗号化方式で広く使用されていることを悪用し、MicrosoftのKerberos RC4暗号化(RC4_HMAC_MD5)に対するレガシーサポートを利用します。TGSチケットを要求する際、攻撃者はRC4暗号化の使用を強制できます。

標的となるサーバーを特定した後、攻撃者はサービスアカウントに関連付けられた SPN のリストを取得します。これらのサービスアカウントを使用して、ドメインコントローラー(DC)からKerberos TGSサービスチケットを要求できます。
"Add-Type -AssemblyName System.IdentityModel" 
"New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "<MSSQLSvc/HOST:PORT>""
注記: オープンソースツールMimikatz は RC4 暗号化方式を採用しています。
 
 クライアントがチケットを受信すると、攻撃者は昇格された権限なしでユーザーのメモリからすべてのKerberosサービスチケットをファイルにエクスポートできます。
全体として、Kerberoasting攻撃で一般的に使用される手順は以下の通りです:
- 攻撃者はKerberos認証サービスからサービスチケットを要求するために必要な権限を取得します。これは適切な権限を持つ正当なユーザーのアカウントを侵害することで実現可能です。
- 攻撃者は侵害したアカウントを使用して、Kerberos認証サービスから大量のサービスチケットを要求します。
- Kerberos認証サービスは要求されたサービスチケットを攻撃者に発行します。
- 攻撃者は専用ツールを使用して、サービスチケットに関連付けられたパスワードを解読します。
- パスワードが解読されると、攻撃者はサービスチケットに関連付けられたアカウントへのアクセス権を取得します。
- 攻撃者は侵害されたアカウントを利用して、機密情報への不正アクセスやその他の悪意のある活動を実行できるようになります。
- 攻撃者はこのプロセスを繰り返し、追加のサービスチケットを取得し、それらに関連付けられたパスワードを解読して、より多くのアカウントへのアクセス権を獲得します。
- 攻撃者は侵害されたアカウントを利用してネットワークへのさらなるアクセス権を取得し、ネットワーク内での横方向移動やマルウェアの展開など、より高度な攻撃を実行できます。
Kerberoasting攻撃の事例
- 「Operation Wocao」において、脅威アクターはPowerShellスクリプトライブラリ「PowerSploit」のInvoke-Kerberoastモジュールを使用し、暗号化されたサービスチケットを要求。オフライン環境でWindowsサービスアカウントのパスワードを総当たり攻撃(ブルートフォース)しました。これらのサービスチケットは、ネットワーク内の他のシステム上で関連サービスアカウントとして認証するために使用できます。脅威アクターはその後、ブルートフォース攻撃を用いてこれらのサービスアカウントのパスワードを推測しようと試みました。これらのパスワードは脆弱であるか、複数のアカウントで共有されていることが多いためです。サービスアカウントのパスワードを解読することで、脅威アクターはネットワーク内の機密システムやデータへのアクセス権を獲得できました。
- Solorigateバックドア事件では、APT29の脅威アクターがActive Directoryサービスプリンシパル名(SPN)のチケットグラントサービス(TGS)チケットを取得し、オフラインで解読しました。
 Solorigateバックドア事件は、政府機関やテクノロジー企業を含む様々な組織を標的としたサイバー攻撃でした。攻撃者はAPT29グループとみられ、「Solorigate」と呼ばれる高度なバックドアを使用して被害者のネットワークにアクセスしました。攻撃者が用いた戦術の一つがKerberoastingです。サービスアカウントのパスワードを解読することで、攻撃者はネットワーク内の機密システムやデータへのアクセス権を獲得できる。
- 別の事例では、FIN7脅威グループが認証情報取得にKerberoastingを利用し、ネットワーク内での横方向移動を実行した。
Kerberoasting攻撃の検知と防止戦略
アイデンティティセキュリティ
Identity Security は、Active Directory などの ID インフラストラクチャを標的とした攻撃を検出する新機能です。これらのソリューションは、Active Directory内の攻撃に脆弱な状態となる設定を検知し、Kerberoasting攻撃の可能性をほぼリアルタイムで検出できます。
Kerberoasting攻撃を防ぐ別の方法は、すべてのアカウントに強力で固有のパスワードを使用することです。これにより、攻撃者が取得したサービスチケットに関連付けられたパスワードを解読するのが困難になります。
さらに、多要素認証などのセキュリティ対策を導入しましょう。これはユーザーがアカウントにログインする際、追加の認証手段の提供を要求します。これにより、攻撃者がサービスチケットを入手しパスワードを解読したとしても、アカウントへのアクセスを阻止できます。
さらに、組織はKerberoasting攻撃を検知・防止するツールや技術を活用できます。例えば、ネットワーク監視ツールでKerberos認証プロトコルに関連する異常な活動を検知したり、侵入検知システムで潜在的な攻撃を警告したりすることが可能です。&
総合的に、強固なパスワード、二要素認証、セキュリティ技術の組み合わせにより、Kerberoasting攻撃を防止し、機密情報への不正アクセスから保護することが可能です。
脅威ハンティング
Kerberoasting攻撃の文脈において、脅威ハンティングは、Kerberos認証サービスからサービスチケットを要求するために使用されるユーザーアカウントの初期侵害を特定し防止するために活用できます。これにより、攻撃者がサービスチケットを取得して攻撃を実行するのを防ぐことができます。
さらに、脅威ハンティングは、大量のサービスチケット要求や、それらのチケットに関連付けられたパスワードの解読試行など、Kerberos認証プロトコルに関連する異常な活動を検出できます。これにより、進行中のKerberoasting攻撃を特定し、防御するための適切な措置を講じることができます。
脅威ハンティングチームは、Singularity™ Identity Security Posture Managementソリューションから収集したインテリジェンスを活用し、企業内の潜在的な脆弱性評価を報告できます。Singularity Identity Securityソリューションは、Kerberosチケット列挙を試みる攻撃者を検知し、潜在的なKerberoasting攻撃に対してイベントをトリガーします。
欺瞞技術
欺瞞技術は、Kerberoasting攻撃への防御に活用できる可能性があります。おとり、ルアー、餌を含む欺瞞技術は、攻撃者を誘引し、攻撃の試みを検知・防御するよう設計されています。
Kerberoasting攻撃の文脈では、欺瞞技術は、Kerberos認証サービスからサービスチケットを要求するために使用できる偽アカウントを作成するために使用できます。その後、これらの偽アカウントに関連する活動を監視し、サービスチケットに関連付けられたパスワードをクラックしようとする試みを検出できます。
攻撃者がおとりに対してKerberoasting攻撃を実行しようとするとします。この場合、セキュリティチームに警告を発し、攻撃者のIPアドレスや使用しているツール・手法などの攻撃情報を提供できます。これによりセキュリティチームは攻撃を防御し、被害を防止することが可能となります。
欺瞞技術は特定の状況で有効ですが、Kerberoasting攻撃問題に対する完全な解決策ではありません。組織はこれらの攻撃から保護するため、複数のセキュリティ対策を組み合わせて使用する必要があります。Kerberoastingは認証情報の窃取やさらなる侵害につながる可能性があります。Singularity XDRでセキュリティを強化し、こうしたリスクを早期に検知しましょう。
Kerberoasting攻撃の防御と軽減方法 Kerberoasting攻撃の防止と軽減策 
組織は、軽減策としてドメイン全体が侵害されるのを防ぐために、以下のベストプラクティスを実施できます。
- すべてのサービスアカウントに、長く複雑なパスワード(25文字以上)を設定してください。
- サービスアカウントのパスワードを定期的に変更する(少なくとも年1回)。
- パスワード管理を提供し、管理者が各サービスアカウントの認証情報を手動で管理する必要性を排除する グループ管理サービスアカウント(gMSA)を使用してください。
- MITRE ATT&CK は、RC4 ではなく AES Kerberos 暗号化(またはそれ以上の強固な暗号化アルゴリズム)を有効化し、攻撃者がオフラインでハッシュを解読することを困難にすべきであると推奨しています。アカウントタブのチェックボックスを使用して、AES 128/256ビット暗号化タイプを有効にしてください。
 
 Kerberos セキュリティポリシー設定と推奨事項
組織は、Kerberos ポリシー設定に細心の注意を払い、攻撃者による認証情報の窃取リスクを低減する必要があります。これらのポリシー設定は コンピュータの構成Windowsの設定セキュリティの設定アカウントのポリシーKerberosポリシー にあります。
攻撃者は脆弱なポリシー設定を探索し、悪用する可能性があります。以下は Kerberos セキュリティポリシー設定と推奨オプションです。
- ユーザーログオン制限の適用– このポリシー設定が無効の場合、ユーザーは使用権限のないサービスに対するセッションチケットを取得する可能性があります。推奨される設定は「有効」です。
- サービスチケットの最大有効期間 – このポリシーは、特定のサービスにアクセスするために付与されたセッションチケットの使用可能最大時間(分)を決定します。
このポリシーは 600 分に設定することをお勧めします。「サービスチケットの最大有効期間」に過度に長い値を設定すると、ユーザーがログオン時間外にネットワークリソースにアクセスできる可能性があります。また、無効化されたユーザーアカウントが、アカウント無効化前に発行された有効なサービスチケットを使用してネットワークサービスへのアクセスを継続する可能性があります。
- ユーザーチケットの最大有効期間– このポリシーは、ユーザーのチケット発行チケットを使用できる最大時間(時間単位)を決定します。ユーザーのチケット発行チケットが期限切れになると、システムは新しいチケットを要求するか、既存のチケットを更新する必要があります。推奨設定は10時間です。設定値が高すぎると、ユーザーがログオン時間外にネットワークリソースにアクセスできる可能性があります。また、無効化されたユーザーアカウントが、アカウント無効化前に発行された有効なユーザーチケットを使用してネットワークサービスにアクセスし続ける可能性があります。設定値が低すぎると、チケット要求時のキー配布センター(KDC)のパフォーマンスに影響を与え、DoS攻撃を引き起こす可能性があります。
- ユーザーチケット更新の最大有効期間– このポリシー設定は、ユーザーのチケット付与チケットを更新する期間(日数)を決定します。推奨設定は7日です。値を高く設定しすぎると、ユーザーが非常に古いチケットを更新できる可能性があります。
- コンピューター時計の同期に対する最大許容誤差 – このポリシー設定は、Kerberos V5 が許容する(分単位)を決定します。推奨値は5分です。
SentinelOne Singularity Identity が Kerberoasting 攻撃から保護する方法
SentinelOne Singularity Identity は、Kerberoasting などの攻撃に対して Active Directory を継続的に監視します。Ranger ADソリューションはKerberosチケット列挙を検知し、Kerberoasting攻撃の可能性のあるイベントをトリガーします。Singularity Identityはまた、ハッシュ、認証トークン、Kerberosチケットを含む偽装資格情報を展開します。これにより、偽装チケットを使用する攻撃者を検知し、彼らを囮システムへ誘導して対応することが可能になります。
KerberoastingとMimikatz
Mimikatz は、Kerberoasting攻撃を実行するために使用できるツールです。Mimikatzは、パスワードやその他の認証資格情報を含む、コンピュータシステムから機密情報を抽出するために設計されたユーティリティです。
Kerberoasting攻撃の文脈では、MimikatzはKerberos認証サービスからサービスチケットを取得し、関連するパスワードを解読できます。これにより攻撃者は、サービスチケットに関連付けられたアカウントへの不正アクセスが可能になります。
Mimikatzは、正当な目的にも悪意のある目的にも使用可能な強力なツールです。セキュリティ専門家がシステムのセキュリティをテストする上で有用である一方、攻撃者がサイバー攻撃を実行するために利用する可能性もあります。したがって、組織はKerberoasting攻撃における本ツールの使用から防御する必要があります。
Kerberoastingとゴールデンチケット
Kerberoastingとゴールデンチケットは、いずれもKerberos認証プロトコルに対するサイバー攻撃を実行するために使用される技術です。
Kerberoasting は、Kerberos 認証サービスから大量のサービスチケットを取得し、専用のツールを使用してそれらのチケットに関連付けられたパスワードを解読する手法です。これにより、攻撃者はサービスチケットに関連付けられたアカウントへの不正アクセスを得ることができます。
一方、ゴールデンチケットは、ネットワーク上の任意のユーザーとして認証するために使用できる偽造の Kerberos チケットです。これにより、ゴールデンチケットを入手した攻撃者は、ネットワークへの不正アクセスやその他の悪意のある活動を行うことが可能になります。
どちらの手法も Kerberos 認証プロトコルを攻撃するために使用できますが、そのメカニズムは異なり、目的も異なります。組織は、システムセキュリティを維持するために、これらの手法の違いを理解し、それらから保護することが重要です。
ゴールデンチケット攻撃は、攻撃者がネットワークリソースへのアクセス権を得るために既存のチケットを抽出して復号化する「Kerberoasting」攻撃に似ています。一方、ゴールデンチケット攻撃では、攻撃者が完全に新規に偽造したチケットを作成し、これにより既存のアクセス制御や認証プロトコルを迂回することが可能となります。
Kerberoastingとシルバーチケット
シルバーチケットとは、攻撃者がネットワーク上で正当なサービスを偽装することを可能にする偽造Kerberosチケットです。これにより攻撃者はネットワークリソースにアクセスし、その他の悪意のある活動を実行できます。
両手法ともKerberos認証プロトコルを攻撃するために使用可能ですが、メカニズムが異なり、異なる目的で使用されます。組織はこれらの手法の違いを理解し、システムセキュリティを維持するために防御策を講じることが重要です。
多くの組織ではサービスアカウントに過剰な権限を付与し、しばしば脆弱なパスワードを設定しているため、攻撃者がドメインユーザーからドメイン管理者へ昇格する容易な経路を提供しています。継続的な評価の実施とKerberos構成の検証により、権限昇格や横方向の移動に対する脆弱性を回避できます。
Kerberoasting攻撃に関するよくある質問
Kerberoastingは、攻撃者がActive Directory環境内のサービスアカウントを標的とするポストエクスプロイト手法です。この攻撃は、Kerberos認証プロトコルから暗号化されたサービスチケットを要求し、これらのチケットをオフラインで取得してパスワードハッシュを解読することで機能します。攻撃者は特にサービスプリンシパル名(SPN)を持つアカウントを標的とします。なぜなら、認証済みのドメインユーザーであれば誰でもこれらのサービスに対するチケットを要求できるからです。
HashcatやJohn the Ripperなどのツールでパスワードハッシュを解読すると、攻撃者はサービスアカウントを偽装し、そのアカウントが権限を持つあらゆるシステムにアクセスできるようになります。
Kerberoasting攻撃は主に、マシンアカウントではなくサービスプリンシパル名(SPN)が関連付けられたユーザーアカウントを標的とします。攻撃者がユーザーアカウントに焦点を当てる理由は、マシンパスワードはドメインによって自動的に管理され、定期的に変更され、デフォルトで複雑なためです。SPN を持つユーザーアカウントは、ドメインで強制されるパスワードポリシーが常に適用されるとは限らず、パスワードの強度がユーザー次第となるため、より脆弱です。
SQL Server、IIS、その他のエンタープライズサービスなどのアプリケーションを実行するサービスアカウントは、一般的な標的です。これらのアカウントは多くの場合、昇格された特権と機密データへのアクセス権を持ち、特権昇格や横方向の移動に有用です。
組織は、サービスアカウントに対して25文字以上の強力なパスワードポリシーを実装することでKerberoastingを防御できます。パスワードを自動更新し手動管理を不要とするグループ管理サービスアカウント(gMSA)を導入すべきです。Kerberoasting試行の一般的な兆候である異常なTGSチケット要求やRC4暗号化の使用をネットワークで監視してください。サービスアカウントには最小権限の原則を適用し、必要な最小限の権限のみを付与します。
定期的なセキュリティ監査で不要なSPNを特定・削除し、使用されなくなった古いサービスアカウントは無効化または削除してください。SentinelOne Singularity™ IdentityなどのソリューションもKerberoasting攻撃の防御に有効です。
一般的なKerberoastingツールには、SPN列挙からチケット抽出までの全プロセスを自動化できるRubeusがあります。攻撃者はまた、Linuxベースの攻撃向けにImpacketのGetUserSPNs.pyスクリプトを使用しますが、これには有効なドメイン認証情報が必要です。Mimikatz はメモリから Kerberos チケットを抽出できる別の人気ツールです。
パスワードクラッキングでは、攻撃者は通常、モード 13100 の Hashcat または John the Ripper を使用して、抽出されたチケットハッシュをオフラインで解読します。また、Invoke-Kerberoast などの PowerShell スクリプトを使用すると、侵害された Windows システムから直接攻撃を実行することもできます。
MFAはKerberoasting攻撃を直接防止できません。この攻撃は初期認証プロセスではなくKerberosプロトコルの設計そのものを悪用するためです。ただし、MFAはサービスチケットを要求するために必要な初期のドメインユーザー認証情報を攻撃者が入手するのを困難にすることで、重要な保護を提供します。

