哈希傳遞
-
- 概念
- 散列值
- 使用NTLM Hash進行哈希傳遞
概念
哈希傳遞通過找到與賬戶相關的密碼散列值(NTLM Hash)來攻擊。在域環境中,使用者登入計算機時使用的大都是域賬号,大量計算機在安裝時會使用相同的本地管理者賬号和密碼,如果計算機的本地管理者賬号和密碼都是相同的,攻擊者就能使用哈希傳遞方法登陸内網中的其他計算機。同時,通過哈希傳遞攻擊,攻擊者不需要花時間破解密碼散列值。
散列值在Windows中是用來證明身份的,攻擊者往往會使用第三方工具來完成任務。在win2012之後的版本,預設記憶體中不會記錄明文密碼,是以攻擊者往往會使用工具将散列值傳遞到其他計算機中,進行權限驗證,實作對遠端計算機的控制。
散列值
如果該網站使用明文的方式儲存使用者的密碼,一旦該網站出現安全漏洞,所有使用者的明文密碼均會被洩露。當使用者設定密碼時,網站伺服器會對使用者輸入的密碼進行散列加密處理。散列加密算法一般為單向不可逆算法。當使用者登入網站時,會先對使用者輸入的密碼進行散列加密處理,再與資料庫中存儲的散列值進行對比,如果完全相同則表示驗證成功。
主流的Windows作業系統會使用
NTLM Hash
對通路資源的使用者進行身份驗證。早起版本的Windows作業系統,使用的是
LM Hash
對使用者密碼進行驗證。當密碼大于等于15位時,就無法使用LM Hash了。從win2008後就預設禁用了LM Hash了,因為在使用NTLM Hash進行身份認證時,不會使用明文密碼,而是将明文密碼通過系統API轉換成散列值。攻擊者在獲得密碼散列值後,依舊可以使用哈希傳遞攻擊來模拟使用者進行認證。
使用NTLM Hash進行哈希傳遞
實驗環境: 遠端系統
- 域名:hacke.testlab
- IP位址:192.168.108.104
- 使用者名:administrator
- NTLM Hash:
7e96950fe6fe7b0809390bf6b0eb1922
首先我們現在域控機器上擷取到administrator對應的ntlm值
在目标機器中,以管理者權限運作mimikatz
至此我們已經可以控制域控制器了