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

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

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

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

工具目录

分类

查看所有分类
Loading categories
BlueGate-CVE-2020-0609 — BlueGate 漏洞利用验证器 - 针对 CVE-2020-0609 和 CVE-2020-0610(BlueGate)的 RD 网关验证器,使用 OpenSSL DTLS 通过 UDP/3391 进行验证。 | Kitploit
工具/GitHubGitHub/bhanunamikaze/bluegate-cve-2020-0609
漏洞扫描器漏洞分析漏洞利用网络安全渗透测试
GitHubbhanunamikaze/bluegate-cve-2020-0609

BlueGate-CVE-2020-0609

BlueGate 漏洞利用验证器 - 针对 CVE-2020-0609 和 CVE-2020-0610(BlueGate)的 RD 网关验证器,使用 OpenSSL DTLS 通过 UDP/3391 进行验证。

查看仓库

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
14小时39分前尚未审核
分享

RD Gateway BlueGate 验证器

CVE-2020-0609 / CVE-2020-0610 远程验证工具

一个用于远程验证与 Microsoft 远程桌面网关漏洞相关的补丁行为的仅检测型小型 Python 实用工具:

  • CVE-2020-0609
  • CVE-2020-0610

这些漏洞通常与 BlueGate 研究相关联,影响 Microsoft 远程桌面网关(RD Gateway),并可能允许未经认证的远程攻击者在未修补的服务器上执行任意代码。

此工具不实现远程代码执行、拒绝服务、持久化或载荷投递功能。

它仅执行一次协议级验证请求,并评估 RD Gateway 的响应。


漏洞摘要

属性详情
CVE 编号CVE-2020-0609, CVE-2020-0610
受影响组件Microsoft 远程桌面网关
漏洞类型远程代码执行
是否需要认证否
是否需要用户交互否
攻击向量网络
严重程度严重
CVSS v3.19.8
CVSS 向量CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
主要协议RD Gateway UDP 传输
默认 UDP 端口3391/UDP
公开名称BlueGate

受影响的 Windows Server 系列包括:

root@kitploit:~
Windows Server 2012
Windows Server 2012 R2
Windows Server 2016
Windows Server 2019

已安装 Microsoft 2020 年 1 月安全更新或更高版本累积更新的系统应包含相关修复。


为什么使用 UDP/3391 而不是 HTTPS/443?

RD Gateway 部署可能暴露多个相关服务。

例如:

root@kitploit:~
                  Microsoft RD Gateway
                         |
            +------------+------------+
            |                         |
        TCP/443                     UDP/3391
            |                         |
      HTTPS / RDWeb             RD Gateway UDP
      RPC-over-HTTPS             DTLS 传输

RDWeb 门户可通过浏览器访问:

root@kitploit:~
https://gateway.example/RDWeb/

RD Gateway 功能也可能通过 TCP/443 暴露。

然而,此 BlueGate 风格验证器所测试的攻击面是 RD Gateway UDP 传输,通常监听于:

root@kitploit:~
UDP/3391

因此,扫描器使用 基于 UDP/3391 的 DTLS,而非基于 TCP/443 的 HTTPS。

将脚本改为端口 443 意味着测试:

root@kitploit:~
UDP/443

这与以下内容不是同一回事:

root@kitploit:~
TCP/443

确认 RD Gateway UDP 服务

在运行漏洞验证器之前,可以使用 Nmap 检查 UDP/3391:

root@kitploit:~
nmap -Pn -sU -p3391 --reason <TARGET>

示例:

root@kitploit:~
PORT     STATE SERVICE
3391/udp open  savant

savant 服务标签只是 Nmap 的端口名称映射,并不一定标识实际服务。

可以使用 OpenSSL 更可靠地确认 RD Gateway DTLS 服务。

DTLS 1.0

root@kitploit:~
openssl s_client \
    -dtls1 \
    -connect <TARGET>:3391 \
    -state

DTLS 1.2

root@kitploit:~
openssl s_client \
    -dtls1_2 \
    -connect <TARGET>:3391 \
    -state

成功的握手确认 UDP/3391 上有 DTLS 服务在响应。

典型的成功输出包括:

root@kitploit:~
SSL handshake has read ...
New, SSLv3, Cipher is ...
Protocol: DTLSv1

或:

root@kitploit:~
Protocol: DTLSv1.2

此工具的功能

验证器:

  1. 启动 OpenSSL DTLS 客户端。
  2. 通过 UDP/3391 连接到目标 RD Gateway。
  3. 等待 DTLS 握手完成。
  4. 发送单个 BlueGate 风格的分片验证数据包。
  5. 等待 RD Gateway 应用程序响应。
  6. 从 16 字节响应中提取最终状态 DWORD。
  7. 对响应进行分类。

验证过程不需要任何认证凭据。

该工具特意不包含:

root@kitploit:~
无反向 Shell
无命令执行
无漏洞利用载荷
无拒绝服务循环
无重复的畸形数据包传输

环境要求

已在以下环境中测试:

root@kitploit:~
Python 3
OpenSSL 命令行客户端
Linux

验证 OpenSSL:

root@kitploit:~
openssl version

验证 Python:

root@kitploit:~
python3 --version

不需要 Python OpenSSL 模块,因为脚本调用系统自带的 openssl s_client 实现。

这避免了旧版 BlueGate 实现因依赖已弃用的 Python/OpenSSL API(例如)而遇到的兼容性问题:

root@kitploit:~
DTLSv1_client_method

使用方法

基本扫描:

root@kitploit:~
python3 BlueGate.py <TARGET>

示例:

root@kitploit:~
python3 BlueGate.py 192.0.2.10

默认目标地址为:

root@kitploit:~
UDP/3391

指定端口

root@kitploit:~
python3 BlueGate.py \
    -P 3391 \
    192.0.2.10

DTLS 1.0

root@kitploit:~
python3 BlueGate.py \
    --dtls 1 \
    192.0.2.10

DTLS 1.2

root@kitploit:~
python3 BlueGate.py \
    --dtls 1.2 \
    192.0.2.10

同时测试两种版本可能很有用:

root@kitploit:~
python3 BlueGate.py --dtls 1 192.0.2.10

python3 BlueGate.py --dtls 1.2 192.0.2.10

已修补示例

来自已修补 RD Gateway 的示例结果:

root@kitploit:~
[*] Target: 192.0.2.10:3391/udp
[*] DTLS mode: 1.2
[*] Starting OpenSSL DTLS client...
[+] DTLS handshake completed.
[*] Probe (11 bytes): 0500070000004100010041
[*] Sending one validation packet...

[*] Response length: 16
[*] Response hex: 02000c0000000000ffffffffffff0080
[*] Status: 0x8000ffff

[+] PATCHED SIGNATURE RECEIVED
    Server returned 0x8000ffff, which is
    the rejection value used by the public
    CVE detector to identify a patched host.

相同的已修补响应也可能通过 DTLS 1.0 返回:

root@kitploit:~
Response length: 16
Response hex: 02000c0000000000ffffffffffff0080
Status: 0x8000ffff

理解结果

0x8000ffff

以以下内容结尾的响应:

root@kitploit:~
0x8000ffff

是公开 BlueGate/RD Gateway 扫描器用于识别畸形分片条件已被拒绝的拒绝值。

因此,该工具报告:

root@kitploit:~
PATCHED SIGNATURE RECEIVED

这提供了强有力的协议级证据,表明针对 CVE-2020-0609/CVE-2020-0610 测试的特定条件无法使用已知的公开检测技术进行利用。


不同的 16 字节状态

如果收到 16 字节的 RD Gateway 响应,但最终 DWORD 不是:

root@kitploit:~
0x8000ffff

该工具报告:

root@kitploit:~
DETECTOR POSITIVE

这应被视为:

root@kitploit:~
可能易受攻击

而非成功远程代码执行的直接证据。

该结果最好通过以下方式加以佐证:

root@kitploit:~
Windows 构建信息
已安装的 KB 信息
Microsoft 补丁清单
需要凭据的漏洞扫描

然后再将该漏洞报告为确定可利用。


无响应

如果未收到应用程序响应:

root@kitploit:~
INCONCLUSIVE

该工具有意不将超时归类为易受攻击。

超时可能由以下原因引起:

  • 防火墙行为
  • UDP 数据包丢失
  • DTLS 不兼容
  • 网络过滤
  • 应用程序行为
  • 服务配置

因此:

root@kitploit:~
无响应 != 易受攻击

检测逻辑

公开的 BlueGate/RDG 检测方法使用包含异常分片计数的 RD Gateway 分片数据包。

概念上:

root@kitploit:~
DTLS 连接
      |
      v
+-----------------------+
| RD Gateway UDP 解析器 |
+-----------------------+
      |
      | 分片验证数据包
      v
+-----------------------+
| 分片验证              |
+-----------------------+
      |
      +---- 已修补 ----> 拒绝
      |                   0x8000ffff
      |
      +---- 意外结果 --> 需要进一步调查

此工具使用的验证数据包仅发送一次。


法律免责声明

本项目仅供以下用途:

  • 经授权的渗透测试
  • 漏洞验证
  • 防御性安全研究
  • 实验室环境
  • 教育性安全研究

仅可测试您拥有明确授权的系统。

作者对因使用或修改本软件而导致的滥用、未经授权访问、服务中断、数据丢失或其他后果不承担任何责任。


致谢

检测方法基于对 Microsoft RD Gateway 漏洞 CVE-2020-0609 和 CVE-2020-0610 的公开文档化研究,包括 BlueGate 和 RD Gateway 安全研究社区所做的工作。

本项目主要通过使用系统 OpenSSL DTLS 实现(而非已弃用的 pyOpenSSL DTLS 内部机制)来现代化验证工作流程。

下载工具