路徑:C:\Windows\System32\config\SAMpython
當咱們登陸系統的時候,系統會自動的讀取SAM文件中的「密碼」與咱們輸入的「密碼」進行對比,若是相同,證實認證成功。算法
NTML Hash是支持Net NTLM認證協議及本地認證過程當中的一個重要參與物,其長度爲32位,由數字與字母組成。數據庫
Windows自己不存儲用戶的明文密碼,他會將用戶的明文密碼通過加密算法後存儲在SAM數據庫中。安全
當用戶登陸時,將用戶輸入的明文密碼也加密成NTLM Hash,與SAM數據庫中的NTLM Hash進行比較。NTLM Hash的前身是LM Hash,目前基本淘汰,但仍是存在於window xp/2003中。服務器
上圖使用python庫加密。網絡
admin à hex(16禁進制編碼) = 61646d696e編碼
61646d696e àUnicode = 610064006d0069006e00加密
610064006d0069006e00àMD4 = 209c6174da490caeb422f3fa5a7ae634code
adminà= 209c6174da490caeb422f3fa5a7ae634blog
Windows Logon Process(即winlogon.exe),是Windows NT用戶登陸程序,用於管理用戶登陸和退出。
LSASS用於微軟Windows系統的安全機制。它用於本地安全和登陸策略。
加密過程:
第一步是將明文口令轉換爲其大寫形式;
第二步是將字符串大寫後轉換爲16進制字符串;
第三步是密碼不足14字節要求用0補全;
第四步是將上述編碼分紅2組7字節(56bits=14*4)的數據;
第五步是將每一組7字節的十六進制轉換爲二進制,每7bit一組末尾加0,再轉換成十六進制組成獲得2組8字節的編碼;
第六步將以上步驟獲得的兩組8字節編碼,分別做爲DES加密key爲魔術字符串「KGS!@#$% 」進行加密;
第七步將兩組DES加密後的編碼拼接。
在內網滲透中,常常遇到工做組環境,而工做組環境是一個邏輯上的網絡環境(工做區),隸屬於工做組的機器之間沒法互相創建一個完美的信任機制,只能點對點,是比較落後的認證方式,沒有信任機構。
假設A主機與B主機屬於同一個工做組環境,A想訪問B主機上的資料,須要將一個存在於B主機上的帳戶憑證發送給B主機,通過認證才能訪問B主機上的資源。
最多見的服務:SMB服務 端口:445
早期SMB(文件共享)協議在網絡上傳輸明文口令。後來出現LAN Manger challenge/Response驗證機制,簡稱LM,它是如此簡單以致於很容易就被破解。
微軟提出了WindowsNT挑戰/響應驗證機制,稱之爲NTLM。如今已經有了更新的NTLMv2以及Kerberos驗證體系。
流程:
第一步協商:
客戶端主要在這一步向服務器確認協議版本,是V1仍是V2以及其它信息。
第二步質詢:
客戶端向服務器端發送用戶信息(用戶名)請求
第三步驗證:
服務器端收到客戶端的response後,比對challenge1與response是否至關,若至關,則認證經過。
————————————————還有後續哦—————————————————————————————————————————————————————————————————————————————————————————————————