公開日:2024年3月13日
寄稿者:Matthew Kosinski
Kerberoasting攻撃はますます一般的になっています。X-Force Threat Intelligence Indexによると、IBM® X-Forceのセキュリティー・アナリストは、2022年から2023年の間にKerberoastingインシデントが100%増加したとみています。この増加率からも、ハッカーが有効なアカウントを悪用してネットワークを侵害しているという一般的な傾向がわかります。ネットワーク・セキュリティーと エンドポイント・セキュリティー の向上により、直接攻撃を仕掛けることはかなり難しくなりました。
Kerberoastingの人気に拍車をかける要因がいくつかあります。多くのディレクトリー・サービスやクラウド・コンピューティング・システムはKerberosを使用しています。つまり、ハッカーはこのプロトコルを利用して重要なネットワーク・インフラストラクチャーにアクセスできます。
特に、KerberosはMicrosoft Windows Active Directoryの標準であり、多くのKeberoasting攻撃はActive Directoryドメインをターゲットとしています。さらに、手動で作成されたサービス・アカウントはパスワードが弱く、高い権限を持っている傾向があり、魅力的なターゲットとなります。
Kerberoasting攻撃は、Kerberosの意図された設計を利用するため、検知するのが困難です。Kerberoasting攻撃の最も疑わしい部分、つまり盗まれたチケットの復号化は、オフラインで行われます。サイバーセキュリティー専門家はKerberoastingの可能性を完全に排除することはできませんが、脅威を軽減するためにプロアクティブな防御を展開することはできます。
セキュリティー・チームとITチームがより適切にリスクを管理し、潜在的な損失を制限するのに役立つ重要な洞察を得ることができます。
Kerberoastingは通常、初期の侵入戦術ではなく、権限昇格の手段です。ハッカーは、ドメイン・ユーザー・アカウントを制御してネットワークに侵入した後、Keberoastingを使用して攻撃範囲を拡大します。
ほとんどのKerberoasting攻撃は、同じ基本的な方法に従います。
Keberoastingがうまくいく理由を理解するには、まずKerberosの基本を理解する必要があります。
Kerberosは、ユーザーやサービス(アプリ、データベース、サーバーなど)をActive Directoryやその他のドメイン内で安全に認証し、通信できるようにする認証プロトコルです。
Kerberos認証プロセスでは、チケット発行システムが使用されます。このシステムの中心にあるのが、ネットワークのドメイン・コントローラー上で動作する鍵配布センター(KDC)です。
KDCは、基本的にドメインの門番です。ネットワーク上のユーザーとサービスを認証し、チケットを発行します。チケットとは、ユーザーの身元を証明し、ネットワーク上の他のリソースへのアクセスを許可する認証情報のことです。ユーザーとサービスは、これらのチケットを交換して相互に認証します。
ユーザーがドメインにログインすると、まずKDCで認証され、Ticket Granting Ticket(TGT)を受け取ります。このTGTにより、ユーザーはドメイン・サービスへのアクセスを要求することができます。
ユーザーがサービスにアクセスしたい場合、KDCのTicket Granting Ticket(TGS)にリクエストを送信します。ユーザーの身元を保証するために、このリクエストにはTGTが添付されます。
これに応えて、KDCは「TGSチケット」とも呼ばれるサービス・チケットを発行します。このチケットは、サービス・アカウントのパスワードを使用して暗号化されています。これは、ターゲット・サービスのみがユーザーのアクセス・リクエストを検証できるようにするために行われます。ユーザーはこのサービス・チケットをターゲット・サービスに提示し、ターゲット・サービスはユーザーを認証して、安全なセッションを開始します。
Kerberosの設計には、Kerberoastingの影響を受ける危険性がいくつか残されています。
まず、KDCはユーザーがサービスへのアクセスを許可されているかどうかをチェックしません。どのユーザーも任意のサービスのチケットをリクエストできます。権限を強制し、許可されていないユーザーをブロックするのは、個々のサービスに任されています。したがって、ハッカーはドメイン管理者や他の特権ユーザーのアカウントを手に入れる必要がありません。侵害されたアカウントはどれも機能します。
第2に、Kerberosドメイン内の各サービスは、ドメイン上でサービスの実行を担当するサービス・アカウントと関連付けられる必要があります。サービス・アカウントにより、Kerberosはサービスを認証し、サービス・チケットを発行し、セキュリティー制御を実施することができます。また、これらのアカウントは高い権限を持っている傾向があるため、ハッカーのターゲットになります。
第3に、Kerberosチケットは、関連付けられたアカウントのパスワード・ハッシュをキーとして使用して暗号化されます。Kerberoastingにとって重要なのは、サービス・チケットが関連するサービス・アカウントのパスワード・ハッシュを使用するということです。
アカウント・パスワードは、KDCと関連サービスのみがそのパスワードを知っていればよいため、便利な対称暗号鍵です。ただし、チケットはパスワード・ハッシュを使用して暗号化されているため、ハッカーはチケットの暗号化を解読することで、サービス・アカウントのパスワードをリバースエンジニアリングすることができます。
さらに、手動で設定されたサービス・アカウントは、「Password never expires」フラグが有効になっていることがよくあります。そのため、長年使用されているネットワークでは、サービス・アカウントに、時代遅れのセキュリティー・ガイドラインに従った非常に古いパスワードが使われていることになり、簡単に解読されてしまう可能性があります。
ハッカーはネットワークにアクセスすると、サービス・アカウントを検索します。多くの場合、サービス・プリンシパル名(SPN)を持つアカウントが検索されます。SPNは、サービスをKerberosドメイン内のサービス・アカウントに結び付ける一意の識別子です。この属性を持つのはサービス・アカウントのみであるため、SPNを持つアカウントを列挙すると、ハッカーはターゲットを見つけやすくなります。すべてのドメイン・アカウントは、デフォルトでSPNを列挙できます。
ハッカーは、PowerShellコマンドやLightweight Directory Access Protocol(LDAP)クエリーを使用して、SPNを持つアカウントを探し出すことができます。また、特殊なハッキング・ツールや侵入テスト・ツールも使用できます。例えば、Impacketツールキットには、ドメイン内のサービス・アカウントのリストを生成する「GetUserSPNs.py」というスクリプトが含まれています。
ハッカーは、乗っ取ったドメイン・アカウントを使用して、ターゲットとするサービスのサービス・チケットを要求します。
ハッカーは、これらのチケットを使ってサービスにアクセスすることはありません。それは可能ではあるものの、盗んだユーザー・アカウントはレベルが低く、限られた権限しか持たないと思われます。代わりに、ハッカーはこれらのチケットをネットワークから持ち出し、自分が制御するコンピューターに送ります。
ハッカーは盗んだチケットを復号化し、サービス・アカウントのパスワードを取得します。
チケットはサービス・アカウントのパスワードを暗号鍵として使用するため、ハッカーは通常、この作業にブルートフォース攻撃を使用します。彼らは、体系的に異なるパスワードを使用して、盗んだチケットで使用する暗号化鍵(「ハッシュ」)を生成します。暗号鍵が機能する場合、キーを生成したパスワードがサービス・アカウントのパスワードとなります。
ハッカーは、一般的なパスワードの単語リストを使用して、復号化をスピードアップできます。また、さまざまなツールを使用してクラッキング・プロセスを自動化します。最も一般的なKerberoastingツールには次のものがあります。
Impacket:ペンテスター用に設計されたPythonツールキット。ハッカーの手にかかれば、実際に損害を与える可能性のあるスクリプトがいくつか含まれています。
Rubeus:ペネトレーション・テスト向けにKerberosを悪用するように設計されたツールセット。多くの倫理的なハッキング・ツールと同様に、非倫理的なハッカーが悪意のある目的で使用する可能性があります。
John the RipperとHashcat:ブルートフォース攻撃を実行できるパスワード・クラッカー。
Mimikatz:ハッカーがKerberosチケットを取り出し、解読するのを助けます。
チケット・クラッキングは、Kerberoastingプロセスにおける最大の危険信号ですが、これは通常、ハッカーが制御するデバイス上のターゲット・ネットワークの外側で発生します。そのため、組織のセキュリティー・ツールでは検知できません。
ハッカーはサービス・アカウントのパスワードを使用してそのアカウントにログインし、権限を使用して機密リソースにアクセスしたり、横移動をしたりすることができます。
例えば、ハッカーがSQLサーバーのサービス・アカウントのパスワードを解読すれば、そのサーバーでホストされているデータベースを制御できる可能性があります。
Kerberoastingには通常、侵害したドメイン・ユーザー・アカウントが必要ですが、セキュリティー研究者のCharlie Clark氏は、適切な条件下で、ハッカーがアカウントを乗っ取ることなくサービス・チケットを盗むことができる攻撃手法を発見しました。1
ユーザーがサービス・チケットを受け取る前に、KDCで認証し、サービス・アクセスをリクエストできるTGTを取得しなければならないということを思い出してください。Clark氏は、Kerberos悪用ツールであるRubeus を使用して、TGTの代わりにサービス・チケットを要求するようこの初期認証リクエストを変更できました。これは成功し、KDCはサービス・チケットを発行しました。
この方法の用途は限られています。この手法を成功させるには、ハッカーはKerberosの事前認証を必要としないアカウントから認証リクエストを送信するふりをする必要があります。事前認証を必要とするアカウント(ほとんどのアカウントが必要とする)では、Clark氏が変更した最初の認証リクエストを送信するときでさえユーザー認証情報が必要です。とはいえ、この手法は攻撃者にとって利用価値のある手段です。
ハッカーは、ここ数年の最も重要なサイバー攻撃のいくつかでKerberoasting手法を使用しています。
2020年のSolarWinds攻撃では、ロシアの国家的ハッカーが、SolarWindsのインフラストラクチャー管理プラットフォームであるOrionの正規のアップデートを装ってマルウェアを拡散させました。ハッカーは、米国国務省と司法省を含むいくつかの企業や政府機関に侵入しました。Mitreによると、ハッカーたちはKerberoastingを使用して、侵害されたシステムで特権を昇格させました。2
同様に、Akiraランサムウェアに関連するハッカーは、Kerberoastingを使用して攻撃範囲を拡大し、侵入するネットワークへのアクセスを維持することがよくあります。2024年4月現在、Akiraは世界中で250の組織を襲い、合計4200万米ドルの身代金の脅し取っています。3
ゴールデン・チケット攻撃もKerberos認証プロセスをターゲットとしますが、Keberoastingとは異なります。
Kerberoastingでは、ハッカーはチケットを盗み、解読して、パスワードを暴き、サービス・アカウントを乗っ取ります。
ゴールデン・チケット攻撃では、ハッカーはまずドメイン内の管理者レベルの権限を取得します。これで、krbtgtアカウント(KDCがTGTを暗号化するために使用するアカウント)のパスワードにアクセスできるようになります。ハッカーはこれらの権限を使用して不正なKerberosチケットを作成し、任意のユーザーになりすましてネットワーク・リソースに事実上無制限にアクセスできるようにします。
Kerberoasting攻撃は、攻撃者が多くの時間をかけて正規のアカウントを装うため、発見するのが困難です。彼らのチケット・リクエストは本物のチケット・リクエストに紛れ込んでおり、実際のパスワード・クラッキングはネットワークの外側で行われます。
とはいえ、攻撃が成功する可能性を減らし、進行中のKerberoastingをより効果的に阻止するために、組織が使用できるツールやプラクティスは存在します。
Kerberoasting攻撃はドメイン・アカウントの制御を奪うため、強化されたIAM制御でこれらのアカウントを保護することは、いくつかの侵害を阻止するのに役立ちます。
一元化されたパスワード管理ソリューションなど、強力なパスワード・ポリシーとプラクティスは、ハッカーによるパスワードの解読を困難にします。例えば、MITRE ATT&CKフレームワークでは、サービス・アカウントのパスワードは25文字以上で、十分に複雑なものとし、定期的に変更することを推奨しています。4
Active Directoryでは、組織はグループ管理サービス・アカウントを使用できます。これはパスワードを自動的に生成、管理し、定期的に変更するサービス・アカウントであるため、管理者は手動でパスワードを管理する必要がありません。
また、適応型認証や多要素認証(MFA)のような強力な認証は、ユーザー・アカウントを盗難から保護するのに役立ちます。とはいえ、サービス・アカウントにMFAを使用するのは、多くの場合、困難で非効率的です。
特権アクセス管理ツールは、Kerberosサービス・アカウントやその他の非常に重要なターゲットなど、特権アカウントの認証情報に対して追加のセキュリティーを提供するのに役立ちます。
サービス・アカウントの権限を必要な権限に制限することで、組織は、ハッカーがこれらのアカウントを侵害することによる損害を最小限に抑えることができます。
さらに、サービス・アカウントを非対話型ログオンや特定のサービスおよびシステムのみに制限することができます。
悪質なチケット・リクエストは正規のものに紛れ込むことがよくありますが、ハッカーはその痕跡を残すことがあります。例えば、一度に多くのサービスのチケットを要求するアカウントは、Kerberoasting攻撃を行っている可能性があります。
Windowsイベント・ビューアーやセキュリティー情報およびイベント管理(SIEM)システムなどのイベント・ログは、セキュリティー・チームが疑わしいアクティビティーを検知するのに役立ちます。ユーザー行動分析(UBA)ソリューションのようなユーザーを監視するツールは、正規のアカウントを乗っ取ったハッカーを検知するのに役立ちます。
セキュリティー・チームは、監視ツールを情報システムと連携させることで、より多くの脅威アクティビティーを発見できます。例えば、事前に定義された範囲外でサービス・アカウントがログオンしようとすると、アラートがトリガーされて、調査が必要となるようにツールを構成することができます。
Kerberosの多くのインスタンスは、依然としてRC4暗号化アルゴリズムをサポートしています。しかし、この古い暗号化規格は、ハッカーが比較的簡単に破ることができます。
AES のような、より強力な暗号化タイプを有効にすると、ハッカーがチケットを解読するのがより困難になります。
組織によっては、侵入されることを意図した、ハニートークンと呼ばれる偽のドメイン・アカウントを作成しています。ハッカーがハニートークンを攻撃すると、セキュリティー・チームが対応できるように自動的にアラートが生成されます。
ハニートークンは、弱い認証情報と高い権限を持つように見せかけて、実際のアカウントから注意をそらすように設計されています。
エンドポイントおよびハイブリッド・マルチクラウド環境における特権アカウントを発見、制御、管理、保護します。
オンプレミスまたはクラウドでどのユーザーが組織のデータとアプリケーションにアクセスできるかに関する決定に、詳細なコンテキスト、インテリジェンス、セキュリティーを追加します。
現代の企業のための包括的で安全かつ準拠したIDおよびアクセス管理。
世界130カ国以上で1日あたり1,500億件を超えるセキュリティー・イベントを監視して得られた洞察と観察結果に基づく、世界中のセキュリティー・チームの課題と成功から学ぶことができます。
Identity Orchestrationは、複数のIDプロバイダーからの異種のIDおよびアクセス管理(IAM)システムをスムーズなワークフローに調整するためのソフトウェア・ソリューションです。
セキュリティー・チームと従業員がさまざまな種類のサイバーセキュリティーの脅威に関する知識を増やすほど、サイバー攻撃をより効果的に防止・準備・対応できるようになります。
すべてのリンク先は、ibm.comの外部にあります。
1 Clark, Charlie. New Attack Paths? As Requested Service Tickets. Semperis. 2022年9月27日。
2 SolarWinds Compromise. MITRE ATT&CK. 2023年4月14日。
3 StopRansomware: Akira Ransomware. Cybersecurity and Infrastructure Security Agency (CISA).2024年4月18日。
4 Steal or Forge Kerberos Tickets: Kerberoasting. MITRE ATT&CK. 2023年3月22日。