Kerberoasting攻撃とは
KerberoastingはKerberos認証プロトコルを標的としたエクスプロイト後の攻撃手法であり、攻撃者はActive Directoryから暗号化されたサービスアカウント認証情報を抽出できるようになります。
このような攻撃では、認証ドメインユーザーはSPN(サービスプリンシパル名)のためにKerberosチケットをリクエストします。取得されたKerberosチケットは、サービスアカウントのパスワードから派生したハッシュを使用して暗号化されます。攻撃者は、オフライン状態でパスワードハッシュを解読します。このときによく使用されるのがブルートフォース技術です。サービスアカウントのプレーンテキスト認証情報を入手すると、攻撃者はアカウントの所有者になりすまし、侵害したアカウントに付与されたシステム、アセット、またはネットワークへのアクセス権を継承できます。
Kerberoasting攻撃は、次の理由により検知することが困難です。
- 従来のサイバーセキュリティツールやソリューションの多くは、認証されたユーザーの振る舞いやアクティビティを監視したり、分析したりするように設計されていません。
- Kerberoastingは、マルウェアに依存しないため、従来のウイルス対策ソリューションでは検知できません。ただし、アイデンティティベースの脅威検知ソリューションとEDR(エンドポイント検知・対応)ツールを使用すると、異常なチケットリクエストやクラッキングの試みを識別できるようになります。
Kerberoasting攻撃が広がっている理由
攻撃者は、正規ユーザーを装う機能により、攻撃経路を進みながら検知されることを回避できるため、Kerberoastingなどの手法を用いてユーザー認証情報にアクセスするために苦労を惜しむことはありません。認証情報を盗み、なりすました後、攻撃者はアカウントが権限を付与されているシステム、サービス、またはネットワークにアクセスできます。経験豊富な攻撃者は、権限を昇格させネットワーク内をラテラルムーブメントし、その他のアカウント認証情報を収集し、今後のアクセスに適したバックドアを設定し、作業中にデータを盗み出すこともできます。
Kerberoasting攻撃の仕組み
Kerberoasting攻撃は、簡単に推測できるような脆弱なサービスアカウントパスワードの組み合わせを悪用します。特に、RC4などの古い暗号化標準が使用されている場合に狙われます。こうした攻撃のプロセスは、次のようになります。
- 脅威アクターは、有効なドメインユーザー認証情報を入手すると、さまざまなツールを使用して、SPN(サービスプリンシパル名)が関連付けられているADアカウントを識別します。
- 次に、GhostPackのRubeusやSecureAuth CorporationのGetUserSPNs.pyなどのツールを使用して、特定した1つ以上のアカウントに対するKerberosサービスチケットをTGS(チケット付与サービス)にリクエストします。
- 脅威アクターはKerberosキー配布センター (KDC) からチケットを受信します。このチケットは、アカウントのパスワードのハッシュバージョンで暗号化されています。
- 脅威アクターは、TSGチケットをキャプチャしてオフラインにします。
- 脅威アクターは、SPN認証情報ハッシュを解読し、ブルートフォース手法またはHashcatやJohnTheRipperなどのツールを使用して、サービスアカウントのプレーンテキストパスワードを入手しようとします。
- サービスアカウントのパスワードを入手すると、脅威アクターはサービスアカウントとして認証を試み、侵害したアカウントに関連付けられているサービス、ネットワーク、またはシステムへのアクセスが許可されます。
- 続いて、データの窃取や権限の昇格のほか、将来のアクセスに備えてネットワークにバックドアを設定するといったことが可能になります。
留意しておくべきこと
- Kerberoasting攻撃では、ドメイン管理者アカウントや昇格された特権を持つアカウントは必要ありません。実際、どのアカウントもTSGからのサービスチケットを要求できるので、このタイプの攻撃では、任意のドメインユーザーアカウントを使用できます。
- Kerberoastingでは、攻撃者がKDCにチケットをリクエストするためにユーザーアカウントへの既存のアクセス権が必要です。このアクセスは、ソーシャルエンジニアリング、マルウェア、ダークウェブでのユーザー認証情報の購入などさまざまな方法で実現できます。
- SPNは、ホストベースまたはドメインユーザーアカウントにリンクできます。ホストベースのSPNは、パスワードが毎回30日以内に更新される長く複雑なキーであるため、Kerberoasting攻撃に対して脆弱ではありません。これらの複雑でランダムに生成されたパスワードは、高度なパスワードクラッキングツールやブルートフォース手法を使用してもクラッキングが困難です。これに対し、ユーザーアカウントのSPNパスワードは、人間によって選択されるため、多くの場合、他の手動で作成されたパスワードと同じ脆弱性を共有します。つまり、SPNパスワードは、脆弱、一般的、時代遅れ、リサイクル、または再利用されるとみなされる可能性があります。高度なツールであれば、こうしたパスワードを数時間ほどでクラッキングできます。
- Kerberoasting攻撃は、認証されたドメインユーザーがネットワーク上の任意のサービスに対してTGSリクエストを開始できるというアーキテクチャ上の欠陥も悪用します。リクエストの受信者であるドメインコントローラーは通常、ユーザーがこのサービスへのアクセスを認証されているかどうかを確認しません。ドメインコントローラーは、リクエスト元のユーザーが特定のSPNのサービスチケットをリクエストできる権限があるかどうかを確認しないため、攻撃者は任意のサービスアカウントのチケットを入手して、オフラインで解読を試みることができます。
Kerberoasting攻撃を検知して停止する方法
従来のサイバーセキュリティ対策ではKerberoasting攻撃をリアルタイムで検知することが困難な場合もありますが、セキュリティポスチャを強化して潜在的な損害を緩和する戦略をいくつか導入できます。
1. 包括的なアイデンティティセキュリティ戦略とツールセットを開発して展開する
セキュリティポスチャを強化するために、完全なアイデンティティセキュリティ戦略とツールセットを開発して展開する必要があります。
アイデンティティセキュリティは、企業内のあらゆる種類のアイデンティティ(人員や機器、オンプレミスやハイブリッド、通常IDや特権付きID)を保護し、特に攻撃者がエンドポイントのセキュリティ対策をバイパスしようとする際に攻撃を検知して防止するための包括的なソリューションです。アイデンティティセキュリティ戦略の一環として、次のことを行う必要があります。
強力なパスワードハイジーンを確保する:Kerberoasting攻撃のリスクを軽減する最善の方法の1つは、特にSPNが関連付けられているサービスアカウント用の強力なパスワードの作成をユーザーに義務付けることです。次の基準を満たすと、強力なパスワードになります。
- 複雑である:大文字、小文字、数字、特殊文字のいずれも含めた14文字以上で構成します。
- ランダムである:推測しやすい単語、フレーズ、パターンを避けます。
- 定期的に更新する:定期的に更新して攻撃機会を減らします。
長くて複雑でランダムなパスワードは、パスワードクラッキングツールによる侵害が飛躍的に困難になります。パスワードを頻繁に更新すると、攻撃者がパスワードハッシュをクラッキングできる時間が制限されます。
ITチームは、すべてのサービスアカウントで[このアカウントはKerberos AES 128/256ビット暗号化をサポートします]が有効になっていることを確認する必要があります。AES暗号化を使用してKerberosサービスチケットを暗号化する場合、より強力なパスワードハッシュも使用されるため、パスワードのクラッキングがさらに困難になります。
- 特権サービスアカウントを特定する:どのアカウントもKerberoasting攻撃の対象となる可能性がありますが、管理者アカウントは攻撃者に高いレベルのアクセス権を付与するため、引き続き最も脆弱です。
- 人間のアカウントからSPNを削除する:SPN(サービスプリンシパル名)がユーザーアカウントに登録されていないことを確認します。誤ってKerberoasting攻撃にさらされる可能性があるからです。ソフトウェアのセットアップ中、管理者や開発者が手動または自動でサービスをインストールするときに、SPNがユーザーアカウントに割り当てられることがあります。これが行われると、アカウントがKerberoasting攻撃に対して不必要に脆弱になる可能性があります。代わりに、専用のサービスアカウントやgMSA(グループマネージドサービスアカウント)を使用すると、リスクを軽減できます。
- gMSA(グループマネージドサービスアカウント)を実装する:gMSAを利用すると、パスワード管理の自動化、セキュリティ制御の強化、パスワードの手動管理に伴うリスクの軽減を図ることができます。
- Kerberosチケットリクエストをモニタリングする:Kerberosチケットリクエストを定期的に監査およびモニタリングして、攻撃を示唆する異常なパターンを検知します。短期間で多数のTGSがリクエストされる、高い権限を持つアカウントがリクエストされる、通常とは異なるホストから試行されるといった異常を探します。チケットリクエストが異常なほど急増する、サービスチケットのリクエストが繰り返し試行されるといったことは、危険信号と考えられます。
- 最小特権の原則を導入する:サービスアカウントをその機能に必要な最小限の特権に制限します。不要な権限を削減すると、侵害されたアカウントの影響を制限し、攻撃者によるラテラルムーブメントを防御できるようになります。
- MFA(多要素認証)を要求する:MFA(多要素認証)を実装すると、セキュリティ層が積み重なるため、攻撃者に認証情報を窃取されても悪用が困難になります。
残念ながら、既存のすべての特権アカウント、特に古くなって使用されていないアカウントを完全には把握できていない組織が少なくありません。BloodHoundなどのツールを使用すると、Active Directoryの関係を分析し、昇格された権限を持つサービスアカウントを特定できます。BloodHoundによって収集されたデータはneo4jデータベースに保存され、Cipherクエリ言語を使用して直接クエリできます。以下に示す2つのCipherクエリは、どのサービスアカウントに管理者権限が付与されているかを特定するのに役立ちます。最初のクエリはサービスアカウントを返し、明示的なまたはグループに委任されたローカル管理権限を持つホストの数で並べ替えます。2番目のクエリは、特定のActive Directoryユーザーグループ(この場合はドメイン管理者グループ)に属するサービスアカウントを返します。
- アイデンティティセキュリティソリューションの統合:アイデンティティセキュリティソリューションは、組織の既存のIAM(アイデンティティおよびアクセス管理)ツールとプロセス、およびゼロトラストアーキテクチャを統合する必要があります。
CrowdStrike Falcon® Identity Protectionツールは、完全なアイデンティティ監査を行い、それぞれがアクセスするアカウント、プロトコル、およびサービスを理解できるようにします。Falconプラットフォームは、パートナーの多要素認証/IAMソリューションとの統合により、アイデンティティセキュリティを強化し、リスクベースの認証を実施します。
2. プロアクティブな脅威ハンティングを追加する
CrowdStrike Falcon OverWatch™などの真にプロアクティブな脅威ハンティングツールにより、盗んだ認証情報を利用して正規のユーザーを装って実行される未知のステルス攻撃を24時間365日体制でハンティングできます。これらは、標準的な対策で見逃される可能性のある攻撃の種類です。OverWatchチームは、高度な持続的標的型(APT)攻撃アクターをとの日々の「白兵戦」から得た専門知識を活用して、毎日数百万の微妙なハンティングリードを見つけて追跡し、それらが正当なものか悪意のあるものかを検証し、フォールスポジティブを回避しながら必要に応じてお客様に警告しています。
3. 真の次世代エンドポイント保護を可能にする
認証情報へのアクセスは、非常に有効であるため、攻撃者がよく使用する手法です。組織は認証情報の盗難の脅威を真剣に受け止め、エンドポイントレベルで被害を回避するための戦略を導入する必要があります。Kerberoasting攻撃を検知して防御するためには、CrowdStrike Falcon®プラットフォームなどの次世代エンドポイントセキュリティソリューションを導入することが重要です。Falconのアイデンティティベースの脅威検知により、異常な認証の振る舞いを識別し、異常なKerberosチケットリクエストを検知して、認証情報の不正使用をリアルタイムでフラグ付けすることで、アイデンティティベースの脅威の拡大を未然に阻止できるようになります。
2024年版脅威ハンティングレポート
クラウドストライク2024年版脅威ハンティングレポートでは、245を超える現代の攻撃者の最新の戦術を明らかにし、これらの攻撃者がどのように進化し続け、正当なユーザーの振る舞いを模倣しているかを示します。侵害を阻止するためのインサイトをこちらから入手してください。
今すぐダウンロードKerberoasting攻撃とは
Kerberoastingは、サービスプリンシパル名(SPN)を持つActive Directoryアカウントのパスワードハッシュを取得しようとするポストエクスプロイト攻撃技術です。
このような攻撃では、認証ドメインユーザーはSPNのためにKerberosチケットをリクエストします。取得したKerberosチケットはSPNに関連しているサービスアカウントパスワードのハッシュで暗号化されています(SPNとは、AD内部でサービスとユーザーアカウントを結ぶ属性です)。攻撃者は、オフライン状態でパスワードハッシュを解読します。このとき、多くの場合ブルートフォース技術を使用します。
サービスアカウントのプレーンテキスト認証情報が取得されると、攻撃者はアカウントの所有者になりすまし、侵害されたアカウントに付与されたシステム、アセットまたはネットワークへのアクセス権を継承できます。
Kerberoasting攻撃は、次の理由により検知することが困難です。
- 従来のサイバーセキュリティツールやソリューションの多くは、認証されたユーザーの振る舞いやアクティビティを監視したり、分析したりするように設計されていません。
- これらのタイプの攻撃にはマルウェアが存在しないため、アンチウィルスソリューションなどの従来の防御技術は無力になります。
Kerberoasting攻撃が広がっている理由
攻撃者は、正規ユーザーを装う機能により、攻撃経路を進みながら検知されることを回避できるため、Kerberoastingなどの手法を用いてユーザー認証情報にアクセスするために苦労を惜しむことはありません。認証情報を盗み、なりすました後、攻撃者はアカウントが権限を付与されているシステム、サービス、またはネットワークにアクセスできます。経験豊富な攻撃者は、権限を昇格させネットワーク内をラテラルムーブメントし、その他のアカウント認証情報を収集し、今後のアクセスに適したバックドアを設定し、作業中にデータを盗み出すこともできます。
Kerberoasting攻撃の仕組み
Kerberoasting攻撃は弱い暗号化技術と単純であまり複雑でないパスワードの組み合わせを利用します。通常、これらの攻撃では、次のようなプロセスで実行されます。
- 脅威アクターは、ドメインユーザーのアカウントを侵害します。
- 脅威アクターは、ドメインユーザーのコンテキストを使用して、GhostPackのRubeusやSecureAuth CorporationのGetUserSPNs.pyなどのツールを使用してチケット付与サービス(TGS)からKerberosサービスチケットをリクエストします。
- 脅威アクターはKerberosキー配布センター(KDC)からチケットを受信します。このチケットは、アカウントのパスワードのハッシュバージョンで暗号化されています。
- 脅威アクターは、TSGチケットをキャプチャしてオフラインにします。
- 脅威アクターは、SPN認証情報ハッシュを解読し、ブルートフォース手法またはHashcatやJohnTheRipperなどのツールを使用して、サービスアカウントのプレーンテキストパスワードを入手しようとします。
- サービスアカウントのパスワードを入手すると、脅威アクターは、サービスアカウントとして認証を試み、侵害されたアカウントに関連付けられているサービス、ネットワーク、またはシステムへのアクセスが許可されます。
- その後で、攻撃者は、データを盗み、特権をエスカレーションさせたり、将来もアクセスできるようにネットワークにバックドアを設定したりすることができます。
留意しておくべきこと
- Kerberoasting攻撃では、ドメイン管理者アカウントや昇格された特権を持つアカウントは必要ありません。実際、どのアカウントもTSGからのサービスチケットを要求できるので、このタイプの攻撃では、任意のドメインユーザーアカウントを使用できます。
- Kerberoastingでは、攻撃者がKDCからのチケットを要求するためにユーザーアカウントへの既存のアクセス権が必要です。このアクセスは、ソーシャルエンジニアリング、マルウェア、ダークウェブでのユーザー認証情報の購入などさまざまな方法で実現できます。
- SPNは、ホストベースまたはドメインユーザーアカウントにリンクできます。ホストベースのSPNは、パスワードが毎回30日以内に更新される長くて複雑なキーであるため、Kerberoasting攻撃に対して脆弱ではありません。これらの複雑でランダムなパスワードは、高度なクラッキングツールやブルートフォース手法を使用してもクラッキングが困難です。これに対し、ユーザーアカウントのSPNパスワードは、人間によって選択されるため、多くの場合、他の手動で作成されたパスワードと同じ脆弱性の対象となります。つまり、SPNパスワードは、脆弱、一般的、時代遅れ、リサイクルまたは再利用されるとみなされる可能性があります。高度なツールは多くの場合、これらのパスワードを数時間でクラッキングできます。
- Kerberoasting攻撃は、認証されたドメインユーザーがネットワーク上の任意のサービスに対してTGSリクエストを開始できるというアーキテクチャ上の欠陥も悪用します。要求の受信者であるドメインコントローラーは通常、ユーザーがこのサービスへのアクセスを認証されているかどうかを確認しません。サービス自体がアクセス権を適用するため、オフラインの攻撃が発生する可能性がある抜け穴が作られます。
詳細
攻撃者が、Microsoft Active Directory内の一般的な脆弱性や構成ミスをどのように悪用するのかについての内部情報については、以下の関連するブログをご覧ください。「Skeletons in the IT Closet: Seven Common Microsoft Active Directory Misconfigurations that Adversaries Abuse」(IT クローゼット内のスケルトン:攻撃者が悪用する7つの一般的なMicrosoft Active Directoryの構成ミス)。読む
Kerberoasting攻撃を検出して停止する方法
従来のサイバーセキュリティ対策を使用して実行中のKerberoasting攻撃を実際に検出することは困難ですが、全体的なセキュリティポスチャを強化して、これらのイベントを防止し、被害を限定的にするために組織が実行できるいくつかのステップがあります。
1. 包括的なアイデンティティセキュリティ戦略とツールセットを開発して展開する
セキュリティポスチャを強化するために、組織は、完全なアイデンティティセキュリティ戦略とツールセットを開発して展開する必要があります。
アイデンティティセキュリティは、企業内のあらゆる種類のアイデンティティ(人員や機器、オンプレミスやハイブリッド、通常IDや特権付きID)を保護し、特に攻撃者がエンドポイントのセキュリティ対策をバイパスしようとする際に攻撃を検知して防止するための包括的なソリューションです。アイデンティティセキュリティ戦略の一環として、組織は次のことを行う必要があります。
強力なパスワードハイジーンを確保する:Kerberoasting攻撃のリスクを軽減する最善の方法の 1 つは、特にSPNが関連付けられているサービスアカウント用の強力なパスワードの作成をユーザーに義務付けることです。次のようなパスワードは強力です。
- 複雑:25文字以上で構成されている。
- ランダム:認識可能な単語、フレーズ、パターンを含まない。
- 頻繁に変更:30日以内にローテーションされる。
長くて複雑でランダムなパスワードは、パスワードクラッキングツールによる侵害が飛躍的に困難になります。パスワードを頻繁に更新すると、攻撃者がパスワードハッシュをクラッキングできる時間が制限されます。
ITチームは、すべてのサービスアカウントで[このアカウントはKerberos AES 128/256ビット暗号化をサポートします]が有効になっていることを確認する必要があります。AES暗号化を使用してKerberosサービスチケットを暗号化する場合、より強力なパスワードハッシュも使用されるため、パスワードのクラッキングがさらに困難になります。
特権サービスアカウントの特定:どのアカウントもKerberoasting攻撃の対象となる可能性がありますが、管理者アカウントは攻撃者に高いレベルのアクセス権を付与するため、引き続き最も脆弱です。残念ながら、多くの組織では、既存のすべての特権アカウント、特に古くなって使用されていないアカウントを完全に把握できない場合があります。
組織は、BloodHoundなどのツールを使用して、AD内のすべての特権サービスアカウントを特定することができます。BloodHoundによって収集されたデータはneo4jデータベースに保存され、Cipherクエリ言語を使用して直接クエリできます。以下に示す2つのCipherクエリは、どのサービスアカウントに管理者権限が付与されているかを特定するのに役立ちます。最初のクエリはサービスアカウントを返し、明示的なまたはグループに委任されたローカル管理権限を持つホストの数で並べ替えます。2番目のクエリは、特定のActive Directoryユーザーグループ(この場合はドメイン管理者グループ)に属するサービスアカウントを返します。このヒントの詳細を参照してください。
MFAの使用:多要素認証(MFA)は、ユーザーがシステムにアクセスするために複数の種類の認証を提示する必要があるセキュリティツールであり、攻撃者が実際のユーザーの認証情報を持っている場合でも、ネットワークまたはシステムへの不正アクセスを防ぐことができる非常に有効な方法と考えられています。これは、テキストで送信されるワンタイムセキュリティトークン、認証ツールの使用、生体認証検証などの二次的な方法でユーザーが本人であることを確認した場合にのみ、ユーザーにアクセスが許可されるためです。
アイデンティティセキュリティソリューションの統合:アイデンティティセキュリティソリューションは、組織の既存のアイデンティティ/アクセス管理(IAM)ツールとプロセス、およびゼロトラストアーキテクチャを統合する必要があります。
Falconアイデンティティ保護ツールは、完全なアイデンティティ監査を行い、それぞれがアクセスするアカウント、プロトコル、およびサービスを理解できるようにします。Falconプラットフォームは、パートナーMFA/IAMプロバイダ、SIEM、SOARテクノロジーなどに複数のAPIを提供し、さらに、すべてのデバイスとアイデンティティをエンドツーエンドで確認し、それぞれをリアルタイムで制御できるようにします。
2. プロアクティブな脅威ハンティングを追加する
Falcon OverWatch™などの真にプロアクティブな脅威ハンティングツールにより、盗んだ認証情報を利用して正規のユーザーを装って実行される未知のステルス攻撃を24時間365日体制でハンティングできます。これらは、標準的な対策で見逃される可能性のある攻撃の種類です。OverWatchチームは、高度な持続的標的型攻撃(APT攻撃)を用いる攻撃者との日々の「白兵戦」から得た専門知識を活用して、毎日数百万の微妙なハンティングリードを見つけて追跡し、それらが正当なものか悪意のあるものかを検証し、誤検知を回避しながら必要に応じてお客様に警告しています。
3. 真の次世代エンドポイント保護を可能にする
認証情報へのアクセスは、非常に有効であるため、攻撃者がよく使用する手法です。組織は認証情報の盗難の脅威を真剣に受け止め、エンドポイントレベルで被害を回避するための戦略を導入する必要があります。盗んだ認証情報を使用する攻撃を含むあらゆる攻撃から防御するように設計されているCrowdStrike Falcon®プラットフォームなどの次世代のエンドポイントセキュリティソリューションを採用することで、組織は、Kerberoasting攻撃やその他の認証情報の盗難技術から組織を確実に保護できます。
Kerberoastingの防止に関するクラウドストライクのアプローチと専門知識
クラウドストライクは、攻撃者が攻撃ライフサイクル全体にわたって有効なアカウント認証情報を使用しているかどうかを頻繁に観察します。最新のMITRE Engenuity ATT&CK Evaluationで、FalconプラットフォームがKerberoastingなどの認証情報ベースの攻撃を検出するのに非常に効果的であることが明らかになりました。
Falconプラットフォームは、評価の開始してすぐに、侵害されたパスワードと侵害されたアカウントがシステムへのアクセスを要求するために使用されていることを直ちに特定しました。これにより、独立したテスト評価者が環境に初期アクセスすることができなくなりました。テストが開始される前にテストを効果的に停止し、テストを続行するためにプラットフォームの保護コンポーネントを無効にする必要がある評価対象ソリューションの中でCrowdStrike Falcon®が唯一それが可能なソリューションとなりました。
ID保護機能が無効になった後でも、FalconプラットフォームはMITRE攻撃フレームワークの9つのステップすべてにわたって100%の防御を達成しました。
今日のリスクの高い環境においては、盗難または漏洩した認証情報を悪用した攻撃からの保護は特に重要です。Falcon OverWatch脅威ハンティングチームの分析によると、80%の侵害はアイデンティティがきっかけになっています。リアルタイムで攻撃者を阻止し、攻撃の進行を阻止するには、エンドポイント、ID、およびデータにゼロトラストを適用するセキュリティに対する統一されたアプローチが必要です。
詳細
最新のMITRE Engenuity ATT&CK Evaluationsの基準とクラウドストライクのパフォーマンスの詳細については、関連するブログ記事「 Falcon Platform Identity Protection Shutdowns Down MITRE ATT&CK Adversaries(Falcon Platform Identity ProtectionのシャットダウンによりMITRE ATT&CK攻撃者をシャットダウン)」をご覧ください。読む。