CVE-2026-45659: SharePoint のデシリアライゼーションの欠陥により RCE が可能に
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
CVE-2026-45659は、Microsoft SharePoint Serverに影響を与える、信頼できないデータの逆シリアル化の致命的な脆弱性です。低レベルのサイトメンバー権限を持つ認証済みのユーザーが、この欠陥を利用してIISアプリケーションプールのアイデンティティ内でリモートコード実行(RCE)を達成することができます。この問題は、最終的にファーム全体の妥協につながる可能性のある、広範なSharePoint逆シリアル化の脆弱性に属します。
調査
調査では、ASP.NETスタック内の逆シリアル化シンクを特定します。これはおそらく、以下のハンドラーを含みます。 _vti_bin/, _api/、または /_layouts/15/。研究者は、任意のコマンド実行をトリガーするためにオブジェクトデータプロバイダーのようなガジェットチェーンに依存できることを指摘しています。SharePointアプリケーションプールのアイデンティティに通常割り当てられる特権が高いため、潜在的な影響が増大します。 ObjectDataProvider to trigger arbitrary command execution. The potential impact is increased by the elevated privileges typically assigned to the SharePoint application pool identity.
緩和策
主要な緩和策は、KB5002863, KB5002870, またはKB5002868を含む2026年5月のSharePointセキュリティ更新を適用し、Central Administrationを通じてパッチが適用されたビルドを確認することです。以前に露出した環境も、MachineKeyをローテーションして、偽のViewStateによる継続的なエクスプロイトを防ぐべきです。長期的なリスク削減のために、組織は適格なワークロードをSharePoint Onlineに移行することを検討すべきです。
対応
異常な子プロセスとして cmd.exe or powershell.exe が w3wp.exeによって生成された場合、対応者は直ちに影響を受けたSharePointフロントエンドサーバーを隔離するべきです。インシデント対応には、ファーム全体の監査、MachineKeyのローテーション、SharePointディレクトリ内の潜在的なWebシェルの調査を含める必要があります。チームは、すべてのファームコンポーネントが完全に更新されていることを確認するために psconfig.exe.
攻撃フロー
この部分はまだ更新中です。
検出
可能なWebサーバーまたはWebアプリのエクスプロイト[Windows](コマンドライン経由)
疑わしいMicrosoft IISサーバーの挙動(コマンドライン経由)
Microsoft Exchange / SharePointディレクトリでの可能なWebシェル作成(ファイルイベント経由)
潜在的なWebシェルの配置のためのSharePointディレクトリ内の新しいASPXファイルの検出[Windowsファイルイベント]
w3wp.exeによる異常な子プロセスの検出[Windowsプロセス作成]
## シミュレーションの実行
-
攻撃の背景とコマンド: 敵対者は、SharePointインスタンスに逆シリアル化の欠陥を特定しました。活動を隠蔽し、IISワーカープロセスのアイデンティティを利用するために、彼らは
w3wp.exeをコマンドプロンプトセッションを介して実行しようとします。これはしばしば洗練されたペイロード配信で見られる「逆」実行パターンであり、攻撃者はウェブサービスプロセスと直接的にやり取りしてメモリ内での操作を行うか、信頼されたサービスアイデンティティを通じてコマンドをプロキシしようとするものです。目的は、w3wp.exeがcmd.exe. -
によって生成されることをルールの検出でトリガーすることです。
# シミュレーションスクリプト: 異常なw3wp.exe子プロセスの生成をトリガー # このスクリプトは、cmd.exeのコンテキストからw3wp.exeを生成する攻撃者を模倣します。 Write-Host "[+] シミュレーション開始: cmd.exeからw3wp.exeを生成" -ForegroundColor Cyan $w3wpPath = "C:WindowsSystem32inetsrvw3wp.exe" # スクリプトエラーを避けるため、w3wp.exeが存在するか確認 if (Test-Path $w3wpPath) { # cmd.exeを使ってw3wp.exeを起動 # 注意:本来の動作はしない可能性がありますが、プロセス作成のテレメトリーが生成されます。 Start-Process "cmd.exe" -ArgumentList "/c `"$w3wpPath`"" -WindowStyle Hidden Write-Host "[+] コマンド送信。w3wp.exeがcmd.exeの子プロセスであることをSysmon/セキュリティログで確認" -ForegroundColor Green } else { Write-Host "[-] エラー: $w3wpPathでw3wp.exeが見つかりません。IISはインストールされていますか?" -ForegroundColor Red } -
クリーンアップコマンド:
# クリーンアップ:永続的なファイルは作成されませんでしたが、孤立したプロセスがないことを保証します。 Stop-Process -Name "w3wp" -ErrorAction SilentlyContinue Stop-Process -Name "cmd" -ErrorAction SilentlyContinue Write-Host "[+] クリーンアップ完了。" -ForegroundColor Cyan