
Kerberoasting攻撃はIT担当者にとって依然として頭痛の種であり、ハッカーが権限を昇格させ、Active Directory(AD)環境の最上位に到達することを可能にします。しかし、強固なパスワード、暗号化、サイバーセキュリティポリシーを徹底することで、犯罪者が行動を起こす前に阻止することができます。
Kerberoastingという用語は、MicrosoftのADが特定のリソースへのアクセスを要求するコンピュータやユーザーの身元を確認するために使用する認証プロトコル「Kerberos」に由来します。
この攻撃の強力さは、その権限昇格の性質にあります。サイバー犯罪者は、AD内の標準的なWindowsユーザーアカウントを、一般的な犯罪手法(マルウェア、フィッシングなど)を使って悪用することから始めます。
しかし、攻撃者の本当の狙いは「サービスアカウント」であり、サービスプリンシパル名(SPN)によって識別されます。これらはWindowsサービスを実行するためのアカウントであり、通常のユーザーが使用するものではありません。
サービスアカウントは、しばしば複数のサービスにわたる高い権限を持ち、場合によってはドメイン管理者権限を持つこともあるため、ハッカーにとって魅力的なターゲットです。
Active DirectoryにおけるKerberoastingの仕組み
では、攻撃者はどのようにして通常のユーザーアカウントからサービスアカウントへと移行するのでしょうか?その危険性は、Kerberos内のチケット発行メカニズムにあります。
Kerberosプロトコルは、「サービスチケット」と呼ばれるメッセージでユーザー認証状態を伝達します。ADアカウントを持つ任意のユーザーは、チケット発行サービス(TGS)からAD内の任意のサービスアカウントへのチケットを要求できます。つまり、攻撃者は自分が制御する通常のユーザーアカウントを使って、SPNに紐づくサービスチケットを要求できるのです。
ハッカーは、SecureAuth CorporationのGetUserSPNs.pyやGhost PackのRubeusなど、無料のオープンソースツールを使って、こうしたアカウントを簡単に特定できます。これらのツールは、サービスアカウントに関連付けられた有効なチケットの自動要求も可能です。
各チケットは、ターゲットアカウントのパスワードのハッシュ(SPNに紐づくパスワード)で暗号化されています。攻撃者はチケットをオフラインに持ち出し、ブルートフォース攻撃でパスワードハッシュを好きなだけ解析し、サービスアカウントとその全アクセス権を乗っ取ることができ、そこからさらに権限を拡大できます。
より強固なセキュリティのためのパスワード優先事項
もしアカウントが適切に保護されていれば、こうした攻撃は不可能です。たとえハッカーがチケットを手に入れてオフラインで解析しようとしても、最高レベルの暗号化やパスワードの複雑性があれば、チケットハッシュの解析を阻止できます。
したがって、最初のステップとして、自社で使用しているパスワードを監査し、Kerberoasting時代にふさわしいものか確認しましょう。
Specops Password Auditorのようなツールは、AD内のパスワード関連の脆弱性をスキャンする上で重要な役割を果たします。これは以下の3つの主要なレベルで機能します:
- ADアカウントの監査:ユーザーアカウントを10億件の脆弱なパスワードと照合し、攻撃者が狙う弱いパスワードをスキャン、ドメイン内の古いまたは非アクティブな特権アカウントを監査します。
- パスワードレポートによるリスク分析:ポリシーがユーザーに安全なパスワード作成を促しているか確認します。期限切れ・重複・空白パスワードのアカウントを特定し、ブルートフォース攻撃に対するポリシーの有効性を測定します。

- パスワードポリシーをコンプライアンス基準と整合:パスワードポリシーを最高基準と比較し、サイバーセキュリティやプライバシー規制への準拠状況を確認します。
Kerberoastingが検知しにくい理由
ADのアーキテクチャを悪用することで、巧妙な犯罪者がいかに簡単に権限を昇格できるか見てきました。しかし、もう一つの問題があります。Kerberoastingは、進行中でも検知が難しいのです。
まず、ハッカーによるチケットの解析はオフラインで行われるため、検知できません。さらに悪いことに、これらの攻撃はマルウェアを必要としないため、従来のアンチウイルスツールなどでは検知できません。
また、攻撃者は正規のアカウントを乗っ取ることから始めるため、通常のユーザーの行動を監視するようには設計されていないサイバーセキュリティ検知ソリューションを回避できます。
では、Kerberoastingからアカウントを守るために何ができるのでしょうか?リスクを減らす方法は多くありますが、ここでは主要な優先事項を紹介します。
すべてのドメインアカウントのパスワードを定期的に監査する
ご覧の通り、パスワードは最も弱いリンクです。SPNが有効な各アカウントは、再利用不可・ランダム・25文字以上の長いパスワードで保護する必要があります。また、これらのパスワードは定期的に変更することを徹底しましょう。
グループ管理サービスアカウント(gMSA)を利用する
これは、複数のサービスやサーバーが同じアカウントを利用できるADアカウントの一種で、SPNの管理を簡素化し、パスワード管理を自動化します。Microsoftによれば、gMSAのパスワードは「120文字で、複雑かつランダムに生成されており、現在知られている手法によるブルートフォース攻撃に非常に強い」とされています。
AES暗号化を選択する
すべてのサービスアカウントが同じリスクを持つわけではありません。最も弱いターゲットは、RC4などの脆弱な暗号化アルゴリズムを使用しているアカウントです。AES暗号化を使用するアカウントは、犯罪者にとってはるかに解析が困難です。

サービスアカウントを守るための次のステップ
Kerberoastingは重大な脅威ですが、その危険性には対策が可能です。最初のステップは、SPNを持つすべてのユーザーアカウントを監査することです。もし一部のアカウントにSPNが不要であれば、単純に削除しましょう。Active Directoryの読み取り専用スキャンを今すぐ実行したい場合は、無料の監査ツールSpecops Password Auditorをダウンロードしてください。
より広いレベルでは、組織全体で強固なパスワードポリシーとサイバーセキュリティ衛生を徹底しましょう。Kerberoastingは通常のユーザーアカウントへの攻撃から始まるため、全員が長く複雑なパスワードを使い、定期的に変更するようにしてください。さらに良いのは、多要素認証の導入を推進し、従業員にマルウェアやフィッシングの危険性を周知することです。
サイバー犯罪者は簡単に入手できるツールを使って攻撃を仕掛けてきますが、技術はあなたの味方でもあります。例えば、Specops Password Policyは40億件以上のユニークな漏洩パスワードを継続的にブロックするよう設計されており、こうした潜在的な問題をスキャンし、毎日漏洩パスワードを発見します。
このような防御策を講じることで、Kerberoastingを最初から失敗させ、重要なサービスアカウントを悪用から守ることができます。
Specops Password Policyのライブデモを今すぐ予約しましょう。
スポンサー:Specops Softwareによる寄稿記事