目录导航
SafeBreach Labs 发现了 Windows 轻量级目录访问协议 (LDAP) 服务中的一个零点击漏洞,被称为“LDAP 噩梦”。该漏洞被标记为 CVE-2024-49113,CVSS 评分为 7.5,凸显了其对企业网络的严重影响。SafeBreach 研究人员演示了该漏洞如何导致未打补丁的 Windows 服务器(包括 Active Directory 域控制器 (DC))崩溃。
CVE-2024-49113 于 2024 年 12 月 10 日微软补丁星期二期间首次披露,是 LDAP 中的远程代码执行 (RCE) 漏洞。LDAP 是 Microsoft Active Directory 不可或缺的一部分,可促进组织网络之间的目录服务通信。SafeBreach Labs 团队强调:“在 DC 上运行代码或通过 DC 提升用户权限的能力严重影响网络安全态势。 ”
尽管微软承认存在风险,但在 SafeBreach 进行分析之前,有关漏洞利用途径的详细信息仍然很少。研究人员指出:“我们作为一个团队决定优先考虑这个问题,并为我们所发现的结果感到自豪,这些结果将帮助企业解决任何潜在的风险。”
SafeBreach 开发了一个概念验证 (PoC) 漏洞,展示了 CVE-2024-49113 漏洞的破坏性影响。他们的研究结果表明,该漏洞:
- 除 DNS 服务器的 Internet 连接外,不需要任何身份验证或先决条件。
- 可以通过 LDAP 查询触发 LSASS(本地安全机构子系统服务)崩溃,从而使未修补的 Windows 服务器崩溃。
漏洞利用过程:
- 向受害服务器发送 DCE/RPC 请求。
- 触发有关攻击者控制的域的 DNS SRV 查询(例如 SafeBreachLabs.pro)。
- 操纵 NetBIOS 和 CLDAP 响应,将受害者重定向到攻击者的 LDAP 服务器。
- 使用精心设计的 LDAP 引用响应来破坏受害者的 LSASS 并强制重新启动。
SafeBreach 在其调查结果中强调了该技术:“该条件检查‘lm_referral’值是否在‘引用表’范围内。在没有补丁的易受攻击的版本中,这个‘lm_referral’值确实用于访问引用表内的某个偏移量。”
此漏洞影响所有未修补的 Windows Server 版本,从 Windows Server 2019 到 2022。利用此漏洞可以让对手完全控制域资源或破坏关键基础设施。
为了降低风险,组织应该:
- 立即应用微软的补丁。SafeBreach 证实该补丁可有效防止漏洞利用。
- 监视可疑活动,例如异常的 CLDAP 引荐响应、DsrGetDcNameEx2 调用或 DNS SRV 查询。
CVE-2024-49113 PoC
SafeBreach 还发布了一个 PoC 工具,用于测试针对 CVE-2024-49113 的易受攻击的 Windows Server,该工具可在其GitHub 存储库中获取。
https://github.com/SafeBreach-Labs/CVE-2024-49113/archive/refs/heads/main.zip
LDAP Nightmare
视频演示
用法
- 安装依赖项:确保安装了所有必需的 Python 包。您可以使用
pip
提供的requirements.txt
文件安装它们:
pip install -r requirements.txt
- 配置漏洞:
target_ip
:目标机器的IP地址。port
:RPC 通信的 TCP 端口(默认值:49664)。listen_port
:漏洞服务器监听的 UDP 端口(默认值:389)。如果不更改,则需要以管理员或 root 权限运行该工具domain_name
:攻击者在互联网上拥有的域名。此域名下必须有两个 DNS SRV 记录。(SRV 记录将一个域名映射到一个端口和另一个域名):- _ldap._tcp.dc._msdcs。-
domain_name
>listen_port
attacker's machine hostname
- _ldap._tcp.默认第一个站点名称._sites.dc._msdcs。-
domain_name
>listen_port
attacker's machine hostname
- 注意 –
attacker's machine hostname
假设受害服务器可以使用 NBNS 通过其主机名找到攻击者机器,则此方法可行。此值可以替换为互联网上的域名,而不是攻击者的主机名,该域名指向利用此漏洞的恶意 LDAP 服务器的 IP。
- _ldap._tcp.dc._msdcs。-
account
:账户名参数(默认:Administrator)。site_name
:站点名称参数(默认:空字符串)。
用法
python LdapNightmare.py <target_ip> --domain-name <domain_name> [options]
例子:
python LdapNightmare.py 192.168.1.100 --domain-name example.com
工作原理
- 启动漏洞服务器:该脚本启动一个异步 LDAP 服务器,该服务器侦听指定 UDP 端口上的传入连接。
- 调用
DsrGetDcNameEx2
:该脚本DsrGetDcNameEx2
通过 Netlogon 远程协议调用该函数来触发受害服务器向攻击者发送 LDAP 查询。 - 触发漏洞:通过发送特制的响应,该漏洞会触发 CVE-2024-49113 漏洞,导致受害服务器崩溃
参考
作者 – Or Yair 和 Shahak Morag
Or Yair | Shahak Morag | |
---|---|---|
Or Yair | Shahak Morag | |
@oryair1999 | @shahakmo |
SafeBreach Labs 的安全部门澄清说,技术细节和概念验证漏洞针对的是 CVE-2024-49113(Windows 轻量级目录访问协议 (LDAP) 拒绝服务漏洞),而不是 CVE–2024-49112。
https://twitter.com/TalBeerySec/status/1874738910359871525
转载请注明出处及链接