漏洞原理

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. javascript快速初始化数组

    编写代码中通常会有快速初始化数组的需求,例如我们需要一个类似matlab里的zeros函数,假如这里我们需要生成一个0-23的数组用于表示一天24小时. 最基本的做法如下: function(){ l ...

  2. Chrome浏览器使用AdGuard去除百度热搜

    前言 百度的热搜会分散注意力,chrome 的 AdGuard 插件可以屏蔽广告,还可以屏蔽百度热搜 设置 > 用户过滤器 > 添加以下代码,即可屏蔽百度热搜 baidu.com##div ...

  3. 分享一个我遇到过的“量子力学”级别的BUG。

    你好呀,我是歪歪. 前几天在网上冲浪的时候,看到知乎上的这个话题: 一瞬间,一次历史悠久但是记忆深刻的代码调试经历,"刷"的一下,就在我的脑海中蹦出来了. 虽然最终定位到的原因令人 ...

  4. vue学习二(过滤器)

    过滤器常用户来处理文本格式化的操作  过滤器还可以用在两个地方:花括号和v-bind 表达式 1.全局过滤器 {{user.gender|gfilter}} Vue.filter("gfil ...

  5. Docker中应用的性能调优指南(一)- 先谈谈容器化性能调优

    前言 性能调优是一个老生常谈的话题,通常情况下,一个应用在上线之前会进行容量规划.压力测试并进行验证,而性能调优则是在容量规划与验证结果之间出现差异时会进行的必然手段.从某种角度来讲,性能调优是一个非 ...

  6. ORA-01779: 无法修改与非键值保存表对应的列”中涉及的概念和解决方法

    什么是键值保存表(Key-Preserved Table)? 在理解什么是键值保存表之前,首先要知道 可更新的联接视图 这个概念,键值保存表只是保存了允许更新的字段信息的一张表.为什么会出现这么一张表 ...

  7. Obsidian 笔记一键转换发布为 Jekyll 博客

    Obsidian 是一款功能强大且灵活的知识管理和笔记软件,与 Jekyll 这一轻量级静态博客框架的结合,既能保留 Obsidian 的网状知识关联优势,又能借助 Jekyll 的高效编译能力快速生 ...

  8. Windows下将QT打包为可执行文件(exe)的完整流程,包含第三方库。

    打包我的 Qt/C++ 视觉应用:从依赖部署到单文件 EXE 的踩坑之旅 一.前言 最近完成了一个基于 Qt/C++ 的桌面视觉应用项目(proj_ai_vision_app).这个项目功能还挺复杂, ...

  9. sonarqube+gitlab+jenkins+maven集成搭建(三)

    安装JENKINS 关闭防火墙[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# systemctl disable fir ...

  10. C#基础——超级方便的ExpandoObject类别

    这东西是.NET Framework 4.5 的新东西..发现这个,大概就跟发现新大陆一样的兴奋,让我再次赞叹Anders Hejlsberg 之神.. 这边有MSDN : http://msdn.m ...