Microsoftの「SCCM」侵害コスト、わずか58ドル パッチ後も突破の道は残る

新たに公表されたSCCM攻撃チェーンに含まれる脆弱性の一つはMicrosoftによって修正されましたが、伝えられるところによると、この修正だけではConfiguration Managerサイトサーバーの完全な制御奪取に至る経路を塞ぎきれていません。

XM Cyberの研究者らは、Microsoft SCCMの権限を一切持たない標準のドメインユーザーであっても、複数の欠陥を連鎖させることでリモートコード実行に到達できることを発見しました。ただし、この攻撃を実行するにはSCCM環境へのネットワークアクセスが必要です。

企業はMicrosoft System Center Configuration Manager(SCCM)を使い、大規模なWindows環境全体でオペレーティングシステムの展開、パッチ管理、ソフトウェア配布、コンプライアンス監視を行っています。XM Cyberが確認した攻撃では、通常のドメインアカウントから出発し、プライマリサイトサーバー上で「NT AUTHORITY\SYSTEM」としてコードを実行するところまで到達可能です。

「サイトサーバーが侵害されると、それが管理するすべてのクライアントも同様に侵害されます。これは通常、企業のすべての資産が乗っ取られることを意味します」と、XM CyberのOmri Baso氏はCSOに語っています。

今回明らかになった攻撃チェーンは4つの弱点を組み合わせたものです。AdminServiceのアップロード機能における認可の不備、「CabSlip」と呼ばれるパストラバーサルの欠陥、58ドルの市販証明書で欺くことができるコード署名検証の甘さ、そしてSMS Executiveサービスにおける未署名DLLの読み込み経路です。

MicrosoftはCVE-2026-47301として追跡されている最初の認可の欠陥を7月に修正しましたが、Baso氏によると、チェーンの残りの部分が完全に対処されるのは10月に予定されているConfigMgr 2609になる見込みだといいます。

パッチが塞ぎきれなかった穴

攻撃の足がかりとなるのはSCCMのAdminService APIです。通常の拡張機能アップロードエンドポイントはユーザーが必要な権限を持っているかどうかを確認しますが、その「チャンク分割アップロード」版のエンドポイントではこのチェックが行われません。そのため、認証済みのActive Directoryユーザーであれば、SCCMの管理権限を持たなくても悪意あるCABアーカイブを送信できてしまいます。

Microsoftが7月に行った修正により、標準的なドメインユーザーによるこの経路は塞がれました。しかし、その先に続くチェーンは別の経路から到達可能なままです。組み込みのOperations Administratorロールを割り当てられたユーザー、あるいは「SMS_ConsoleExtensionData」に対するCreate権限を持つカスタムロールのユーザーであれば、依然として同じ一連の手順を引き起こすことができます。

ただし、ここには重要な留保があります。XM Cyberは、Operations Administratorロールはもともと高い権限を持つロールであるため、この経路を通じて組織が実際に危険にさらされる可能性は低いとみています。

CABがサーバーに到達すると、CabSlipによってファイルが本来意図された一時展開ディレクトリから逃れ、ファイルシステムの別の場所に書き込まれてしまいます。攻撃者はこの任意ファイル書き込みの能力を利用して、SYSTEM権限で動作するSMS Executiveサービスが読み込む二次ライブラリ「adsource.dll」を、独自の署名チェックを経ずに置き換えることができます。

その後、サービスがこのDLLを読み込むと、攻撃者はSYSTEM権限でのコード実行を手に入れます。

58ドルの証明書が信頼の境界を突破

このチェーンが特に注目される理由は、SCCMの署名検証が、署名に使われた証明書がMicrosoftや対象組織のものであることを確認していない点にあります。検証されるのは署名が構造的に有効で有効期限内であることだけで、失効確認は無効化されています。

つまり、攻撃者はエンタープライズ向け証明書を必要としません。XM Cyberによれば、この攻撃はコード署名証明書に依存しており、オンラインで流出した証明書を悪用することも可能だといいます。今回の研究でBaso氏は、価格が約58ドルのCertum Open Source Developer Certificateを使用しました。

防御側に対してXM Cyberは、AdminService APIへのネットワークアクセスを制限すること、そしてSCCMのRBAC割り当て、特にOperations Administratorロールやそれに相当するCreate権限を持つアカウントを監査することを推奨しています。

また、チームはサイトサーバーの「AdminService.log」を監視し、「System.IO.DirectoryNotFoundException」に続いてHTTP 500応答が発生するパターンにも注意すべきだとXM Cyberは付け加えています。これはパストラバーサルが引き起こされたことを示す可能性があるパターンです。

Configuration Managerのインストールディレクトリ内でadsource.dllに予期しない変更が加えられていないかも、もう一つの検知シグナルとなり得ます。

Microsoftは残る欠陥についてもパッチの準備を進めているとされています。同社はCSOのコメント要請に対し、現時点で回答していません。

Shwetaは2017年からエンタープライズテクノロジーについて執筆しており、直近ではCSO onlineでサイバーセキュリティを担当しています。ランサムウェアからゼロトラストアーキテクチャまで、複雑なトピックを専門家にも一般読者にも分かりやすく解説しています。Asian College of Journalismでジャーナリズムの大学院ディプロマを取得しており、サイバー脅威の解明に追われていないときは、フィクションを読んだり、映画を観たり、新しいレシピに挑戦したりして過ごしています。

翻訳元: https://www.csoonline.com/article/4209154/it-took-58-to-break-microsofts-sccm-but-a-patch-made-it-harder.html

ソース: csoonline.com