
Microsoft EdgeにおけるCVE-2025-47181のリンクフォローの特権昇格を実演する教育用Pythonモデル。シンボリックリンクの悪用、信頼されたプロセスによるファイル書き込みリダイレクト、サイバーセキュリティ学習用の検出の課題をシミュレートします。
このリポジトリは CVE-2025-47181 概念 を提供します。これは、CVE-2025-47181 の仕組みと影響を説明するための Python プログラムです。これは Microsoft Edge(Chromium ベース) における 特権昇格の脆弱性 であり、「ファイルアクセス前の不適切なリンク解決('リンク追従')」(CWE-59) に分類されます。この脆弱性により、権限を持つローカルの攻撃者がシステム上で特権を昇格させることが可能になります。
このプログラムには CVE-2025-47181 の実際のエクスプロイトコードは含まれていません。代わりに、「リンク追従」攻撃の基本的な手順をモデル化しています。
このプロジェクトの主な目的は教育的です。「リンク追従」脆弱性の概念、それがどのように特権昇格につながるか、そしてサイバーセキュリティにおける安全なファイル処理の実践と堅牢なシステム監視の重要性を理解するのに役立ちます。
このコードは概念モデルのみです。実際のエクスプロイトコードを含まず、現実世界の攻撃に使用してはなりません。
CVE-2025-47181 概念 は以下の手順をモデル化します。
プログラムは概念的なディレクトリ (C:\EdgeUpdater\Temp\) を設定します。これは、特権アプリケーション(Microsoft Edge アップデータなど)が昇格された権限で一時ファイルを作成する場所を表します。
標準ユーザー権限で動作する攻撃者は、この概念的な信頼された一時ディレクトリの内部にシンボリックリンク (SYMLINK_NAME) を作成します。このシンボリックリンクは、通常は変更に高い権限が必要な機密システムファイルまたはディレクトリ (TARGET_SENSITIVE_FILE) を指します(例: System32 内の DLL)。
プログラムは、信頼されたアプリケーション(Edge アップデータ)が正当な一時ファイル (FILE_TO_BE_WRITTEN_BY_EDGE) を信頼された一時ディレクトリに書き込もうとする動作をモデル化します。「不適切なリンク解決」脆弱性 (CWE-59) により、信頼されたアプリケーションの書き込み操作は知らず知らずのうちに悪意のあるシンボリックリンクを「追従」し、その結果、特権を持った書き込みがシンボリックリンクのターゲット位置(TARGET_SENSITIVE_FILE)で発生します。
信頼されたアプリケーションの書き込み操作によって機密システムファイルが正常に上書きまたは変更された場合、低権限の攻撃者が概念的に特権昇格を達成したことを示します。攻撃者は信頼されたアプリケーションの特権を利用して、本来変更できないファイルを変更したことになります。
このプログラムは、ファイルパス解決の欠陥が攻撃者によって悪用され、アクセス制御を回避して特権を昇格させる方法を示しています。
Python 3 環境がインストールされていることを確認してください。この基本プログラムは標準の Python ライブラリ(os, time, sys, shutil)のみを使用します。Windows でシンボリックリンクを作成するには、特定のユーザー権限または開発者モードの有効化が必要な場合があることに注意してください。
python --version
このリポジトリをクローンします。
git clone [https://github.com/your-username/CVE_2025_47181_Concept.git](https://github.com/your-username/CVE_2025_47181_Concept.git)
cd CVE_2025_47181_Concept
プロジェクトは単一の Python スクリプトで構成されています。
cve_2025_47181_exploit_concept.py
このファイルには、「リンク追従」特権昇格の概念モデルの完全なソースコードが含まれています。
メインスクリプトを実行します。
python cve_2025_47181_exploit_concept.py
スクリプトは進捗をコンソールに出力し、以下を示します。
SystemMonitor からのレポート。cve_2025_47181_exploit_concept.py の先頭にある以下のパラメータを変更して、さまざまなシナリオを試すことができます。
SYSTEM_VULNERABLE: True に設定すると、シンボリックリンクベースの書き込みが成功するようになります(脆弱なシステムのモデル化)。False に設定すると、パッチ適用済みのシステム(シンボリックリンクが追従されない、または書き込みが防止される)をモデル化します。EDGE_TEMP_DIR_ROOT: 信頼されたプロセスが動作する概念的なルートディレクトリ。ATTACK_TEMP_DIR: シンボリックリンクが作成される可能性がある攻撃者制御ディレクトリ(これは多くの場合、ローカル攻撃者の能力に依存します)。TARGET_SENSITIVE_FILE: 変更に昇格された権限が必要な機密ファイルへの概念的なパス。MALICIOUS_CONTENT: 攻撃者が機密ファイルに書き込もうとする概念的なコンテンツ。SYMLINK_NAME: 攻撃者が作成するシンボリックリンクの名前。FILE_TO_BE_WRITTEN_BY_EDGE: 信頼されたアプリケーションが書き込もうとするファイルの名前。MONITOR_LOG_FILE: SystemMonitor がイベントを記録する概念的なログファイルのパス。このプログラムは CVE-2025-47181 に着想を得て、「リンク追従」脆弱性や類似のファイルシステム攻撃に対する重要な防御策を強調しています。
CVE-2025-47181 概念 は、より詳細な教育目的のために拡張することができます。
SystemMonitorSystemMonitor クラスが含まれており、セキュリティツール(EDR、ファイル整合性監視など)が疑わしいアクティビティ(機密パスへのシンボリックリンク作成や、保護されたシステムディレクトリへの予期しない書き込みなど)をどのように検出するかをモデル化します。