
このリポジトリは、YSoNet (YSoSerial.NET) を使用したASP.NET ViewStateのテストに関するワークショップ用です。
このリポジトリは、YSoNet (YSoSerial.NET) を使用した ASP.NET ViewState のテストワークショップ用です。
推奨読書: ASP.NET の ViewState を介したデシリアライゼーションの悪用
ラボのセットアップ後に課題を解くための推奨ツール:
ワークショップのスライド: EXPLOITING_KNOWN_MACHINE_WORKSHOP_v1.0_NahamCon2025_slides.pdf
これは、セキュリティテストおよび教育目的のみの意図的に安全でないラボ環境です。
このラボは、セキュリティ専門家が ASP.NET ViewState の脆弱性に対するテスト能力を向上させるために設計されています。責任を持って、管理された環境でのみ使用してください。
隔離された Windows Server で以下の手順を実行して、ラボ環境を準備します。昇格された PowerShell ターミナル(管理者として実行)を開き、次のコマンドを実行してください:
# Clone the repository (or download and extract the ZIP)
git clone https://github.com/irsdl/viewstate-security-workshop.git
cd viewstate-security-workshop
.\tools\Install-IISAndDotNet.ps1
これにより、ASP.NET サポートを備えた IIS と、必要なすべての .NET Framework バージョンがインストールされます。
.\tools\Disable-DefenderProtection.ps1
Defender を無効にする理由は? このラボでは、ViewState エクスプロイトによるコマンド実行がブロックされないように Windows Defender を無効にします。これにより、エンドポイント保護の干渉を受けることなく、エクスプロイトの成功を明確に観察できます。
重要: 実際のテストラボや本番環境では、保護を有効にしたままにしてください。このワークショップの目的は脆弱性の仕組みを理解することです。テクニックを学んだら、Defender を有効にした状態でこれらの攻撃を検出・ブロックする練習をしてください。
.\import-workshopiis.ps1
この対話型スクリプトは、IIS に脆弱なワークショップサイトをセットアップします。構成オプションを次のデフォルト値でプロンプト表示します:
| 設定 | デフォルト値 |
|---|---|
| Config file | .\workshop-iis-config.json |
| Site name | workshop |
| Root path | C:\workshop\websites\wwwdata |
| HTTP port | 80 |
このスクリプトは以下のことを行います:
content フォルダーをサイトのルートパスにコピーしますセットアップ後、IIS マネージャーは次のようになります:

興味のある方のみ:
IIS と .NET Framework コンポーネントをインストールして、ラボ用の Windows Server を準備します。
場所: tools/Install-IISAndDotNet.ps1
使用方法:
# Run as Administrator
.\tools\Install-IISAndDotNet.ps1
インストールするもの:
注: 分離されたサーバーへの .NET Framework 3.5 のインストールでは、Windows Server ISO をマウントし、スクリプト内のソースベースのインストールオプションのコメントを解除する必要がある場合があります。
ラボ環境でエクスプロイトツールを実行できるように、Windows Defender の保護を無効にします。
場所: tools/Disable-DefenderProtection.ps1
使用方法:
# Run as Administrator
.\tools\Disable-DefenderProtection.ps1
無効にするもの:
ラボ使用後に Windows Defender の保護を再び有効にします。
場所: tools/Enable-DefenderProtection.ps1
使用方法:
# Run as Administrator
.\tools\Enable-DefenderProtection.ps1
有効にするもの:
ワークショップの IIS サイト構成をインポートし、脆弱な Web コンテンツを展開する対話型スクリプトです。
場所: import-workshopiis.ps1
使用方法:
# Run as Administrator
.\import-workshopiis.ps1
処理内容:
content フォルダーを指定されたルートパスにコピーします.NET v2.0 プールを含む)参照ラボサーバーからエクスポートされた IIS サイト構造を定義する JSON 構成ファイルです。
場所: workshop-iis-config.json
内容:
/mac/* - MAC 検証が有効なアプリケーション/nomac/* - MAC 検証がないアプリケーションv20、v40、v45)このソフトウェアは、純粋に学術研究と効果的な防御技術の開発を目的として作成されており、明示的に許可された場合を除き、システムへの攻撃に使用することを意図したものではありません。プロジェクトメンテナーは、このソフトウェアの誤用について責任を負いません。責任を持って使用してください。
このソフトウェアは個人プロジェクトであり、プロジェクトオーナーや寄稿者の勤務先を含むいかなる企業とも関係ありません。