「Rethinking Privileged Access」シリーズ 全3回中の第2回。まずは第1回をお読みください:パスワードだけが問題ではなかった。
第1回では、従来型PAMの「金庫とチェックアウト」モデルと、Netwrix Privilege Secure(NPS)による最新PAMの「セッションとActivities」モデルの違いを整理しました。前者はパスワードを守り、後者はその背後にある常時特権を排除します。この整理は出発点としては有益ですが、問題を過小評価しています。WindowsとActive Directoryでは、パスワードは単なるシードにすぎません。攻撃者が横展開に使うものはすべて、パスワードから派生するか、パスワードがあるために発行されます。NTLMハッシュ、Kerberosチケット、キャッシュされたログオン、証明書、DPAPIブロブなどです。パスワードだけを守るPAMツールは、はるかに長い鎖のうち1つの輪を守っているにすぎません。
ここに、従来型PAMと最新PAMの本当の違いが表れます。金庫に保管すればパスワードは隠せますが、その下流にあるものには何も手を触れません。NPSは、セッションが終了した瞬間にアカウントをローテーション、無効化、または削除することで、常時特権を排除します。これにより、下流の攻撃経路の多くが遮断されます。その大半は、特権アカウントが必要以上に長く使用可能な状態で存在することに依存しているためです。ただし、NPSはKerberoastingのようなAD脅威を完全に防ぐわけではありません。Netwrix Threat Preventionなど他のNetwrix製品は、不審な認証アクティビティを検知することで役立ちます。
誰も金庫に入れない認証情報の攻撃対象領域
WindowsおよびAD環境では、平文パスワード以外にも次のものが攻撃対象になります。
- NTLMハッシュ:Pass-the-Hashによって、クラックせずにそのまま利用できます。
- Kerberosチケット(TGT/TGS):Pass-the-Ticketで窩取・再利用でき、krbtgtキーやサービスアカウントのキーが侵害された場合は、Golden TicketやSilver Ticketで偽造できます。
- Kerberoasting/AS-REP Roastingの対象となる情報:ドメインユーザーであれば誰でも、SPNを持つアカウントのサービスチケットや、事前認証が無効なアカウントのAS-REPを要求し、オフラインでクラックできます。
- キャッシュされたドメイン認証情報(MSCACHEv2):ユーザーがログオンしたマシンのローカルSECURITYハイブに保存されています。
- 証明書と
msDS-KeyCredentialLinkエントリ:AD CSテンプレートの設定ミスやShadow Credential攻撃によって悪用され、パスワードに一切触れることなくユーザーとして認証できます。 - LAPS/gMSAで管理されるパスワード:それらを保存する属性のACLのみで保護されています。
- DPAPIで保護されたシークレット:攻撃者がユーザーのマスターキーを導出するか、ドメインのDPAPIバックアップキーを窩取すれば復号できます。
これらはいずれも平文パスワードを必要とせず、そのすべてがパスワードに近い権限を与えます。
常時特権が共通の要因である理由
このリストのほぼすべての項目が強力なのは、その背後にあるアカウントが今この瞬間も実質的な特権を持ち、それが無期限に続くからです。金庫に保管・ローテーション・注入されたパスワードが、恒久的なDomain Adminsメンバーシップの上に載っている従来型PAMの構成でも、チェックアウトとチェックアウトの間には、盗む価値のあるNTLMハッシュ、ローストする価値のあるTGS、クラックする価値のあるキャッシュされたログオンが残ります。
NPSのアカウントモデル(リクエスター、マネージド、エフェメラル。第1回で詳しく解説)は、この共通の根本原因に直接対処します。マネージドアカウントはセッション終了と同時に無効化されて再びローテーションされ、エフェメラルアカウントは完全に削除され、リクエスターアカウントでさえ、昇格したグループメンバーシップを持つのはセッションの間だけです。
特権は永遠に存在するのではなく、開始と終了があるため、上記の攻撃の大半は、セッションが閉じた瞬間に標的を失います。攻撃する価値のあるものが残っていないため、NPSは攻撃を検知する必要がありません。
攻撃とNPSによる変化の対応
NPSを使うと、侵害されたアカウントが持つ特権は限定されるため、被害の上限が抑えられます。
認証情報/攻撃 | NPSのセッションモデルが役立つ点 | 対象外のままとなる点 |
|---|---|---|
|
NTLMハッシュ/Pass-the-Hash |
マネージドアカウント:セッション間でパスワードがローテーションされアカウントが無効化されるため、盗まれたハッシュでは何も開けられません。エフェメラルアカウント:ハッシュを持つアカウント自体が存在しません。 |
リクエスターアカウントは引き続きユーザー自身の認証情報で動作するため、社内ポリシーに従ってローテーションする必要があります。 |
|
Kerberosチケット/Pass-the-Ticket |
Kerberosチケット消去Activityが、RDPセッション終了時にリソースからキャッシュされたチケットを消去し、そのセッションからのリプレイを防ぎます。 |
なし |
|
krbtgtキー/Golden Ticket |
直接は対処しません。偽造されたTGTは、標的アカウントのリアルタイムのAD状態とは無関係に、独自の偽のグループクレームを持ちます。 |
侵害が疑われる場合にkrbtgtキーを2回ローテーションすることは、引き続き別途必要な対策です。 |
|
サービスアカウントキー/Silver Ticket |
マネージドアカウントとエフェメラルアカウントは安定したキーを持ったまま無期限に残らないため、標的となる常時サービスアカウントが減ります。 |
なし |
|
エフェメラルアカウントはセッション外には存在せずローストできず、マネージドアカウントは無効化されているため、露出期間が短くなります。 |
リクエスターアカウントと、NPS管理外のSPNを持つアカウントは、引き続きローストされる可能性があります。 |
|
|
同じライフサイクルの考え方により、脆弱なアカウントが認証可能な状態でADに存在する時間が短くなります。 |
NPSは事前認証の設定を行いません。 |
|
|
キャッシュされたドメイン認証情報(MSCACHEv2) |
セッションごとにパスワードを素早くローテーションするため、クラックされた過去のパスワードはすぐに無効になります。 |
なし |
|
LAPS/gMSAのACL設定ミス |
NPSは自身のマネージドアカウントのパスワードを金庫に保管してローテーションするため、それらのアカウントについてはLAPS/gMSAの委任に依存しません。 |
NPSの管理対象外のLAPSまたはgMSA管理アカウントは、引き続き正しいACLに完全に依存します。 |
|
AD CSの悪用(ESC1-ESC8)/Shadow Credentials |
対処しません。これはPKIの信頼パスと属性書き込みの問題であり、アカウントのライフサイクルとは無関係です。 |
証明書テンプレートの堅牢化と、 |
|
DPAPIシークレットの復号 |
アカウントが常時ログオンしたままDPAPI保護シークレットを蓄積し続けることがないため、露出はある程度低減されます。 |
ドメインのDPAPIバックアップキーの保護は、NPSの対象外です。 |
|
悪意あるインサイダーが後の攻撃に備えてローカル管理者を作成 |
NPSの保護モードが、許可されていないローカル管理者を削除します。 |
なし |
効果をさらに広げる2つの機能
NPSのアカウント以外のActivitiesのうち、第1回で紹介した2つは、同じ考え方を認証情報の先へ広げるものなので、ここで改めて取り上げます。
- RDPの有効化/無効化。ほとんどのサーバーはRDPを常時待ち受け状態にしています。NPSは、セッションの間だけRDPをオンにし、終了直後にオフにできます。これにより、攻撃者がどの認証情報を持っているかとは無関係に存在していた、常時利用可能な大きな攻撃対象領域がなくなります。
- 保護モード。WindowsおよびLinuxのリソースをスキャンして未承認のローカルアカウントを見つけることで、別の種類の失敗を捕捉します。インサイダー(またはすでに侵入した攻撃者)が、後で使うために常時アカウントをひそかに作成するケースです。これは、「管理されていない特権を蓄積させない」という同じ考え方を、NPSが作成していないアカウントにまで適用するものです。
これが代替しないもの
境界を正確に示すことが重要です。誇張は誰のためにもならないからです。NPSは、特権アカウントが使用可能な状態で存在し続けることに依存する攻撃に対して有効であり、Windowsの認証情報攻撃の多くをカバーします。一方、個々のアカウントのリアルタイムの状態とは無関係に成立する攻撃には作用しません。盗まれたkrbtgtキーから偽造されるGolden Ticket、AD CSテンプレートの悪用、属性に書き込まれたShadow Credential、ドメイン全体のDPAPIバックアップキーの窩取などです。これらには、セッションとActivitiesのモデルをどれほど厳格に運用していても、それぞれ独自の対策(krbtgtローテーションの徹底、証明書テンプレートの見直し、属性書き込みの監視、バックアップキーの保護)が必要です。
まとめ
従来型PAMはパスワードを金庫に保管し、1つの対象を守ります。常時特権を排除すると、そのパスワードの下流にあるほぼすべてのもの、つまりハッシュ、チケット、キャッシュされたログオン、マネージドアカウントの属性の価値が下がります。これらは、攻撃者が使おうとした時点でその背後の特権がまだ残っている場合にのみ、盗む価値があります。NPSはActive Directoryにおける認証情報ベースの攻撃をすべて止めるわけではありませんが、「パスワードを守る」だけの対策よりはるかに多くの攻撃対象領域を閉じることができます。
このシリーズの次回以降
ここまでの内容は、アカウントがNPSのアカウントモデルで完全に運用されていることを前提としています。第3回では、Bring Your Own Vault(BYOV)を取り上げます。すでに運用している金庫(従来型PAMの金庫、CyberArk、BeyondTrust、HashiCorp Vault、LAPS)の上に、NPSが同じセッションベースの保護を重ねる方法を解説します。すべてを一度に移行しなくても、この露出の削減を始められます。
共有する
もっと詳しく
著者について
Tyler Reese
プロダクト マネジメント担当副社長、CISSP
ソフトウェア セキュリティ業界で20年以上の経験を持つ Tyler Reese は、今日の企業が直面している急速に変化するアイデンティティおよびセキュリティ上の課題について深く理解しています。現在、彼は Netwrix Identity and Access Management ポートフォリオのプロダクト ディレクターを務めており、市場動向の評価、IAM 製品ラインの方向性の設定、そして最終的にはエンド ユーザーのニーズに応えることが主な責任です。彼の専門的な経験は、Fortune 500 企業向けの IAM コンサルティングから、大手のダイレクト・トゥ・コンシューマー企業のエンタープライズ アーキテクトとしての業務まで多岐にわたります。現在、彼は CISSP の認定資格を保有しています。