
Educational Proof of Concept (PoC) for CVE-2023-36874 — Windows Error Reporting (WER) Local Privilege Escalation vulnerability.
CVE-2023-36874 脆弱性の教育的かつ防御的な調査実装であり、Windows エラー報告(WER)コンポーネント内のローカル権限昇格(LPE)の欠陥を実証するものです。
このリポジトリおよび提供されるソースコードは、教育目的、セキュリティ研究、および防御的監査のためだけを意図しています。明示的な許可なしに、本番システムや環境でこのコードを実行しないでください。作者は、この素材を使用して行われた誤用、損害、または違法行為について一切の責任を負いません。
CVE-2023-36874 は、Windows エラー報告(WER) における論理的な権限昇格の脆弱性です。
低権限の攻撃者は、Windows オブジェクトマネージャーの名前空間を操作することにより、この欠陥を悪用できます。ローカルセッションディレクトリ内にカスタムシンボリックリンク(\??\C:)を作成することで、攻撃者はルートドライブ宛てのファイルアクセス要求をリダイレクトできます。
高い権限を持つサービス(NT AUTHORITY\SYSTEM)が、特定の非公開 COM インターフェイス(IErcLuaSupport など)を使用してエラー報告タスクをトリガーすると、リダイレクトされたパスからファイルを不適切に実行します。これにより、ユーザー制御のバイナリ(wermgr.exe)が SYSTEM 権限で実行される可能性があります。
main.cpp — 環境構築、オブジェクトマネージャーのシンボリックリンク作成、COM 操作を担当するメインの C++ ソースコード。exploit.exe (プレースホルダー) — 特権サービスによって起動されるターゲットペイロードバイナリ。main.cpp をソースファイルに追加します。x86(Win32)から x64 に変更します。このエクスプロイトは 64 ビットのシステムパス解決に依存しています。Ctrl + Shift + B)。実行されると、プログラムはバックグラウンドで以下の操作を実行します。
C:\ProgramData にダミーのレポートフォルダーを作成し、C:\Users\Public\test\Windows\System32 にミラーとなるディレクトリ構造を準備します。NtCreateSymbolicLinkObject を呼び出して、ローカルセッションのドライブ C: のクエリをカスタムの Public\test フォルダーにリダイレクトします。CLSID_ERCLuaSupport を使用して、アウトプロセス COM サーバーに接続します。SubmitReport() 経由で送信させます。システムは C:\Windows\System32\wermgr.exe を起動しようとしますが、ペイロードにリダイレクトされます。このバイナリはバックグラウンドで静かに実行されます。
0 で、ペイロードは NT AUTHORITY\SYSTEM のコンテキストで実行されます。-1 で終了します。この問題は、2023年7月の Patch Tuesday 更新サイクルで Microsoft によって正式に対処されました。
この脆弱性および類似の脆弱性を軽減するには、以下を実施してください: