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リクエストを開始できるというアーキテクチャ上の欠陥も悪用します。要求の受信者であるドメインコントローラーは通常、ユーザーがこのサービスへのアクセスを認証されているかどうかを確認しません。サービス自体がアクセス権を適用するため、オフラインの攻撃が発生する可能性がある抜け穴が作られます。
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、およびデータにゼロトラストを適用するセキュリティに対する統一されたアプローチが必要です。