针对 CVE-2020-1472(又称 Zerologon)的检测与利用代码
测试域控制器是否易受 Zerologon 攻击,如果存在漏洞,会将域控制器的账户密码重置为空字符串。
注意:在生产环境中执行该操作很可能会导致系统故障(例如 DNS 功能异常、与副本域控制器的通信中断等);目标客户端将无法再向域进行身份验证,并且只能通过手动操作才能重新同步。
Zerologon 的原始研究及白皮书由 Secura 公司(Tom Tervoort)发布 - https://www.secura.com/blog/zero-logon
该工具会尝试执行 Netlogon 认证绕过。当目标域控制器已打补丁时,检测脚本在发送 2000 对 RPC 调用后会放弃,并报告目标不存在漏洞(误报概率为 0.04%)。
利用成功的前提是:域控制器使用 Active Directory 中存储的密码来验证登录尝试,而不是本地存储的密码;因为通过这种方式更改密码时,密码仅会在 AD 中被修改。目标系统本身仍然会在本地保存其原始密码。
1. git clone https://github.com/SecureAuthCorp/impacket
2. cd impacket
3. pwd ~/impacket/
4. virtualenv --python=python3 impacket
5. source impacket/bin/activate
6. pip install --upgrade pip
7. pip install
~/impacket/
cd examples
git clone https://github.com/Akash7350/CVE-2020-1472/tree/main
cd CVE-2020-1472
pip install -r requirements.txt

https://www.secura.com/whitepapers/zerologon-whitepaper https://github.com/Akash7350/CVE-2020-1472/blob/main/Report%20CVE%20CVE-2020-1472.pdf