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 认证路径的补丁
能连接域控 Netlogon RPC
→ 利用 AES-CFB8 / 固定 IV 缺陷伪造计算机认证
→ 冒充域控计算机账户
→ 利用密码更新能力改变该账户在 AD 中的 secret
→ 进一步获取域凭据 / 域控权限
→ 域内横向移动与持久化- 后续凭据获取和域控制是利用链步骤,不应把一次认证成功直接写成已经完成域接管
- 主要利用链修改域控计算机账户密码,可破坏其 AD 密码与本地 secret 的一致性,导致认证、复制等故障
影响范围与评分差异
| 对象 | 判断边界 |
|---|---|
| Windows AD 域控 | 核心攻击目标,包括只读域控 RODC;需覆盖 forest 中所有 DC |
| 历史 Windows Server | Microsoft 记录枚举 2008 R2 SP1、2012/2012 R2、2016、2019,以及 1903、1909、2004、20H2 等版本,包含相应 Server Core 安装 |
| 普通成员机、客户端 | 可涉及不合规 Netlogon 连接的兼容性排查;不能将所有加入域的 Windows 机器等同于同样的域控攻击目标 |
| Samba / 第三方 AD 实现与设备 | 必须依据各自版本、secure channel 默认值和厂商公告判断,不能直接套 Windows KB |
评分来源不一致
本次读取的 NVD 数据保留 [email protected] 的 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 deployment | 2020-08-11 起 | 保护 Windows 设备账户、trust account 和所有 DC,增加事件与兼容性例外,并允许管理员提前启用全面强制模式 |
| Enforcement | 2021-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
- bvcyber/CVE-2020-1472GitHubbvcyber/CVE-2020-1472Zerologon - Netlogon Remote Protocol(MS-NRPC)的密码学认证缺陷,可未认证冒充计算机账户并进一步控制 Active Directory 域 · Microsoft 标题: · 严重性:CVSS 3.1 10.0 Critical(NVD;当前 CNA 评分差异见下文)笔记:CVE-2020-1472
- MIT, Python, Impacket
- 发现方提供的认证绕过检测器;旧地址
SecuraBV/CVE-2020-1472现重定向至该仓库 - 已静态核对 zerologon_tester.pyGitHub 文件bvcyber/CVE-2020-1472/zerologon_tester.py,固定 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 证明或排除域接管
参考
- Microsoft Security Update Guide链接msrc.microsoft.com/update-guide/vulnerability/CVE-2020-1472Zerologon - Netlogon Remote Protocol(MS-NRPC)的密码学认证缺陷,可未认证冒充计算机账户并进一步控制 Active Directory 域 · Microsoft 标题: · 严重性:CVSS 3.1 10.0 Critical(NVD;当前 CNA 评分差异见下文)笔记:CVE-2020-1472
- Microsoft:Netlogon secure channel 两阶段更新、强制模式与事件 ID
- CVE Record 固定 JSONGitHub 文件CVEProject/cvelistV5/cves/2020/1xxx/CVE-2020-1472.json
- NVD链接nvd.nist.gov/vuln/detail/CVE-2020-1472Zerologon - Netlogon Remote Protocol(MS-NRPC)的密码学认证缺陷,可未认证冒充计算机账户并进一步控制 Active Directory 域 · Microsoft 标题: · 严重性:CVSS 3.1 10.0 Critical(NVD;当前 CNA 评分差异见下文)笔记:CVE-2020-1472、NVD JSON API
- 发现方公告:Zerologon
- Tom Tervoort:Zerologon 技术白皮书,2020-09
- CISA KEV 官方镜像GitHub 文件cisagov/kev-data/known_exploited_vulnerabilities.json
- Microsoft:计算机账户变更事件 4742
关联信息
反向链接、本文链接的其他页面和外部资料。
参考资料
GitHub4 条
- bvcyber/CVE-2020-1472github.com/bvcyber/CVE-2020-1472
- bvcyber/CVE-2020-1472/zerologon_tester.pygithub.com/bvcyber/CVE-2020-1472/blob/93b7e276c2fea9a4149a631c0d359f9b45dc45a9/zerologon_tester.py
- cisagov/kev-data/known_exploited_vulnerabilities.jsongithub.com/cisagov/kev-data/blob/main/known_exploited_vulnerabilities.json
- CVEProject/cvelistV5/cves/2020/1xxx/CVE-2020-1472.jsongithub.com/CVEProject/cvelistV5/blob/ec21f4c5cb7fe23dcd082b5b17652d6cce6adcd9/cves/2020/1xxx/CVE-2020-1472.json
其他外链7 条
- cybersecurity.bureauveritas.com/blog/zero-logoncybersecurity.bureauveritas.com/blog/zero-logon
- cybersecurity.bureauveritas.com/uploads/whitepapers/Zerologon.pdfcybersecurity.bureauveritas.com/uploads/whitepapers/Zerologon.pdf
- learn.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4742learn.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4742
- msrc.microsoft.com/update-guide/vulnerability/CVE-2020-1472msrc.microsoft.com/update-guide/vulnerability/CVE-2020-1472
- nvd.nist.gov/vuln/detail/CVE-2020-1472nvd.nist.gov/vuln/detail/CVE-2020-1472
- services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-2020-1472services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-2020-1472
- support.microsoft.com/en-us/topic/how-to-manage-the-changes-in-netlogon-secure-channel-connections-associated-with-cve-2020-1472-f7e8cc17-0309-1d6a-304e-5ba73cd1a11esupport.microsoft.com/en-us/topic/how-to-manage-the-changes-in-netlogon-secure-channel-connections-associated-with-cve-2020-1472-f7e8cc17-0309-1d6a-304e-5ba73cd1a11e