admin 管理员组

文章数量: 887006

   一、 简述    

根据2024年8月9日,国家信息安全漏洞共享平台(CNVD)收录了Windows远程桌面许可服务远程代码执行漏洞(CNVD-2024-34918,对应CVE-2024-38077)。未经身份认证的攻击者可利用漏洞远程执行代码,获取服务器控制权限。目前,该漏洞的部分技术原理和概念验证伪代码已公开,厂商已发布安全更新完成修复。CNVD建议受影响的单位和用户安全即刻升级到最新版本。

        Windows Server,作为微软精心打造的操作系统系列,专为服务器环境量身定制,旨在高效管理网络架构、数据存储以及应用程序的运行。它为企业级用户和组织机构提供了坚实可靠的服务器平台,能够支撑从小型到大型的各种网络基础设施。然而,近期网络安全领域曝出了一则震撼性消息——Windows远程桌面授权服务中存在一个严重的远程代码执行漏洞(CVE-2024-38077),这一漏洞潜藏于远程桌面许可管理服务(RDL)之中,使得攻击者无需任何认证权限即可远程执行恶意代码,进而夺取服务器的最高控制权。该漏洞的根源在于处理用户输入的许可密钥包时,系统未能妥善验证解码数据长度与预设缓冲区大小之间的匹配性,从而触发了缓冲区溢出问题。

        鉴于该漏洞的严重性,强烈建议所有可能受影响的用户立即开展资产自查,并采取相应的预防措施,以抵御潜在的黑客攻击。不过,值得注意的是,该漏洞的利用并非毫无门槛,它依赖于两个关键条件:首先,目标系统需开放135端口,尽管在“永恒之蓝”事件后,许多组织已加强了对此端口的防护,但仍是潜在的风险点;其次,系统必须启用RDL,即远程桌面服务需配置并激活授权功能,而这一点并非所有服务器默认设置,因此实际受影响的范围可能相对有限。

        接下来,我们将简要介绍如何在Windows Server操作系统中配置远程桌面服务及其授权激活。这一功能对于系统管理员、远程办公人员以及需要远程技术支持的场景至关重要,它允许用户跨越地理界限,通过网络直接访问和控制服务器。通过正确的配置和授权激活,用户可以安全、便捷地实现远程工作和管理任务。

只开启远程桌面是不行的

二、复现安装配置

1、远程服务安装和配置

服务器管理器--》角色--》添加角色:选择”远程桌面服务“,下一步

选择角色服务:”远程桌面会话主机“和”远程桌面授权“,下一步

选择”不需要使用网络级别身份认证“,下一步

server 2008需要以下配置,server 2012至2022直接安装就行,勾选需要重启

选择”以后配置“,下一步

默认情况只有Adminisstratrors组可以连接到RD会话主机服务器(如果有特别需要请添加需要的用用户或组),下一步

在右侧窗口中双击”限制每个用户只能进行一个会话“,在”属性“中取消勾选”限制每个用户只能进行一个会话“,确定

在完成以上配置后Windows服务器已经可以实现多个用户同时远程登录或同一用户多个远程登录,但是依然面临一个问题:120天后远程桌面授权过期。

远程桌面服务安装好之后使用的是120天临时授权,所以会跳出以下提示,接着我们在第二部介绍远程桌面授权的激活。

2.远程桌面授权激活

管理工具--》远程桌面服务--》RD授权管理器;由于我们的RD授权服务器还未激活,所以授权服务器图标右下角显示红色x号;

右击授权服务器--》激活服务器,下一步

        

输入注册信息(必填选项),下一步

可选信息无需输入,直接下一步

默认已经勾选”立即启动许可证安装向导“,直接下一步

许可证计划选择”企业协议“,下一步

输入协议号码:6565792,下一步  (如果自己没有许可证,那么就输入6565792,4954438,6879321或者5296992)

产品版本:”windows server 2008或windows server 2008 r2“,许可证类型:”TS或RDS每用户CAL“,数量:输入你想允许的最大远程连接数量,下一步

点击完成,RD授权服务器已经激活,图标也由红x变为绿v。

最后配置远程桌面会话主机授权服务器

在服务器管理中,点击工具--远程桌面服务--RD授权诊断程序,查看当前服务器授权状态。

运行‘gpedit.msc’,打开计算机本地组策略,选择计算机配置--管理模板--widows组件--远程桌面服务--远程桌面会话主机--授权,找到‘使用指定的远程桌面许可服务器’和‘设置远程桌面授权模式’

设置‘使用指定的远程桌面许可服务器’为启用,并在‘要使用的许可服务器’中,设置当前服务器的ip或者主机名

启用‘设置远程桌面授权模式’,设置授权模式为‘按用户’

在远程桌面会话主机下,找到‘连接’,设置‘限制连接的数量’和取消‘将远程桌面服务用户限制到单独的远程桌面’


三、漏洞情况分析

该漏洞存于Windows远程桌面许可管理服务(Remote Desktop License Service,RDL)中,RDL是Windows Server操作系统的一个服务,用于管理和颁发远程桌面连接(RDS)许可。攻击者无需任何前置条件,无需用户交互(零点击)便可直接获取服务器最高权限,执行任意操作。

RDL不是Windows Server操作系统的默认启用服务。默认情况下,Windows服务器远程桌面服务仅支持两个并发会话,在启用RDP多并发会话支持时,需要手动安装RDL服务。

2024年8月9日上午9时,研究人员在境外网站公开了RDL服务远程代码执行漏洞的部分技术原理和概念验证(POC)伪代码,该伪代码目前尚无法直接运行,研究者将其命名为狂躁许可(MadLicense)。RDL服务在解码用户输入的许可密钥包时,未正确验证解码后的数据长度与缓冲区大小之间的关系,从而导致堆缓冲区溢出。未经身份认证的攻击者利用该漏洞,通过远程向目标Windows Server服务器发送恶意构造的数据包,从而执行任意代码,实现对服务器的权限获取和完全控制。CNVD对该漏洞的综合评级为“高危”。

四、漏洞影响范围

漏洞名称Windows Server 远程桌面许可服务远程代码执行漏洞
漏洞类型远程代码执行
漏洞CVE编号CVE-2024-38077
漏洞影响服务Windows Remote Desktop Licensing (RDL)服务
影响版本范围Windows Server 2000~2025 全版本未安装修复补丁均受影响



五、漏洞处置建议

特别提醒:修复漏洞前请进行充分测试,并务必做好数据备份和快照

六、排查方式

1. 检查系统补丁与build版本

  • 使用Win+R组合键调出运行窗口,输入cmd按回车按键打开控制台窗口。

  • 输入systeminfo命令,检查系统安装补丁信息。

  • 输入winver,检查系统build版本信息

判断方式:

1. 根据操作系统版本找到对应补丁编号与Build版本号2. 若已安装对应补丁,则不受漏洞影响(若有两个补丁则任选一安装即可)3. 若当前系统Build版本号大于或等于表格中的Build版本号,则不受漏洞影响
操作系统版本补丁编号Build版本号
Windows Server  2022 23H2 Edition (Server Core installation)KB504043810.0.25398.1009
Windows Server 2022 (Server Core  installation)KB504043710.0.20348.2582
Windows Server 2022KB504043710.0.20348.2582
Windows Server 2019 (Server Core  installation)KB504043010.0.17763.6054
Windows Server 2019KB504043010.0.17763.6054
Windows Server 2016 (Server Core  installation)KB504043410.0.14393.7159
Windows Server 2016KB504043410.0.14393.7159
Windows Server 2012 R2 (Server Core  installation)KB50404566.3.9600.22074
Windows Server 2012 R2KB50404566.3.9600.22074
Windows Server 2012 (Server Core  installation)KB50404856.2.9200.24975
Windows Server 2012KB50404856.2.9200.24975
Windows Server 2008 R2 for x64-based  Systems Service Pack 1 (Server Core installation)KB5040497或KB50404986.1.7601.27219
Windows Server 2008 R2 for x64-based  Systems Service Pack 1KB5040497或KB50404986.1.7601.27219
Windows Server 2008 for x64-based  Systems Service Pack 2 (Server Core installation)KB5040490或KB50404996.0.6003.22769
Windows Server 2008 for x64-based  Systems Service Pack 2KB5040490或KB50404996.0.6003.22769
Windows Server 2008 for 32-bit Systems  Service Pack 2 (Server Core installation)KB5040490或KB50404996.0.6003.22769
Windows Server 2008 for 32-bit Systems  Service Pack 2KB5040490或KB50404996.0.6003.22769

2. 检查RDL服务安装状态

  • Win键+R运行powershell,执行命令Get-WindowsFeature -Name RDS-Licensing

检查Install State结果:

- 未安装显示为Avaliable,不受漏洞影响

- 已安装显示为Installed,此情况下需要安装升级补丁,或关闭RDL服务,否则受漏洞影响

3. 检查RDL服务运行状态

  • Win键+R运行services.msc

  • 检查remote desktop license服务是否运行:

    • 1)未启用时状态显示为空 ,自动类型显示为手动,双击进入详情界面显示未已停止,此情况不受漏洞影响

    • 2)已启用时状态显示为正在运行,自动类型显示为自动,此情况下需要安装升级补丁,或关闭RDL服务,否则受漏洞影响

 

七、整改修复

1. 安装更新补丁

微软官方已发布针对该漏洞的修复方案,受影响用户请通过官方链接下载并更新补丁。

针对所有受影响的资产,根据具体的Windows Server系统版本,下载对应的补丁升级包,补丁下载地址:https://catalog.update.microsoft/Search.aspx?q=KB5040456此处修改为对应的补丁号)。

请务必尽快安排合适的时间对其进行升级。

2. 关闭RDL服务

对于暂无法安装更新补丁的情况,微软公司建议在确认RDL服务非必要的前提下,采取关闭RDL服务等临时防范措施。

使用Win+R组合键调出运行窗口,输入powershell按回车按键打开控制台窗口,执行以下命令

Stop-Service -Name "TermServLicensing" -Force

本文标签: 漏洞 远程桌面 代码 Windows CVE