需使用来自 GitHub 的最新版 impacket,并添加了 netlogon 结构。
请注意,默认情况下此操作会更改域控制器帐户的密码。是的,这允许你执行 DCSync,但它也会中断与其他域控制器的通信,因此请谨慎操作!
更多信息及原始研究请参见 此处
仅适用于 Python 3.6 及以上版本!如果你的操作系统预装了 impacket(如 Kali),请先移除所有现有安装。如果之后仍然出现导入错误,请从 virtualenv 或 pipenv 中运行。
cve-2020-1472-exploit.py-just-dc 和 -no-pass 或空哈希以及 DCHOSTNAME$ 帐户如果你安装了 2020 年 9 月 15 日或之后更新的 GitHub 版 impacket,则在转储本地注册表密钥时,secretsdump 会自动转储明文机器密码(十六进制编码)。请注意,这与 DCSync 不同,因为 DCSync 使用的是机器帐户,而转储注册表需要你以域管理员(如内置的 Administrator 帐户)身份对域控制器执行 secretsdump。
或者,在稍旧版本的 secretsdump 上,你可以先提取注册表配置单元,然后离线运行 secretsdump 来转储相同的密码(由于无法计算 Kerberos 哈希,它将始终打印明文密钥)。
使用此明文密码,你可以运行带有 -hexpass 参数的 restorepassword.py。该工具将首先使用空密码向同一 DC 进行身份验证,然后将密码恢复为原始密码。确保再次提供目标 NetBIOS 名称和 IP,例如:
python restorepassword.py testsegment/s2016dc@s2016dc -target-ip 192.168.222.113 -hexpass e6ad4c4f64e71cf8c8020aa44bbd70ee711b8dce2adecd7e0d7fd1d76d70a848c987450c5be97b230bd144f3c3...etc