Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2018-0952-SystemCollector — Windows 10 診断ハブ標準コレクターサービスにおける権限昇格のPoC | Kitploit
ツール/GitHubGitHub/atredispartners/cve-2018-0952-systemcollector
特権昇格脆弱性分析エクスプロイトペネトレーションテストレッドチーミングバイナリエクスプロイト
GitHubatredispartners/cve-2018-0952-systemcollector

CVE-2018-0952-SystemCollector

Windows 10 診断ハブ標準コレクターサービスにおける権限昇格のPoC

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
1113118年前Kitploit レビュー済み

SystemCollector

Windows 10 診断ハブ標準コレクターサービスにおける権限昇格のPoC

対象製品

  • Windows 10
  • Windows Server
  • Windows Server 2016
  • Visual Studio 2015 Update 3
  • Visual Studio 2017

概要

Diagnostics Hub パッケージングライブラリは、Windows 標準コレクターサービスで使用されており、DiagnosticsHub.StandardCollector.Runtime.dll にクライアントの偽装処理が欠如しているため、任意のファイルを任意の場所に強制的にコピーさせることが可能です。

この脆弱性の発見と悪用に関する詳細な解説はこちら: Windows 標準コレクターサービスにおける権限昇格の脆弱性

技術詳細

標準コレクターサービスは、診断セッションを構成する際に、スクラッチディレクトリやセッションIDなど、いくつかの値を定義することができます。セッションIDは任意のGUID、スクラッチディレクトリはユーザーが書き込み権限を持つ任意の場所を指定できます。コレクションセッションがID c13851b2-b1e1-438f-bf73-949df897f1bf、スクラッチパス C:\Users\Bob\AppData\Local\Temp\Microsoft\F12\perftools\visualprofiler\ で構成されている場合、ICollectionSession オブジェクトの GetCurrentResult メソッドを呼び出すと、以下のイベントが発生します。

  1. スクラッチパスにイベントトレースログ (.etl) ファイルが作成される: C:\Users\Bob\AppData\Local\Temp\Microsoft\F12\perftools\visualprofiler\c13851b2-b1e1-438f-bf73-949df897f1bf.1.m.etl
  2. スクラッチパスにレポートフォルダも作成される: C:\Users\Bob\AppData\Local\Temp\Microsoft\F12\perftools\visualprofiler\Report.c13851b2-b1e1-438f-bf73-949df897f1bf.1
  3. レポートフォルダ内にランダムなGUIDのフォルダが作成される: C:\Users\Bob\AppData\Local\Temp\Microsoft\F12\perftools\visualprofiler\Report.c13851b2-b1e1-438f-bf73-949df897f1bf.1\EAD6A227-31D4-4EA2-94A9-5DF276F69E65

これらのフォルダとETLファイルは、通常セッション終了時に作成される .diagsession パッケージのためにコレクターサービスによって作成されます。ICollectionSession オブジェクトの Stop メソッドを呼び出すと、コレクターサービスは Microsoft::DiagnosticsHub::Packaging::DhPackageDirectory::CommitPackage を呼び出して診断パッケージをコミットします。CommitPackage 関数は、元の {scratch path}\c13851b2-b1e1-438f-bf73-949df897f1bf.1.m.etl ファイルをランダムGUIDフォルダにコピーまたは移動します: {scratch path}\Report.c13851b2-b1e1-438f-bf73-949df897f1bf.1\EAD6A227-31D4-4EA2-94A9-5DF276F69E65\c13851b2-b1e1-438f-bf73-949df897f1bf.1.m.etl

DiagnosticsHub.StandardCollector.Runtime.dll 内の CommitPackagingResult 関数によってトリガーされるコピー/移動操作は、ユーザーを偽装せずに実行されるため(初期のファイル/フォルダ作成時とは異なり)、対象フォルダがコピー先を任意の場所にリダイレクトするマウントポイントに置き換えられた場合、TOCTOU 問題が発生する可能性があります。この問題を有効に悪用するには、攻撃者はコピー前にETLファイルの内容をすり替える必要があります。これは、サービスがファイルハンドルを解放した後に、OpLock を使用して競合状態に打ち勝つことで実現できます。

コピーされる .etl ファイルの名前を完全に制御できるわけではありませんが、オブジェクトディレクトリのシンボリックリンクのトリックを使用して制御できます。マウントポイント+シンボリックリンクの設定は次のようになります:

  • マウントポイント: {scratch path}\Report.c13851b2-b1e1-438f-bf73-949df897f1bf.1\EAD6A227-31D4-4EA2-94A9-5DF276F69E65\ -> \RPC Control\
  • シンボリックリンク: \RPC Control\c13851b2-b1e1-438f-bf73-949df897f1bf.1.m.etl -> C:\Windows\System32\anything.dll

ファイルの内容、コピー先、ファイル名を制御できるため、攻撃者には多数のDLL読み込みの可能性が生じます。ただし、含まれているPoCでは、コレクターサービスは C:\Windows\System32 または C:\Windows\System32\DiagSvcs ディレクトリ内にあれば、ファイル名に関係なくDLLを読み込むため、ファイル名の制御は不要であることを示しています。これは、コピーされたDLLの名前 c13851b2-b1e1-438f-bf73-949df897f1bf.1.m.etl と一致するアセンブリ名を持つエージェントを使用して、新しいコレクターセッションを開始することで行われます。

含まれているPoCは、notepad.exe をポップアップさせるペイロード用のC++ DLLプロジェクトと、サービスと対話し NtApiDotNet ライブラリを使用して脆弱性を悪用するC#プロジェクトからなるVSソリューションです。

再現手順:

  1. Visual Studio ソリューションをビルドする
  2. 通常ユーザーとして SystemCollector.exe を実行する

期待される結果:

パッケージコミット操作がユーザーを偽装し、ファイルのコピーを試みた際に失敗する。

実際の結果:

ファイルがマウントポイントのターゲットフォルダ C:\Windows\System32 にコピーされ、その後コレクターエージェントとして読み込まれ、最後に notepad.exe が SYSTEM 権限で起動される。

その他の参考情報

  • https://www.atredis.com/blog/cve-2018-0952-privilege-escalation-vulnerability-in-windows-standard-collector-service
  • https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-0952
  • https://github.com/atredispartners/advisories/blob/master/ATREDIS-2018-0004.md
ツールをダウンロード