CVE-2024-38077:一个简单的堆溢出漏洞
漏洞作者已经发布分析文章第一篇:https://sites.google.com/site/zhiniangpeng/blogs/MadLicense[1]
一个 bug 就能统治一切,稳定地利用 Windows Server 2025 上的 Preauth RCE 漏洞 远程桌面授权服务是 Windows Server 的一个组件,用于管理和颁发远程桌面服务的许可证,确保对远程应用程序和桌面的安全且合规的访问。
RDL 服务广泛部署在启用了远程桌面服务的计算机上。默认情况下,远程桌面服务仅允许同时使用两个会话。要启用多个同时会话,您需要购买许可证。RDL 服务负责管理这些许可证。RDL被广泛安装的另一个原因是,在Windows服务器上安装远程桌面服务(3389)时,管理员通常会选中安装RDL的选项。这导致很多启用了3389的服务器都启用了RDL服务。
在审核 RDL 服务之前,我们进行了网络扫描,以确定 RDL 服务在互联网上的部署状态。我们发现至少有17万个活跃的RDL服务直接暴露在公共互联网上,而内部网络内的数量无疑要大得多。此外,RDL服务通常部署在关键业务系统和远程桌面集群内,因此RDL服务中的预身份验证RCE漏洞对网络世界构成重大威胁。终端服务器许可程序旨在管理将任何用户或设备连接到服务器所需的终端服务 CAL。在“CDataCoding::DecodeData”过程中,分配了一个固定大小的缓冲区(21字节),然后用于计算和填充用户控制的长度缓冲区,导致堆溢出。
漏洞详情参考微软官方:https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-38077[2]
作者发布了相关poc:
在Windows Server 2025上,攻击的POC成功率超过95%。考虑到服务将在崩溃后重新启动,并且您不需要泄漏模块基地址两次,因此最终的成功率可以更高(接近100%)。
此POC将在Windows Server 2025上在2分钟内完成。但是我们这里的堆梳理技术是Windows Server 2025中引入的新的LFH缓解措施的未优化版本。我们很懒,实际上并没有完全逆转Windows Server 2025中的段堆机制,所以我们的堆梳理只是一个启发式的解决方案。它一点也不优雅。当然,您必须对其进行优化,以使该漏洞在Windows Server 2025上运行得更快。
对于Windows Server 2000到Windows Server 2022,利用这个漏洞将会快得多,因为缓解措施较少。为简单起见,POC将加载一个远程DLL。但是您可以让它在RDL进程中运行任意的shellcode。这将使它更隐蔽。
在Windows Server 2025之前的版本中利用此漏洞应该更容易和更有效,但当然,您需要调整代码和偏移量。漏洞可以在Windows Server 2000到Windows Server 2025上构建。这里我们只展示2025年的情况,因为Windows Server 2025是最新、最安全的Windows Server。它还在预览阶段,所以POC不会对世界造成伤害。如果您希望避免偏移问题以使利用更通用,那么动态搜索是可能的,但是您需要用更有效的内存读取原语替换它以使利用更有效。
我们做了一个负责任的披露。为了进一步防止此POC被滥用,此处发布的POC只是伪代码和未优化的版本,隐藏了一些关键部分。但伪代码中的信息将足以让研究人员发现并阻止利用。
References
[1]
: https://sites.google.com/site/zhiniangpeng/blogs/MadLicense
[2]
: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-38077
poc获取方式:
网盘链接: https://pan.baidu.com/s/19lt22Ud9PMgsoKwHTSodMg 提取码: 4a5d
github链接:https://github.com/CloudCrowSec001/CVE-2024-38077-POC
原文始发于微信公众号(云鸦安全):【情报】0-click 全版本windows server 未授权通杀RCE出现,请及时打上补丁
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论