Kerberoasting攻撃は、Active Directory(AD)環境でのKerberos認証プロトコルを悪用し、サービスアカウントのパスワードをクラックするためのサイバー攻撃手法です。攻撃者は、Active Directoryの認証機能を利用してサービスアカウントに関連付けられたKerberosチケット(Ticket Granting Service, TGS)を取得し、これをオフラインで解析することでパスワードを特定します。
この攻撃手法は、特にサービスアカウントのパスワードが短かったり、複雑性に欠けていたりする場合に効果を発揮します。Kerberoasting攻撃は、内部ネットワークへのアクセス権を持つ攻撃者が、権限をエスカレーションし、さらなる侵害を試みる際に利用されます。
この記事の目次
Kerberoasting攻撃の仕組み
- Active Directoryのアクセス 攻撃者は、AD環境内のユーザーとしてログインできるアクセス権を持っている必要があります。この状態は、初期侵入後の攻撃フェーズで一般的に達成されます。
- サービスプリンシパル名(SPN)の列挙 攻撃者は、
GetUserSPNs
などのツールを使って、AD内のすべてのサービスプリンシパル名(SPN)を列挙します。SPNは、特定のサービスアカウントに関連付けられた識別子です。 - Kerberosチケットのリクエスト 攻撃者は、列挙したSPNに対してKerberos認証を行い、TGS(Ticket Granting Serviceチケット)を取得します。このチケットは、RC4やAESなどの暗号アルゴリズムで暗号化されており、サービスアカウントのハッシュ(パスワード)がキーとして使用されています。
- オフラインでのパスワードクラック 取得したTGSをオフラインで解析し、サービスアカウントのパスワードをクラックします。この過程には、
Hashcat
やJohn the Ripper
などのツールが使用されます。 - 権限エスカレーション クラックしたパスワードを使用して、特権アカウントにアクセスし、さらなる攻撃を行います。
Kerberoasting攻撃が成功する理由
- 低パスワード複雑性
サービスアカウントのパスワードが短く、辞書攻撃やブルートフォース攻撃に対して脆弱な場合。 - オフライン解析の利点
Kerberoasting攻撃はオフラインでクラックを行うため、ネットワーク監視システムでは検知が困難です。 - Kerberosプロトコルの設計上の欠陥
Kerberos自体は安全性が高い認証プロトコルですが、TGSの暗号化にサービスアカウントのパスワードハッシュが使用される点が悪用されています。
Kerberoasting攻撃の影響
- サービスアカウントの漏洩 サービスアカウントのパスワードが漏洩すると、攻撃者はそのアカウントを使用して他のシステムにアクセス可能になります。
- 権限エスカレーション サービスアカウントが高い権限を持つ場合、攻撃者はネットワーク全体を制御できるようになります。
- 情報漏洩とシステム停止 機密情報の窃取や業務の中断、さらにはランサムウェア攻撃の展開などが可能になります。
Kerberoasting攻撃の防御策
1. サービスアカウントの管理
- 強力なパスワードポリシー
サービスアカウントのパスワードを長く、複雑なものに設定する。 - パスワードの定期変更
パスワードを定期的に変更し、長期間同じものを使用しない。
2. サービスアカウントの権限制限
- 必要最低限の権限を付与し、過剰な特権を与えない。
3. Kerberosチケットの保護
- AES暗号化の利用
RC4ではなくAES暗号を使用することで、攻撃の難易度を高める。 - チケットの有効期限短縮
Kerberosチケットの有効期限を短く設定することで、攻撃者の解析時間を制限。
4. 監視とログ分析
- SPNリクエストの監視
不審な数のSPNリクエストを検知し、調査を行う。 - TGSリクエストの監視
特定のユーザーやIPアドレスからの大量のTGSリクエストを警告。
5. 従業員教育
- 内部ユーザーに対して、パスワードの重要性とセキュリティポリシーを教育。
使用されるツール
- Kerberoast
Kerberoasting攻撃を実行するためのオープンソースツール。 - GetUserSPNs
PowerShellスクリプトで、SPNを列挙するために使用されます。 - Hashcat
高速なハッシュクラックツールで、Kerberosチケットの解析に利用されます。
まとめ
Kerberoasting攻撃は、Active Directory環境で広く利用されるKerberos認証プロトコルの設計上の弱点を悪用した攻撃手法です。この攻撃を防ぐためには、サービスアカウントの適切な管理、強力なパスワードの適用、監視体制の強化が不可欠です。組織は防御策を講じることで、攻撃リスクを大幅に軽減することが可能です。特に、高権限アカウントへのアクセスを防ぐことは、ネットワーク全体のセキュリティを維持する鍵となります。