エグゼクティブ サマリー
悪意あるアクターが、パスワードを盗むうえで相手を騙す必要がないとしたら、その危険性は高いものとなります。高度なソーシャル エンジニアリング攻撃を行ったり、オペレーティング システムの脆弱性を悪用したりするのではなく、攻撃者が管理するシステムにコンピュータを認証させ、貴重な認証情報を渡すよう効果的に命令するだけで窃取が成功してしまうシナリオは、防御担当者にとって対策が求められるものです。この手法は強制認証攻撃と呼ばれています。
PrintNightmareのような強制認証攻撃はここ数年でよく知られるようになりましたが、最近、新しいタイプの強制認証攻撃が増加傾向にあることが確認されています。これらの攻撃は、めったに使用されないプロトコルを悪用することに重点を置いており、既存の既知のエクスプロイト用に特別に記述された防御を通過する可能性があるものです。
本稿では、昨今蔓延している、非常に効果的なこの脅威を理解し、よりよく防御するための実践的なガイドを提供します。強制認証攻撃は、コンピュータがリモート マシン上でプロシージャを実行できるようにするWindowsの基本機能を悪用するものです。攻撃者はこの機能を操り、ドメイン コントローラのような最も重要なTier 0資産を含むマシンを、攻撃者が管理するシステムに認証させます。この攻撃は、Microsoft Windows環境における正当な認証プロトコルの設計を利用しており、特別な権限を必要としないことが特徴です。
調査を行うなかで弊社は、このようなWindows固有の認証メカニズムを悪用する脅威アクターの実例を分析しました。本稿では包括的な内訳として、強制認証の流れをカバーし、脅威アクターが不明瞭で、ほとんど監視されていないリモート プロシージャ コール(RPC)インターフェースを悪用した実際の攻撃のケーススタディを含んでいます。
セキュリティ研究者(Unit 42を含む)は、PetitPotam(CVE-2021-36942)などの強制ツールが実際の攻撃で使用されていることを確認しています。また、Microsoftは、当該CVEの悪用可能性を認めるセキュリティ アドバイザリを発行しています。
弊社では、より効果的な検出と対応のために、振る舞い異常や不審なRPCパケットを特定するために、組織が実施すべき実用的な監視、検出、予防戦略を提供しています。
パロアルトネットワークスのお客様は、以下の製品を通じて、上記の脅威に対する確実な保護を構築いただけます。
情報漏えいの可能性がある場合、または緊急の案件がある場合は、Unit 42インシデント レスポンス チームまでご連絡ください。
| Unit 42の関連トピック | Microsoft Windows, 特権のエスカレーション |
強制認証攻撃の概要
強制認証攻撃は、攻撃者が制御するサーバに対して認証の試行を開始するよう、標的のマシンを操作することをその根幹とします。Windowsマシンが共有ディレクトリやプリンターのようなリソースに接続しようとすると、リモート リソースに対して自動的に認証を行う必要がありますが、本手法では攻撃者はこの自動認証の動作を悪用します。これにより悪意のあるリスナーを設定することで、標的のマシンを騙して、攻撃者のシステムが接続する必要のある正当なリソースであると信じ込ませます。標的とされたマシンが接続を試みると、ハッシュ化された認証情報を攻撃者に送信します。図1は単純化したシナリオを示したものです。

強制認証が成功すると、ドメインが完全に侵害される可能性があります。これにより、攻撃者は機密データを盗んだり、ネットワーク全体にマルウェアをデプロイしたり、長期間検出されない持続的なアクセスを確立したりすることができるようになります。
この攻撃手法が特に問題なのは、GitHubのようなプラットフォームで概念実証(PoC)コード リポジトリが広く公開されたことで、潜在的な攻撃者の参入障壁が大幅に下がったことにあります。即座に使用可能なエクスプロイト コードの入手可能性だけでなく、Metasploitのような侵入テスト フレームワークへの統合、および併用可能なMimikatzのようなツールの登場で、実用的な攻撃手法が現実的となっており、今や、技術的な専門知識がほとんどない敵対者でも、こうした攻撃を展開することができるようになっています。
現実世界の攻撃シナリオに目を向けると、いくつかの強制認証技術が記録されています。2022年5月には、サイバーセキュリティ インフラストラクチャ セキュリティ庁(CISA)より、ロシア政府が支援するグループがPrintNightmare(CVE-2021-34527)を悪用していることが報告されています。この悪用は、脅威アクターがクラウドや電子メールのアカウントにアクセスし、文書を盗み出すものです。CISAはこのCVEを 既知の悪用される脆弱性カタログにリストアップしています。カタログに含まれないものも確認されており、これにより攻撃者が現在、従来の防御メカニズムによる検出を避けるために、一般的ではない未知のRPC関数を悪用する方向に舵を切っていることが示唆されています。
種明かし: 強制認証テクニック
RPC: WindowsとActive Directoryのバックボーン
強制認証を理解するには、RPCメッセージの基本を調べる必要があります。RPCは、すべてのWindowsオペレーティング システムに深く組み込まれた、基本的なプロセス間通信(IPC)メカニズムです。同じマシン上にローカルに存在するサービスであれ、ネットワーク越しのリモート サービスであれ、これによりプログラムがプロシージャーやサービスを実行することが可能になっています。RPCは多くの場合、標準または低特権のドメイン ユーザー アカウントからアクセス可能とされます。RPC関数は、利用可能なインターフェースの特定のメソッドを呼び出すことで実行され、クライアントがサーバーにリクエストを送信します。これらの各メソッドは、そのインターフェイス内に一意のオペレーション番号(opnum)を持ち、そのオペレーションが実行する特定のアクションを定義しています。
多くのWindowsプロトコルは、その基礎となる通信フレームワークとしてRPC機能を利用しています。システム内でローカルに動作する関数もあれば、リモート実行用に設計された関数もあります。リモート関数呼び出しは、リモート マシンとの通信を容易にするために、UNC(Universal Naming Convention)パスをパラメータとして受け取ることができます。図2が示すものは、UNC形式のパラメータ(ShareName)を受け取るRPC関数の例です。

希少なRPCインターフェースの誤用
近年では、いくつかのRPC関数が強制技術と密接に関連するようになっています。例えば、RpcRemoteFindFirstPrinterChangeNotificationEx関数を利用するPrintNightmareの脆弱性は広く知られており、すでにセキュリティ ツールで一般的にカバーされています。しかし、このような複雑な攻撃の実行を単純化する、一般に利用可能な悪用ツールや概念実証ツールは他にもあります。このため、セキュリティ チームは、これらのツールの対象となるインターフェイスや機能の監視に注力することが多いとされています。しかし、防衛側がこうした既知のベクターを強化するにつれ、攻撃者はますます、監視される可能性の低い、あまり知られていないopnumに軸足を移すようになっています。例えば Windows強制認証メソッドリポジトリには、脅威アクターが強制攻撃を仕掛けるために使用できる、5つのプロトコルにわたる16の動作関数がリストアップされています。このリポジトリの作者は、240以上の機能がまだテストされておらず、同じように悪用される可能性があると指摘しています。これらの一般的な攻撃ツールに対して潜在的に脆弱なアタックサーフェスの範囲を理解することは、基礎的な防御を実装する上で極めて重要です。
表1は、よく知られた強制認証攻撃ツールと、それらに脆弱なRPCプロトコルをマッピングしたものです。
| 一般的なエクスプロイト/攻撃ツール | プロトコル |
| PrinterBug (PrintNightmare) | MS-RPRN
(プリント システム リモート プロトコル) |
| PetitPotam | MS-EFSR
(暗号化ファイル システム リモート プロトコル) |
| DFSCoerce | MS-DFSNM
(分散ファイル システム名前空間管理プロトコル) |
| ShadowCoerce | MS-FSRVP
(ファイルサーバー リモートVSSプロトコル) |
| PrintNightmare | MS-PAR
(プリント システム非同期リモート プロトコル) |
| CheeseOunce | MS-EVEN
(イベントログ リモーティング プロトコル) |
表1. 一般に知られている強制エクスプロイトと攻撃ツール、およびそれらに対応するRPCプロトコル。
実際のケース スタディ:珍しいRPC関数の使用
このセクションでは、脅威アクターが珍しいRPC関数を使用して強制認証攻撃を行う実際の攻撃について説明します。
2025年3月、弊社はある医療業界団体のネットワーク内の複数のサーバーで、認証が強制された可能性を検出しました。このアラートは、ネットワーク上のマシンが、RPCを介してローカルサーバーに外部IPアドレスへのコンタクトを強制しようとしていることを示すものです。攻撃者はリモートイベントロギング(MS-EVEN)インタフェースを悪用し、一般に公開されている攻撃ツールを使用していました。MS-EVENは、リモート コンピュータ上のライブ イベントログとバックアップ イベントログの両方のイベントを読み取るためのRPCメソッドを公開しています。このインターフェースと機能の組み合わせは、組織内でも珍しいものであり、過去30日間にこの特定のプロトコルを使用したマシンは他にありませんでした。図3は、この攻撃が引き起こしたアラートを示したものです。

図3に示すCortex XDRの「強制認証の可能性」アラートにより、以下のアーティファクトが明らかになりました。
- リモートRPCを開始した内部IPアドレス: 172.17.XX.XX
- 当日、社内で漏洩したIPアドレスにログインした2つのユーザー アカウント
- RPCのパラメータから解析されたIPアドレス
脅威アクターは強制認証攻撃を実行するうえでElfrOpenBELW関数を使用していることが分かりました。図4は、opnumの詳細な説明を示したものです。

図5は、「Event Viewer」コンソールでリモート サーバーに接続した場合のMS-EVENの正当な使用状況を示したものです。

この例では、ElfrOpenBELW関数で使用されたIPアドレスは組織外のものでした。その日最初に認証に成功したのは、午前5時に外部のKali Linuxマシンからです。ユーザー アカウントに悪意のあるアクティビティがないことは、脅威アクターが攻撃前にユーザーのアカウントを侵害したことを示しています。これらの初期接続に続き、内部IPアドレスはNTLMを使用した認証を試み、組織内の以下の重要なサーバー群にアクセスを試みています。
- ドメイン コントローラ
- 読み取り専用ドメインコントローラ(RODC)
- RADIUSサーバー
- Citrixサーバー
これらの認証試行はすべて短時間に行われ、すべて失敗しています。脅威アクターは、次にこれらの重要なサーバーに攻撃者がコントロールするマシンへの認証を開始させ、サーバーのNTLMハッシュを盗み、横方向に移動して特権のエスカレーションを行っています。図6は、侵害されたホストが組織内のさまざまなサーバで実行したRPCアクションを示したものです。

この行動が目立ったのには、以下の理由があります。
- RPCインターフェースとopnumの使用頻度
- 短時間内にマシンが開始したRPCメッセージとプロトコルの数
- RPCメッセージのパラメータ
- UNCパラメータからIPアドレスへのネットワークトラフィックの希少性
この動作は自動攻撃ツールの仕組みに似ており、攻撃が発生している可能性を示すアラートを組織に伝えるトリガーとなりました。
RPC認証の強制は特別な権限を必要とせず、リモート サーバーにネットワーク アクセスできるマシンであればどこからでも可能であることから、攻撃者は認証情報を取得する主な方法としてこの方法を使用したと考えられます。攻撃者は10以上のリモート リソースに悪意のあるRPCSを送信していることが確認されています。すべてのコールは同一マシンからであり、すべてNTLMによる認証に失敗しています。
図7は、攻撃の実行を阻止したエージェント ルールのログです。

攻撃者は、エージェントの予防策の一部を回避し、CitrixサーバーとRODCをコマンド アンド コントロール(C2)サーバーに認証させることに成功しています。
その1時間後、攻撃者は同じ内部IPアドレスからNTLMリレーを実行しました。侵害されたCitrixサーバーとRODCサーバーのマシン アカウント ハッシュを使用して、認証局(CA)サーバーを標的としています。図8は、攻撃者に侵害されたIPアドレスから、DCマシン アカウントからCAサーバーにリレーされた認証を示したものです。攻撃者はまた、盗んだDCハッシュを使ってDCSync攻撃の開始を試みていることが分かります。

図9は攻撃者の行動を要約したものです。

ほとんど使われていないプロトコルを悪用するこの攻撃は、増加傾向にあります。私たちの内部遠隔測定では、組織に対する強制認証攻撃が増加しており、脅威アクターが独自のプロトコルや機能を悪用していることが明らかになっています。この増加の主な理由の1つは、防御ツールが進化し改善されるにつれて、攻撃者がより多様でまだ検出されていない攻撃方法を探していることにあります。このサイクルは、防衛側がより高度な検出アプローチを構築しなければならないことを意味します。
強制認証されない: 検出と予防のメカニズム
RPCトラフィックを監視することは、不審な活動を検出するための重要な第一歩ですす。しかし、このような監視には、RPC通信の膨大な量と複雑さのために、大きな課題あります。防御者は、以下のアドバイスに従うことで、良性のRPCトラフィックをフィルタリングし、悪意のある認証強制を特定することができます。
一般的なRPCの監視と検出
効果的な汎用RPC検出には、不審な属性と様々なリソースとの関連性を特定することが重要です。RPCイベント解析のパフォーマンスと有効性を向上させるためには、関連性のないメッセージをフィルタリングすることが不可欠です。またさらに重要なこととして、セキュリティ チームがRPCトラフィックの異常を検索することが挙げられます。これには以下が含まれます。
- UNCパスのパラメータ: UNCパスを悪用した様々な強制テクニックがあります。ローカルのRPCトラフィックは疑わしい可能性が低いので、ローカルで実行されるコールをフィルタリングすることを検討してください。また、悪意のあるように見えるRPCパラメータや、不審なIPアドレスを指すRPCパラメータを調査します。
- ソースと宛先: 通常とは異なる発信元や宛先の組み合わせを持つRPC、または重要な資産を対象とするコールを追跡します。
- インターフェイスのGUIDとopnum: 各RPCプロトコルには、攻撃者がリモート サーバーに認証を強制するために使用できる複数のopnumがあります。このような試みを特定するために、希少で既知の脆弱なインターフェイス(例えば、MS-RPRN、MS-EFSR、MS-DFSNM、MS-FSRVP)と、それらの特定のopnumの両方へのコールを監視します。
RPCの防止とハード化
RPC通信の検出戦略を改善することは、認証強制攻撃を排除するための重要な要素です。有効にしておく必要があるクリティカルなプロトコルは、よりカスタマイズされた検出機能を必要としますが、その他のRPCベースのプロトコルは、より一般的な方法で処理することが可能です。以下のアクションは、強制攻撃を早い段階で防ぐのに効果的とされています。
- Windows RPCフィルタリング: Windowsは、RPCトラフィックをフィルタリングするための組み込みのメカニズムを提供しており、防御者はこれを活用して既知の強制テクニックをブロックすることができます。管理者はnetsh rpc filterユーティリティを使用して、さまざまな条件に基づいてRPCトラフィックをより適切に制御およびブロックできます。
- SMB署名の強制: ドメイン全体でSMB署名を強制することで、セキュリティを強化します。直接的なRPC緩和策ではないものの、脅威アクターが強制認証を中継することをより困難にすることができます。
- 拡張認証保護(EPA): EPAは、ネットワーク接続中の認証情報をより適切に保護するために設計されたWindowsのセキュリティ機能です。Microsoftのドキュメントでは、この機能の実装に関する詳細が記載されています。
- 使用していないRPCサービスの無効化:資産上の未使用のRPCベースサービスを無効にすることで、資産のアタックサーフェスを最小化できます。資産の目的に沿った必要なサービスのみを許可してください。
表2は、よく知られた強制認証攻撃を検出するための広範な情報をまとめたものです。
| プロトコル | SMBパイプ | インターフェースGUID | キー ファンクション(Opnums) | 一般的なエクスプロイト 攻撃ツール |
一次緩和 |
| MS-RPRN
(プリント システム リモート プロトコル) |
\pipe\spoolss | 12345678-1234-abcd-ef00-0123456789ab | RpcRemoteFindFirstPrinterChangeNotification (opnum 62)
RpcRemoteFindFirstPrinterChangeNotificationEx (opnum 65) |
PrinterBug (PrintNightmare) | ドメイン コントローラーのPrint Spoolerサービスを無効化 |
| MS-EFSR
(暗号化ファイル システム リモート プロトコル) |
\PIPE\efsrpc
\PIPE\lsarpc, \PIPE\samr, \PIPE\lsass, \PIPE\netlogon |
c681d488-d850-11d0-8c52-00c04fd90f7e
df1941c5-fe89-4e79-bf10-463657acf44d |
EfsRpcOpenFileRaw (opnum 0)
EfsRpcEncryptFileSrv (opnum 4) EfsRpcDecryptFileSrv (opnum 5) EfsRpcQueryUsersOnFile (opnum 6) EfsRpcQueryRecoveryAgents (opnum 7) EfsRpcFileKeyInfo (opnum 12) EfsRpcDuplicateEncryptionInfoFile (opnum 13) EfsRpcAddUsersToFileEx (opnum 15) EfsRpcFileKeyInfoEx (opnum 16) |
PetitPotam | AD CSサーバーでの拡張認証保護(EPA)の有効化とHTTPの無効化。およびAD CSサーバーのNTLMの無効化。必要ない場合はEFSRPCサービスを無効化 |
| MS-DFSNM
(分散ファイル システム名前空間管理プロトコル) |
\PIPE\netdfs | 4fc742e0-4a10-11cf-8273-00aa004ae673 | NetrDfsAddStdRoot (opnum 12)
NetrDfsRemoveStdRoot (opnum 13) |
DFSCoerce | SMB/LDAP署名の強制、NTLMv1認証の無効化、Kerberos無制限委任の制限 |
| MS-FSRVP
(ファイルサーバー リモートVSSプロトコル) |
\PIPE\FssagentRpc | a8e0653c-2744-4389-a61d-7373df8b2292 | IsPathSupported (opnum 8)
IsPathShadowCopied (opnum 9) |
ShadowCoerce | 不要な場合は「ファイルサーバーVSSエージェントサービス」を無効化 |
| MS-PAR
(プリント システム非同期リモート プロトコル) |
\PIPE\spoolss | 76f03f96-cdfd-44fc-a22c-64950a001209 | RpcAsyncOpenPrinter (opnum 0) | PrintNightmare | ドメイン コントローラーのPrint Spoolerサービスを無効化 |
| MS-EVEN
(イベントログ リモーティング プロトコル) |
\PIPE\even | 82273fdc-e32a-18c3-3f78-827929dc23ea | ElfrOpenBELW (opnum 9) | CheeseOunce | ドメイン コントローラでのリモート イベントログを無効化 |
表2.RPCプロトコル、インターフェース、およびopnumを使用して、公知の強制攻撃手法を検出。
結論
強制認証、特にほとんど監視されていないRPCインタフェースを悪用した認証の強制は、WindowsとActive Directory環境の安全性を確保する上で、重要かつ発展的な課題となっています。強制に対する従来の防御策は、既知のテクニックに対しては十分な防御を構築できるものの、こうした防御策ではもはや十分ではなくなってきています。攻撃者は現在、監視されていない稀なRPC関数を使用しているため、防御者は検出が困難なこれらの強制手法を探し出す必要があります。
Windowsインフラ全体でRPCに依存しているため、アタックサーフェスは広大となっています。潜在的な脅威の一歩先を行くためには、企業は一般に公開されている特定の攻撃ツールやPoCを監視するだけでなく、一般的でコンテキストを意識したRPC監視を導入する必要があります。これは、よく知られた強制ベクトルだけでなく、使用頻度の低いRPCインターフェースや関数についても、積極的に異常を探すことを意味します。振る舞いベースラインの確立、高度なアナリティクスの収集と活用といったプラクティスは、もはやオプションではなく、不可欠なものとなっています。
このような攻撃者の手法の微妙な変化を積極的に特定し、それに対応することで、組織はセキュリティ体制を大幅に改善し、敵対者に対してより強靭な防御を構築することができます。
パロアルトネットワークスのお客様は、以下の製品を通じて、上記の脅威に対する確実な保護を構築いただけます。
- Cortex XDRおよびXSIAM
- UEBA(ユーザーおよびエンティティ振る舞い分析)は、エンドポイント、ネットワーク ファイアウォール、Active Directory、アイデンティティおよびアクセス管理ソリューション、クラウド ワークロードなど、複数のデータ ソースからユーザー行動(振る舞い)を分析することにより、認証およびクレデンシャル ベースの脅威を検出するように設計されています。Cortexは、機械学習によって、長期にわたるユーザーの振る舞いプロファイルを構築します。これを基に、新しいアクティビティと過去のアクティビティ、仲間のアクティビティ、エンティティの期待される振る舞いを比較することで、Cortexはクレデンシャルベースの攻撃を示す異常なアクティビティをよりよく検出することができます。
- Unit 42マネージド ディテクション&レスポンス サービスは、世界中のあらゆる規模の顧客に対し、24時間365日の継続的な脅威検出、調査、対応/修復を提供するものです。
情報漏えいの可能性がある場合、または緊急の案件がある場合は、Unit 42インシデント レスポンス チームまでご連絡ください。
- 北米:フリーダイヤル: +1 (866) 486-4842 (866.4.UNIT42)
- 英国: +44.20.3743.3660
- ヨーロッパおよび中東: +31.20.299.3130
- アジア: +65.6983.8730
- 日本: +81.50.1790.0200
- オーストラリア: +61.2.4062.7950
- インド: 00080005045107
パロアルトネットワークスは、本調査結果をサイバー脅威アライアンス(CTA)のメンバーと共有しています。CTAの会員は、この情報を利用して、その顧客に対して迅速に保護を提供し、悪意のあるサイバー アクターを組織的に妨害しています。サイバー脅威アライアンスについて詳細をご確認ください。
その他の資料
- Microsoftプロトコルにおける認証を強制するためのRPC関数の検索 — Remi Gascou, Black Hat 2022
- RPCの仕組み - Microsoftのドキュメント
- 既知の悪用された脆弱性のカタログ - 米国, サイバーセキュリティ&インフラセキュリティ庁
- ロシアの国家支援によるサイバー脅威アクター、デフォルトの多要素認証プロトコルと「PrintNightmare」脆弱性を悪用してネットワークにアクセス - 米国, サイバーセキュリティ&インフラセキュリティ庁
- Manic Menagerie 2.0:強い動機付けがされた脅威アクターの進化 - Unit 42
- 脅威情報:Windows Print Spooler RCE 脆弱性(CVE-2021-34527 AKA PrintNightmare) - Unit 42