攻撃者たちの間で、見落とされがちなActive Directoryのサービスプリンシパル名(SPN)の設定不備を悪用する手口が広がりつつあります。これにより、通常のドメインアカウントであってもKerberoasting攻撃の標的になり得ることが分かってきました。
Trellixの研究者たちが「Ghost SPN」と名付けたこの手法では、侵入者がSPNを一時的に割り当ててKerberosチケットを要求した後、防御側がそれを完全に特定する前にディレクトリの変更を元に戻すことが可能です。
MITRE ATT&CKの技術T1558.003として追跡されているKerberoastingは、有効なチケット認可チケット(TGT)を保持する攻撃者が、SPNに関連付けられたアカウントのチケット認可サービス(TGS)チケットを要求できてしまう手口です。
これらのチケットの一部は、標的アカウントのパスワードハッシュから導出された鍵で暗号化されています。そのため攻撃者は、この情報を材料として、気づかれることなくオフラインで大規模に解析を試みることができます。
オンラインでのパスワード総当たりとは異なり、この手法では失敗ログインが繰り返し発生することもなく、アカウントロックが作動することもありません。攻撃者は、被害環境の外部で、必要なだけ時間をかけて取得したチケットデータを解析できてしまいます。
そのため、脆弱で推測しやすい、あるいは使い回されたパスワードが設定されていると、実際に悪用可能な認証情報が漏洩し、そこから横方向移動や権限昇格への足がかりが開かれてしまう恐れがあります。
SPNは通常、SQL ServerデータベースやKerberos対応サービス、HTTPアプリケーション、LDAPサービスなどを識別するために使われます。管理者はこれらをサービスアイデンティティに関連付けているため、監査では特権アカウントが優先的にチェックされる傾向にあります。
Ghost SPNは、まさにこの前提を悪用します。アカウントオブジェクトを変更する権限が委任されていれば、それを利用して、もっともらしいサービス識別子を通常のユーザーアカウントオブジェクトに付与できてしまうのです。
Active DirectoryがそのSPNを一度受理してしまうと、そのユーザーアカウントに対してサービスチケットの要求が可能になります。攻撃者はSPNを列挙し、新たに露出したアイデンティティに対してTGSを要求して、暗号化されたデータを収集できます。
Trellixによると、攻撃者は承認された展開ワークフローの外で帯域外の変更を行うことで、この露出状態を一時的なものにできるといいます。
要求されたチケットがKerberosの暗号化タイプ0x17にあたるRC4-HMACを使用している場合、リスクはさらに高まります。RC4由来のパスワード鍵は、一般的に最新のAESに比べてオフライン解析の標的として狙われやすいためです。
チケットを取得した後、攻撃者は悪用したSPNを削除することで、解析や再利用が可能な情報を手元に残しつつ、痕跡を最小限に抑えることもできます。
また、このチケットはメモリからエクスポートしてPass-the-Ticket攻撃に用いることも可能です。これにより、侵害されたホストはアカウントのパスワードを再入力することなくチケット情報を提示できてしまいます。
実際の侵入では、攻撃者はこうしたアイデンティティの悪用をPowerShellや難読化されたスクリプト、認証情報窃取ツールと組み合わせることがあり、これによってエンドポイントのみに頼る検知は、防御側にとって今日では大幅に信頼性を欠くものとなっています。
防御側は、Kerberoastingを従来型のサービスアカウントに限定された問題として扱うのをやめる必要があります。Microsoftは、ユーザーアカウントに設定されたSPNを監査し、不要になった値を削除することを推奨しています。
アイデンティティ管理チームは、委任されたActive Directory権限、特にユーザーがアカウントオブジェクトを変更したり、正式な変更管理プロセスを経ずにSPN属性を設定したりできる権限を精査すべきです。
検知においては、単発のTGSイベントではなく、行動パターンと相関分析に重点を置く必要があります。Windowsイベント ID 4769を監視し、RC4で暗号化されたサービスチケット、単一アカウントからの異常な要求の急増、確立されたサービス利用パターンと矛盾するチケットの有無を確認してください。
それらのアラートは、不審なプロセス、LSASSへのアクセス試行、認証情報のダンプ、異常なディレクトリ変更などと相関させて分析することが重要です。
組織は、対象となるサービスをグループ管理サービスアカウントまたは委任管理サービスアカウント(gMSA/dMSA)に移行することで、リスクを低減できます。これらは認証情報を一元的に管理してくれます。
こうした選択肢が利用できない場合は、長くランダムに生成されたパスワードを使用してください。サービスアカウントでAESを有効にし、パスワードをリセットしてAES鍵を生成するとともに、互換性テストで問題がない範囲でRC4を無効化することが望まれます。
セキュリティチームに、不審な活動をより迅速に調査し、ビジネスへの影響が拡大する前に脅威を封じ込めるための可視性とコンテキストを与えましょう。 ANY.RUNで調査を強化する
翻訳元: https://cyberpress.org/active-directory-spn-flaws/