
CVE-2019-18935(Telerik UI デシリアライゼーション RCE)に対するマルチステージ検証を備えた Nuclei テンプレート。ハンドラーの発見、バージョン列挙、および Docker ラボ環境を用いたエクスプロイトの証明を含みます。
このリポジトリには、ProjectDiscovery バウンティプログラムのために作成された、CVE-2019-18935(Telerik UI for ASP.NET AJAX のデシリアライゼーション RCE)を検出するための、完全で検証済みの Nuclei テンプレートが含まれています。
CVE-2019-18935 は、Progress Telerik UI for ASP.NET AJAX(バージョン 2011.1.315 から 2019.3.1023)における .NET の重大なデシリアライゼーション脆弱性であり、認証されていないリモートコード実行を可能にします。この脆弱性の特徴:
.
├── README.md # このファイル
├── BOUNTY_PLAN.md # オリジナルの計画書
├── nuclei-templates/
│ └── cves/
│ └── 2019/
│ └── CVE-2019-18935.yaml # メインの Nuclei テンプレート
├── docker-environment/ # 脆弱なテスト環境
│ ├── Dockerfile
│ ├── docker-compose.yml
│ ├── web.config
│ ├── Default.aspx
│ └── README.md
├── scripts/ # 悪用および検証スクリプト
│ ├── RAU_crypto.py # 暗号化ヘルパーモジュール
│ ├── telerik_version_detect.py # バージョン検出ツール
│ └── telerik_exploit_poc.py # PoC 検証スクリプト
├── documentation/ # 技術文書
│ ├── TESTING.md # テストガイド
│ └── METHODOLOGY.md # 検出方法論
├── debug-output/ # デバッグログと結果(生成される)
└── payloads/ # テストペイロード(オプション)
✅ 完全な PoC 実装 - 単なるバージョン検出ではありません
✅ マルチステージ検証 - ハンドラ発見 + バージョンチェック + 悪用の証明
✅ 低偽陽性 - 複数のマッチャー間での AND 条件
✅ 非破壊的 - 実際の悪用を行わない安全なテスト
✅ 包括的な抽出 - バージョン情報、エラー詳細、検出段階
✅ 十分なドキュメント - 完全な方法論とテストガイドを同梱
# Nuclei のインストール
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# Python 依存関係のインストール(検証スクリプト用)
pip3 install -r requirements.txt
# Docker のインストール(テスト環境用)
# 参照: https://docs.docker.com/get-docker/
# 単一ターゲットに対してテスト
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://target.com \
-v
# デバッグ出力を伴うテスト
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://target.com \
-debug -v
# 複数ターゲットに対してテスト
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-l targets.txt \
-json -o results.json
# Docker 環境に移動
cd docker-environment
# 重要: 最初に Telerik.Web.UI.dll を入手してください(docker-environment/README.md 参照)
# その DLL をこのディレクトリに配置します
# ビルドして起動
docker-compose up -d
# 実行確認
curl http://localhost:8080/Telerik.Web.UI.WebResource.axd?type=rau
# テンプレートのテスト
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
-u http://localhost:8080 \
-debug -v \
2>&1 | tee debug-output/test-run.log
[CVE-2019-18935] [http] [critical] http://localhost:8080/Telerik.Web.UI.WebResource.axd
[EXTRACTED]
telerik_version: 2017.2.503.40
detection_stage: Handler detected in request 1, Version in request 2, Deserialization in request 3
error_details: Exception at Telerik.Web.UI...
cd scripts
# Telerik バージョンを検出し、脆弱性を確認
python3 telerik_version_detect.py http://target.com
# 出力:
# [+] Handler found: http://target.com/Telerik.Web.UI.WebResource.axd?type=rau
# [+] Detected version: 2017.2.503
# [!] VULNERABLE: Version in range 2011.1.315 - 2019.3.1023
# 非破壊の PoC を実行
python3 telerik_exploit_poc.py http://target.com/Telerik.Web.UI.WebResource.axd?type=rau
# 出力:
# [+] Handler is accessible
# [+] Upload capability confirmed
# [+] Deserialization processing detected
# [!] VULNERABILITY: CONFIRMED
このテンプレートは 3 段階の検出プロセス を使用します:
第1段階 - ハンドラ発見:
/Telerik.Web.UI.WebResource.axd?type=rau に送信第2段階 - バージョン列挙:
rauPostData パラメータで POST第3段階 - 悪用の証明:
__type デシリアライゼーション識別子を含むペイロードを送信陽性検出のためには、3 段階すべてが成功する必要があります(AND 条件)。
完全な技術的詳細については documentation/METHODOLOGY.md を参照してください。
⚠️ 重要: このテンプレートは 侵入的(intrusive) としてタグ付けされています。その理由:
このテンプレートは以下の場合にのみ使用してください:
法的コンプライアンスはあなたの責任です。
curl http://target/Telerik.Web.UI.WebResource.axd?type=raupython3 scripts/telerik_exploit_poc.py <url>nuclei -t template.yaml -u <url> -debugdocker-compose logs完全なトラブルシューティングガイドについては TESTING.md を参照してください。
このテンプレートは ProjectDiscovery バウンティプログラムのために作成されました。改善点や問題については:
この成果物はセキュリティ研究および許可されたテストのために提供されています。責任を持って法的に使用してください。
ProjectDiscovery バウンティプログラムのために作成
研究日: 2025年12月
ステータス: 提出準備完了 ✅