安全研究人员 Ver、Lewis Lee 和 Zhiniang Peng 近日详细介绍并发布了一个概念验证(PoC)代码,针对被指定为 CVE-2024-38077(CVSS 9.8)的严重漏洞。这个被称为“MadLicense”的漏洞影响所有版本的 Windows Server,从 2000 年到 2025 年。这个无需用户交互的远程代码执行(RCE)漏洞,能够让攻击者在不需要任何用户操作的情况下,完全控制目标服务器。
高曝光,高影响
Windows 远程桌面许可服务(RDL)负责管理远程桌面服务的许可证,在许多组织中被广泛使用。更令人担忧的是,研究人员发现至少有 17 万个 RDL 服务直接暴露在互联网上,极易受到攻击。此外,RDL 服务通常集成在关键业务系统和远程桌面集群中,进一步放大了此漏洞的潜在影响。
利用 MadLicense:简单的堆溢出
MadLicense 漏洞源自 CDataCoding::DecodeData 过程中的简单堆溢出。通过操控用户输入,攻击者可以触发缓冲区溢出,在 RDL 服务上下文中执行任意代码。
研究人员成功在 Windows Server 2025 上演示了概念验证(PoC),成功率接近 100%。该漏洞绕过了包括最近引入的 LFH 缓解措施在内的所有现代防护机制。
虽然 PoC 主要针对 Windows Server 2025,但研究人员强调,在更早版本的 Windows Server 上漏洞利用的速度和效率更高,因为旧版本的缓解措施较少。PoC 代码原本旨在加载远程 DLL,但研究人员指出,只需稍作修改,就可以在 RDL 进程中执行任意 shellcode,使得攻击更具隐蔽性。
负责任的披露与补丁
在公开发布 PoC 代码的一个月前,研究人员已负责任地将该漏洞披露给微软。尽管微软在其 7 月的安全补丁中修复了该漏洞,但最初将其标记为“利用可能性不高”的决定,揭示了低估此类威胁的风险。
为了提高系统安全性,如果您不再需要该服务,建议将其禁用。这是减少安全漏洞风险的最佳做法。
PoC 漏洞代码浮出水面
令人担忧的是,一名研究人员报告称,在 GitHub 上发现了针对 CVE-2024-38077 的 PoC 漏洞代码。尽管该代码的真实性尚未得到证实,但其潜在存在进一步突显了及时打补丁的重要性。
后续
目前该Poc漏洞代码已经在Github上公布,并且已经在本地漏洞复现!
Github以下是部分调用堆栈:
0:012> k
# Child-SP RetAddr Call Site
00 000000b9`d2ffbd30 00007fff`67a76fec lserver!CDataCoding::DecodeData
01 000000b9`d2ffbd70 00007fff`67a5c793 lserver!LKPLiteVerifyLKP+0x38
02 000000b9`d2ffbdc0 00007fff`67a343eb lserver!TLSDBTelephoneRegisterLicenseKeyPack+0x163
03 000000b9`d2ffd7d0 00007fff`867052a3 lserver!TLSRpcTelephoneRegisterLKP+0x15b
04 000000b9`d2fff0c0 00007fff`8664854d RPCRT4!Invoke+0x73
05 000000b9`d2fff120 00007fff`86647fda RPCRT4!NdrStubCall2+0x30d
06 000000b9`d2fff3d0 00007fff`866b7967 RPCRT4!NdrServerCall2+0x1a
07 000000b9`d2fff400 00007fff`86673824 RPCRT4!DispatchToStubInCNoAvrf+0x17
08 000000b9`d2fff450 00007fff`866729e4 RPCRT4!RPC_INTERFACE::DispatchToStubWorker+0x194
09 000000b9`d2fff520 00007fff`86688d4a RPCRT4!RPC_INTERFACE::DispatchToStub+0x1f4
0a 000000b9`d2fff7c0 00007fff`86688af1 RPCRT4!OSF_SCALL::DispatchHelper+0x13a
0b 000000b9`d2fff8e0 00007fff`86687809 RPCRT4!OSF_SCALL::DispatchRPCCall+0x89
0c 000000b9`d2fff910 00007fff`86686398 RPCRT4!OSF_SCALL::ProcessReceivedPDU+0xe1
0d 000000b9`d2fff9b0 00007fff`86697f4c RPCRT4!OSF_SCONNECTION::ProcessReceiveComplete+0x34c
0e 000000b9`d2fffab0 00007fff`840377f1 RPCRT4!CO_ConnectionThreadPoolCallback+0xbc
0f 000000b9`d2fffb30 00007fff`867f7794 KERNELBASE!BasepTpIoCallback+0x51
10 000000b9`d2fffb80 00007fff`867f7e37 ntdll!TppIopExecuteCallback+0x1b4
11 000000b9`d2fffc00 00007fff`85b11fd7 ntdll!TppWorkerThread+0x547
12 000000b9`d2ffff60 00007fff`8683d9c0 KERNEL32!BaseThreadInitThunk+0x17
13 000000b9`d2ffff90 00000000`00000000 ntdll!RtlUserThreadStart+0x20





评论 (0)