漏洞原理

Windows远程桌面内核驱动处理MS_T120通道时(管理数据传输时)没有对数据的数据包进行验证限制,没有将信道的指针删除(之后会回来访问恶意的数据包),攻击者无需认证即可向RDP服务(3389端口)发送恶意数据包,受害机在接收到恶意数据的时候,系统就会释放一些内存,之后还会去调用恶意的数据包。之后攻击者通过篡改调用的函数指针指向恶意的数据包,获取当前系统信息。

所在网络层:会话层

端口号:3389

影响版本

目前已知受影响的 Windows 版本包括但不限于:

Windows 7

Windows Server 2008

Windows Server 2008 R2

Windows Server 2003

Windows XP

Windows 8 和 windows10 以及之后的版本不受此漏洞影响

流量特征

(1)RDP 协议中的特殊数据包构造

攻击者会通过 RDP 协议(默认端口 3389)发送特制数据包,触发目标系统释放内部信道MS T120 的控制结构体,并利用其未正确清除的指针实现远程代码执行数据包中可能包含异常的 MS T120 信道请求。

(2)预身份验证阶段的异常行为

由于该漏洞是预身份验证漏洞,攻击流量会在用户未登录或未完成身份验证时直接发送恶意请求,表现为 未完成完整 RDP 握手流程的异常连接尝试

(3)扫描活动的流量特征

攻击前通常会进行大规模扫描,检测开放 3389 端口的设备。例如使用 Metasploit 的auxiliary/scanner/rdp/cve 2019 0708 bluekeep 模块,生成包含特定漏洞检测标志的 RDP 流量

扫描流量可能来自 Tor 出口节点或匿名代理,以隐藏攻击者真实 IP。

防御措施:

安装补丁

要求身份验证

关闭3389端口的一些服务

写入复杂密码

更新系统

靶场复现

靶机 windows xp IP:192.168.3.125

攻击机 kali IP:192。168.3.150

  1. 登录kali,用nmap探测本网段存活主机

    nmap 192.168.3.0/24

  2. 使用kali的msf模块,启用msfconsole

  3. search CVE-2019-0708 搜索CVE-2019-0708 漏洞模块

  4. 这里编号0为探测模块 编号1、2、3为攻击模块

    我们先使用编号为0的模块探索目标主机是否有漏洞

    对靶机进行漏洞扫描:

    使用模块:

    use auxiliary/scanner/rdp/cve_2019_0708_bluekeep

    设置目标IP或网段:

    set rhosts 192.168.3.164

    run进行执行,这里我用的是win7,但是探测没有提示有可以执行的漏洞,应该是已经打上了补丁,所以我切换xp进行复现



    这是切换成xp的结果,对比可以发现win7并没有探测出漏洞



    之后使用攻击模块,对靶机进行攻击

    使用攻击模块:

    use exploit/windows/rdp/cve_2019_0708_bluekeep_rce

    设置攻击目标IP

    set rhosts 192.168.3.125



    show targets

    1是真实机器,这里根据真实情况,选择5

    当前攻击配置

    show options





    没有创建成功,可能是xp开启了防火墙

补充

在 Windows XP 中查看和配置防火墙,可以按照以下步骤操作:

打开控制面板:

点击“开始”按钮,选择“控制面板”。

进入 Windows 防火墙设置:

在控制面板中,找到并点击“Windows 防火墙”图标。

查看防火墙设置:

在“Windows 防火墙”窗口中,你可以看到防火墙的当前状态。它会显示为“启用”或“禁用”。你可以选择更改防火墙设置。

如何查看一台机子有没有开启RDP服务

services.msc查找远程桌面服务:

在服务列表中,找到“Terminal Services”(终端服务)项。查看服务状态:

如果该服务的“状态”显示为“正在运行”,则表示 RDP 已启用。

如果该服务未运行,右键点击它,选择“启动”以启用该服务。

补充知识

msfconsole 是 Metasploit Framework 的命令行界面(CLI)工具,它是一个强大的开源渗透测试框架,用于开发和执行利用代码(exploits)来测试和发现计算机系统的漏洞。Metasploit 框架广泛应用于网络安全领域,尤其是在渗透测试和漏洞利用方面。

msfconsole 的主要功能和特点:

  1. 命令行界面:msfconsole 提供了一个交互式的命令行界面,用户可以通过它来使用 Metasploit 的各种功能,执行渗透测试、利用漏洞、攻击目标系统等。
  2. 漏洞利用:Metasploit 包含了大量的漏洞利用模块(Exploits),这些模块可以针对已知的漏洞进行攻击,比如远程代码执行、SQL 注入、Web 应用程序漏洞等。
  3. Payloads:Metasploit 提供了多种 payloads(有效载荷),这些是攻击者用于在目标系统上执行恶意代码的工具。例如,反向 shell、Meterpreter 会话等。
  4. Post-exploitation:在成功利用漏洞后,Metasploit 可以用来进行后续的攻击和信息收集,包括获取目标系统的控制权限、提取密码、记录键盘输入等。
  5. 模块化:Metasploit 框架采用模块化设计,用户可以加载不同类型的模块,包括:

    Exploits:用于利用目标系统漏洞的模块。

    Payloads:用于执行攻击后的任务,如获取远程控制。

    Auxiliary:辅助模块,如端口扫描、服务识别等。

    Post:用于攻击成功后进行的操作,如窃取信息等。
  6. 自动化与集成:Metasploit 提供了一些脚本化功能,可以自动化攻击流程,帮助渗透测试人员快速识别和利用漏洞。

Metasploit Framework 是一个开源的渗透测试工具,主要用于发现和利用计算机系统中的安全漏洞。它提供了一套完整的工具集,帮助安全研究人员、渗透测试人员以及系统管理员进行漏洞扫描、攻击模拟和安全测试。Metasploit 能够帮助用户识别目标系统中的弱点并进行攻击模拟,检测系统的防御能力。msfconsole是它的一部分,即为用户提供了命令行界面。

RDP远程桌面连接服务的更多相关文章

  1. ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三)

    ubuntu18.04配置nvidia docker和远程连接ssh+远程桌面连接(三) 本教程适用于想要在远程服务器上配置docker图形界面用于深度学习的用户. (三)配置远程桌面连接访问dock ...

  2. 修改windows 2012/win8、win7远程桌面连接默认端口的方法

    远程桌面连接服务基于端口3389,入侵者一般先扫描主机开放端口,一旦发现其开放了3389端口,就会进行下一步的入侵,所以我们只需要修改该务默认端口就可以避开大多数入侵者的耳目. 修改windows 2 ...

  3. (转)WS2008远程桌面连接时提示:“要登录到此远程计算机,您必须被授予允许通过终端服务登录的权限”的解决办法

    原文:http://www.chunfengxiyu.com/ws2008-mstsc-privilege.html WS2008远程桌面连接时提示:“要登录到此远程计算机,您必须被授予允许通过终端服 ...

  4. 通过xrdp服务实现windows远程桌面连接树莓派

    如题:通过xrdp服务实现windows远程桌面连接树莓派 受同学影响,最近接触到了树莓派,又加上自己技痒想试一下这个小东西究竟能做什么,所以开始了树莓派学习之旅. 正题开始-xrdp实现window ...

  5. 树莓派进阶之路 (024) - windows远程桌面连接树莓派通过xrdp服务(转)

    本文转载:http://www.cnblogs.com/edgexie/p/6527992.html 在网上看到很多关于windows远程桌面连接树莓派的教程.我也按照教程试过了,遇到了几个坑.特意记 ...

  6. Windows远程桌面连接Ubuntu 14.04

    由于xrdp.gnome和unity之间的兼容性问题,在Ubuntu 14.04版本中仍然无法使用xrdp登陆gnome或unity的远程桌面,现象是登录后只有黑白点为背景,无图标也无法操作.与13. ...

  7. Windows远程桌面连接Ubuntu 14.04 (转)

    由于xrdp.gnome和unity之间的兼容性问题,在Ubuntu 14.04版本中仍然无法使用xrdp登陆gnome或unity的远程桌面,现象是登录后只有黑白点为背景,无图标也无法操作.与13. ...

  8. Windows远程桌面连接 出现身份错误 要求的函数不受支持

    原因 CVE-2018-0886 的 CredSSP 更新 将默认设置从"易受攻击"更改为"缓解"的更新. ## 官方更新 摘要 凭据安全支持提供程序协议 (C ...

  9. 远程桌面连接 [Content] 出现身份验证错误。 要求的函数不受支持

    [Window Title] 远程桌面连接 [Content] 出现身份验证错误. 要求的函数不受支持 以上是我远程得时候报的错.   下面直接上  最NB得解决方案.不管用直接在下面评论 通过管理控 ...

  10. 详细故障排除步骤:针对 Azure 中到 Windows VM 的远程桌面连接问题

    本文提供详细的故障排除步骤,用于为基于 Windows 的 Azure 虚拟机诊断和修复复杂的远程桌面错误. Important 若要消除更常见的远程桌面错误,请务必先阅读远程桌面的基本故障排除文章, ...

随机推荐

  1. Web前端入门第4问:HTML、CSS、JavaScript 的作用分别是什么?

    HTML.CSS.JavaScript 的核心作用 HTML:网页的骨架 功能:定义页面的内容结构(如按钮.表格.图片). 示例:<button>提交</button> 创建一 ...

  2. golang 使用goto进行多错误处理

    goto 语句介绍 在 Go 语言中,可以通过goto语句跳转到标签,进行代码间的无条件跳转.另外,goto语句在快速跳出循环.避免重复退出方面可以简化代码实现过程,但在结构化程序设计中一般不主张使用 ...

  3. 搭建自己的OCR服务,第一步:选择合适的开源OCR项目

    一.OCR是什么? 光学字符识别(Optical Character Recognition, OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程. 亦即将图像中的文字进行识别 ...

  4. IvorySQL 4.0 发布:全面支持 PostgreSQL 17

    2024 年 12 月 24 日,IvorySQL 4.0 发布了! 这是 2024 年以来发布的最新版本,相较于上个版本,有了较大的变化. 该版本有多项增强:全面支持 PostgreSQL 17,新 ...

  5. ASP.NET Core 模型验证消息的本地化新姿势

    最近在研究系统本地化的问题,不可避免要实现模型类的验证消息本地化.毕竟这些错误消息是要返回给用户的. 疑问产生 在MVC模型下,我们会使用模型类对请求参数进行绑定和验证.举个例子: public cl ...

  6. MySQL基础架构-架构详解

    mysql基础架构图 架构详解 连接器部分 整体功能 建立连接 维持管理连接 校验用户名密码,查询权限 最佳实践 不要在命令行客户端中明文输入密码 -p 中不要使用明文密码 修改权限,需要重新建立连接 ...

  7. 【SpringCloud】SpringCloud Bus消息总线

    SpringCloud Bus消息总线 概述 上一讲解的加深和扩充,一言以蔽之 分布式自动刷新配置功能 Spring Cloud Bus配合Spring Cloud Config使用可以实现配置的动态 ...

  8. Python科学计算系列6—积分

    1.定积分 例1:求下列函数的定积分 代码如下: from sympy import * x = symbols('x') f = integrate(exp(-x), (x, 0, oo)) pri ...

  9. 搜索算法1——聊聊dfs与回溯

    搜索算法1--聊聊dfs与回溯 目录 1.dfs 的概念 $\ \ \ $1.1 dfs 的概念 2.dfs 的做法 $\ \ \ $2.1 为什么要用 dfs $\ \ \ $2.2 dfs 如何实 ...

  10. javaWeb之路径

    一. 路径写法: 1. 路径分类 a. 相对路径:通过相对路径不可以确定唯一资源 * 如:./index.html * 不以/开头,以.开头路径 * 规则:找到当前资源和目标资源之间的相对位置关系 * ...