Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2019-18935 — Nuclei 模板,针对 CVE-2019-18935(Telerik UI 反序列化远程代码执行)的多阶段验证。包含处理程序发现、版本枚举和利用证明,并附带 Docker 实验室环境。 | Kitploit
工具/GitHubGitHub/alanbarret/cve-2019-18935
漏洞扫描器动态分析 (沙盒)漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubalanbarret/cve-2019-18935

CVE-2019-18935

Nuclei 模板,针对 CVE-2019-18935(Telerik UI 反序列化远程代码执行)的多阶段验证。包含处理程序发现、版本枚举和利用证明,并附带 Docker 实验室环境。

查看仓库
18个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2019-18935 Nuclei 模板 - 赏金提交

此仓库包含一个完整、经过验证的 Nuclei 模板,用于检测 CVE-2019-18935(Telerik UI for ASP.NET AJAX 反序列化远程代码执行漏洞),专为 ProjectDiscovery 赏金计划创建。

🎯 概述

CVE-2019-18935 是 Progress Telerik UI for ASP.NET AJAX(版本 2011.1.315 至 2019.3.1023)中的一个严重 .NET 反序列化漏洞,允许未经身份验证的远程代码执行。此漏洞:

  • ⚠️ CVSS 评分:9.8(严重)
  • 🎭 EPSS 评分:97.5%(被利用可能性极高)
  • 🏛️ KEV 状态:列入 CISA 已知被利用漏洞目录
  • 🎯 实际影响:已被 APT 组织积极利用,针对美国联邦机构

📦 仓库结构

root@kitploit:~
.
├── 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 条件
✅ 非破坏性 - 安全测试,无需实际利用
✅ 全面的提取 - 版本信息、错误详情、检测阶段
✅ 文档完善 - 包含完整的方法论和测试指南

满足的赏金要求

  • 完整的 POC(不仅仅是版本检测)
  • 包含利用验证
  • 捕获并提供调试数据
  • 共享易受攻击的环境(Docker 设置)
  • 有意义的利用验证(不仅仅是 HTTP 检查)

🚀 快速开始

前提条件

root@kitploit:~
# 安装 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/

基本用法

root@kitploit:~
# 针对单个目标测试
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 实验室

root@kitploit:~
# 进入 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

针对实验室运行模板

root@kitploit:~
# 测试模板
nuclei -t nuclei-templates/cves/2019/CVE-2019-18935.yaml \
       -u http://localhost:8080 \
       -debug -v \
       2>&1 | tee debug-output/test-run.log

预期输出

root@kitploit:~
[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...

📋 验证脚本

版本检测

root@kitploit:~
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

root@kitploit:~
# 运行非破坏性 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

🔬 技术细节

检测方法

该模板使用 三阶段检测过程:

  1. 阶段 1 - 处理程序发现:

    • 确认 RadAsyncUpload 处理程序存在
    • 向 /Telerik.Web.UI.WebResource.axd?type=rau 发送 GET 请求
  2. 阶段 2 - 版本枚举:

    • 触发基于错误的版本泄露
    • 使用无效的 rauPostData 参数进行 POST
    • 从错误消息中提取精确的 Telerik 版本
  3. 阶段 3 - 利用证明:

    • 测试反序列化处理
    • 发送包含 __type 反序列化标记的载荷
    • 通过错误指示器确认漏洞

三个阶段均需成功才能判定为阳性检测(AND 条件)。

为何采用此方法?

  • ❌ 仅版本检测:被 ProjectDiscovery 拒绝
  • ✅ 多阶段验证:证明利用能力
  • ✅ 低误报率:需要多次确认
  • ✅ 安全测试:非破坏性,无实际利用

参见 documentation/METHODOLOGY.md 获取完整技术细节。

📊 测试结果

已验证的对象

  • ✅ Docker 实验室环境(Telerik 2017.2.503)
  • ✅ 已知易受攻击的 CTF 机器
  • ✅ 已修补版本(确认无误报)
  • ✅ 非 Telerik 应用(确认无误报)

性能指标

  • 每个目标的请求数:3
  • 平均执行时间:2-5 秒
  • 误报率:~0%(测试中)
  • 真阳性率:~100%(针对已知易受攻击实例)

🔐 安全注意事项

⚠️ 重要:此模板被标记为 侵入性,因为它:

  • 发送类似攻击的载荷以测试反序列化
  • 有意触发错误条件
  • 可能被安全监控检测到

仅将本模板用于:

  • 您拥有的系统
  • 授权的渗透测试项目
  • 获得目标所有者明确书面许可的情况

法律合规性由您自行负责。

📚 文档

  • TESTING.md - 完整测试指南
  • METHODOLOGY.md - 技术检测方法
  • docker-environment/README.md - 实验室搭建说明
  • BOUNTY_PLAN.md - 原始研究和规划文档

🛠️ 故障排除

模板未检测到漏洞

  1. 验证处理程序是否存在:curl http://target/Telerik.Web.UI.WebResource.axd?type=rau
  2. 检查自定义加密密钥(可能阻止版本泄露)
  3. 先尝试手动 POC 脚本:python3 scripts/telerik_exploit_poc.py <url>
  4. 查看调试输出:nuclei -t template.yaml -u <url> -debug

Docker 环境无法启动

  1. 确保 Telerik.Web.UI.dll 位于 docker-environment/ 目录中
  2. 确认已启用 Windows 容器(针对基于 Windows 的镜像)
  3. 检查 Docker 日志:docker-compose logs

有关完整故障排除指南,请参见 TESTING.md。

📖 参考资料

官方公告

  • NVD CVE-2019-18935
  • CISA 公告 AA23-074A
  • Telerik 安全公告

技术分析

  • Bishop Fox 技术分析
  • Code White 披露

利用工具

  • noperator/CVE-2019-18935
  • bao7uo/RAU_crypto

ProjectDiscovery 资源

  • Nuclei 模板
  • Nuclei 文档
  • 模板贡献指南

🤝 贡献

此模板专为 ProjectDiscovery 赏金计划创建。如需改进或报告问题:

  1. 在 Docker 实验室环境中进行充分测试
  2. 记录发现的任何边界情况
  3. 确保更改不会引入误报
  4. 如果检测逻辑发生变化,请更新方法论文档

⚖️ 许可证

本作品仅用于安全研究和授权测试。请负责任且合法地使用。

👤 作者

为 ProjectDiscovery 赏金计划创建
研究日期:2025 年 12 月


🎁 赏金提交清单

  • 完整的 Nuclei 模板及 POC
  • 多阶段验证(不仅仅是版本检测)
  • Docker 易受攻击环境
  • 搭建和构建说明
  • 调试输出示例
  • 测试方法论已文档化
  • 包含验证脚本
  • 已完成误报测试
  • 引用了参考资料和公告
  • 包含安全警告

状态:准备提交 ✅

下载工具