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