跳至正文
Wener Notes

CVE-2020-1472

约 5 分钟阅读
  • Zerologon - Netlogon Remote Protocol(MS-NRPC)的密码学认证缺陷,可未认证冒充计算机账户并进一步控制 Active Directory 域
  • Microsoft 标题:Netlogon Elevation of Privilege Vulnerability
  • 严重性:CVSS 3.1 10.0 Critical(NVD;当前 CNA 评分差异见下文)
    • CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • Microsoft 首批修复:2020-08-11;CVE Record 公开:2020-08-17;资料核对:2026-10-23
  • 发现者:Secura 的 Tom Tervoort,现有资料入口已迁至 Bureau Veritas Cybersecurity
  • CISA KEV 收录:2021-11-03;有已知在野利用和勒索软件活动记录
  • 同为 10 分的 Log4Shell 是应用日志/JNDI RCE;Zerologon 的主要目标是域控认证与域权限

成因与利用条件

  • Netlogon 使用共享的计算机账户 secret,结合 client/server challenge 派生 session key,再用 credential 证明客户端身份
  • ComputeNetlogonCredential 使用 AES-CFB8,但将 IV 固定为 16 个零字节,违背安全使用该模式的要求
  • 对约 1/256 的 session key,全零输入会产生全零输出;重新握手改变 server challenge,进而改变 session key
    • 攻击者可反复尝试伪造 credential;研究方给出的平均尝试次数为 256
    • 这不是破解 AES 密钥或穷举密码;256 是概率期望,不是每次攻击的固定次数或完成时间
  • 未修复服务允许协商不使用 RPC signing/sealing,使不知道 session key 的攻击者仍可继续利用这条协议路径
  • 攻击者需要能连接受影响域控的 Netlogon RPC;不要求预先知道域凭据,也不要求中间人位置
    • 研究方描述的是可通过 TCP 连接域控的网络立足点,常见于内部网络
    • AV:N 不等于域控必须暴露公网,也不等于能从任意互联网位置直接利用
    • Nginx、Web 登录、MFA 和用户密码强度不是这条 RPC 认证路径的补丁
text
能连接域控 Netlogon RPC
  → 利用 AES-CFB8 / 固定 IV 缺陷伪造计算机认证
  → 冒充域控计算机账户
  → 利用密码更新能力改变该账户在 AD 中的 secret
  → 进一步获取域凭据 / 域控权限
  → 域内横向移动与持久化
  • 后续凭据获取和域控制是利用链步骤,不应把一次认证成功直接写成已经完成域接管
  • 主要利用链修改域控计算机账户密码,可破坏其 AD 密码与本地 secret 的一致性,导致认证、复制等故障

影响范围与评分差异

对象判断边界
Windows AD 域控核心攻击目标,包括只读域控 RODC;需覆盖 forest 中所有 DC
历史 Windows ServerMicrosoft 记录枚举 2008 R2 SP1、2012/2012 R2、2016、2019,以及 1903、1909、2004、20H2 等版本,包含相应 Server Core 安装
普通成员机、客户端可涉及不合规 Netlogon 连接的兼容性排查;不能将所有加入域的 Windows 机器等同于同样的域控攻击目标
Samba / 第三方 AD 实现与设备必须依据各自版本、secure channel 默认值和厂商公告判断,不能直接套 Windows KB

评分来源不一致

本次读取的 NVD 数据保留 nvd@nist.gov 的 CVSS 3.1 10.0;Microsoft CNA 的固定 JSON 则给出 5.5 Medium,向量为 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N/E:P/RL:O/RC:C。

CNA 向量与同一记录中“未认证攻击者经 MS-NRPC 连接域控并取得域管理员权限”的文字描述不一致,原因未核实。目录索引采用 NVD 的 10.0,不把两个来源合并,也不据较低分数降低修复优先级。

修复与强制模式

Microsoft 通过两阶段更新部署 secure RPC 要求;这是历史发布过程,当前应使用对应受支持系统的累积更新和现行厂商指导。

阶段时间行为
Initial deployment2020-08-11 起保护 Windows 设备账户、trust account 和所有 DC,增加事件与兼容性例外,并允许管理员提前启用全面强制模式
Enforcement2021-02-09 起默认强制 Windows 和非 Windows 设备使用安全 Netlogon RPC;不再靠旧注册表开关退出,但显式例外策略仍需审计
  • 更新 forest 中全部 DC 和 RODC,按各 Windows Server 产品和补丁通道核对;不存在一个适用于所有系统的统一 KB
  • 初始更新已经阻断研究方描述的高影响域控接管链;不能把 2020 年 8 月补丁写成毫无保护、必须等到 2021 年才修复
  • 按 Microsoft 指导识别并更新不合规设备,消除 secure channel 的兼容性例外
    • Domain controller: Allow vulnerable Netlogon secure channel connections 中允许的账户,即使在 enforcement mode 下也可能继续建立脆弱连接
    • FullSecureChannelProtection 是初始部署阶段启用强制模式的历史开关,不作为现代系统关闭保护的操作建议
    • 旧版 Server 2008 R2 SP1 的当时更新涉及 ESU 资格;不能仅凭系统名称或版本号推断已安装修复
  • 限制非必要设备访问域控 RPC/SMB、分段网络、监控计算机账户与复制权限,只减少暴露和后续影响,不能代替补丁
  • 对已发生攻击的域控,应按 AD 事件响应和恢复流程处理账户 secret、复制、凭据与持久化;不要盲目清空密码、重置全部账户或自行模拟 exploit 恢复步骤

PoC

    • MIT, Python, Impacket
    • 发现方提供的认证绕过检测器;旧地址 SecuraBV/CVE-2020-1472 现重定向至该仓库
    • 已静态核对 ,固定 commit 93b7e276c2fea9a4149a631c0d359f9b45dc45a9
    • 代码只进行 challenge/authentication,在成功后停止;没有执行密码修改或凭据提取,不能将检测器标成完整域接管 exploit
    • 最多 2,000 轮;项目给出的约 0.04% 假阴性是基于概率模型的声明,不覆盖网络故障、参数错误或检测阻断

主动检测与破坏性利用

该检测器会向域控发送真实 RPC 认证尝试,不是纯读取补丁信息。其他完整 exploit 可能修改域控计算机账户密码、破坏域服务;运行前需要明确实验范围和恢复方案。此处没有安装 Impacket、发送认证请求或运行任何 exploit。

利用情报与排查

  • CISA KEV 2026.10.21 快照列出本 CVE,dateAdded=2021-11-03、knownRansomwareCampaignUse=Known
    • KEV 加入日期不是首次攻击日期;应与补丁发布时间和具体攻击证据分别记录
  • 优先核对 DC 更新、secure RPC 强制行为和 allow-vulnerable 例外,再关联 Netlogon、AD 账户变更、复制访问及 EDR 记录
Netlogon System Event ID含义与边界
5827、5828脆弱 secure channel 被拒绝;可来自不合规设备,单条事件不等于攻击成功
5829初始部署阶段允许脆弱连接的告警;2021-02 enforcement 更新后不再生成,缺失不能当作安全证明
5830、5831因 allow-vulnerable 组策略例外允许连接,需检查是否仍有必要
  • 结合 4742 等计算机账户变更、域控机器账户异常密码变化、可疑目录复制和后续凭据使用判断;相关事件能否出现取决于审计策略与日志保留
  • 认证失败、批量重试或不合规设备告警只是线索;不能仅依赖一个 Event ID 证明或排除域接管

参考

关联信息

反向链接、本文链接的其他页面和外部资料。

参考资料

GitHub4 条
其他外链7 条
最近更新commit c5df7af编辑